@zohodesk/components 1.0.0-temp-252.4 → 1.0.0-temp-256.1

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 (419) hide show
  1. package/README.md +70 -3
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +323 -330
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +79 -79
  4. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
  5. package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +15 -0
  6. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
  7. package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +15 -0
  8. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
  9. package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +15 -0
  10. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
  11. package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +15 -0
  12. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
  13. package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +15 -0
  14. package/assets/Appearance/light/mode/Component_LightMode.module.css +323 -330
  15. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +79 -79
  16. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
  17. package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +15 -0
  18. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
  19. package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +15 -0
  20. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
  21. package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +15 -0
  22. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
  23. package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +15 -0
  24. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
  25. package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +15 -0
  26. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +323 -330
  27. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +79 -79
  28. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
  29. package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  30. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
  31. package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  32. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
  33. package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  34. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
  35. package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  36. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
  37. package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  38. package/cbt.config.js +12 -3
  39. package/es/Accordion/Accordion.js +2 -1
  40. package/es/Accordion/AccordionItem.js +3 -2
  41. package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  42. package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  43. package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  44. package/es/AppContainer/AppContainer.js +2 -1
  45. package/es/AppContainer/AppContainer.module.css +9 -3
  46. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  47. package/es/Avatar/Avatar.js +6 -6
  48. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  49. package/es/AvatarTeam/AvatarTeam.js +4 -3
  50. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  51. package/es/Button/Button.js +5 -4
  52. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  53. package/es/Button/css/cssJSLogic.js +10 -11
  54. package/es/Buttongroup/Buttongroup.js +4 -3
  55. package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  56. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  57. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  58. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  59. package/es/CheckBox/CheckBox.js +9 -8
  60. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  61. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  62. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  63. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +2 -1
  64. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  65. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  66. package/es/DateTime/CalendarView.js +4 -3
  67. package/es/DateTime/DateTime.js +8 -10
  68. package/es/DateTime/DateTimePopupFooter.js +2 -1
  69. package/es/DateTime/DateWidget.js +38 -14
  70. package/es/DateTime/Time.js +2 -1
  71. package/es/DateTime/YearView.js +5 -6
  72. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  73. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  74. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  75. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  76. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  77. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  78. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  79. package/es/DateTime/common.js +2 -9
  80. package/es/DateTime/dateFormatUtils/dateFormat.js +55 -76
  81. package/es/DateTime/dateFormatUtils/index.js +7 -12
  82. package/es/DateTime/dateFormatUtils/timeChange.js +3 -4
  83. package/es/DateTime/dateFormatUtils/yearChange.js +3 -4
  84. package/es/DropBox/DropBox.js +13 -5
  85. package/es/DropBox/DropBoxElement/DropBoxElement.js +21 -8
  86. package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  87. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +11 -12
  88. package/es/DropBox/DropBoxElement/props/propTypes.js +2 -1
  89. package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  90. package/es/DropDown/DropDown.js +2 -1
  91. package/es/DropDown/DropDownHeading.js +2 -1
  92. package/es/DropDown/DropDownItem.js +6 -5
  93. package/es/DropDown/DropDownSearch.js +2 -1
  94. package/es/DropDown/DropDownSeparator.js +2 -1
  95. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  96. package/es/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  97. package/es/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  98. package/es/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  99. package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  100. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  101. package/es/Label/Label.js +3 -2
  102. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  103. package/es/Layout/Box.js +1 -115
  104. package/es/Layout/Container.js +1 -132
  105. package/es/Layout/props/defaultProps.js +1 -16
  106. package/es/Layout/props/propTypes.js +1 -46
  107. package/es/ListItem/ListContainer.js +4 -5
  108. package/es/ListItem/ListItem.js +2 -1
  109. package/es/ListItem/ListItemWithAvatar.js +11 -4
  110. package/es/ListItem/ListItemWithCheckBox.js +11 -4
  111. package/es/ListItem/ListItemWithIcon.js +11 -4
  112. package/es/ListItem/ListItemWithRadio.js +11 -4
  113. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
  114. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
  115. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
  116. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
  117. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  118. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  119. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
  120. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
  121. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
  122. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
  123. package/es/ListItem/props/defaultProps.js +1 -0
  124. package/es/ListItem/props/propTypes.js +12 -3
  125. package/es/Modal/Portal/Portal.js +4 -5
  126. package/es/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  127. package/es/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  128. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -106
  129. package/es/MultiSelect/AdvancedMultiSelect.js +80 -83
  130. package/es/MultiSelect/EmptyState.js +5 -4
  131. package/es/MultiSelect/MobileHeader/MobileHeader.js +2 -1
  132. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  133. package/es/MultiSelect/MultiSelect.js +22 -26
  134. package/es/MultiSelect/MultiSelectWithAvatar.js +7 -4
  135. package/es/MultiSelect/Suggestions.js +14 -17
  136. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  137. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  138. package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  139. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  140. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  141. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  142. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  143. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  144. package/es/MultiSelect/props/defaultProps.js +3 -0
  145. package/es/MultiSelect/props/propTypes.js +1 -0
  146. package/es/PopOver/PopOver.js +3 -2
  147. package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  148. package/es/Popup/Popup.js +1 -4
  149. package/es/Provider/IdProvider.js +4 -5
  150. package/es/Provider/LibraryContext.js +15 -12
  151. package/es/Provider/NumberGenerator/NumberGenerator.js +15 -17
  152. package/es/Provider/ZindexProvider.js +4 -5
  153. package/es/Radio/Radio.js +5 -4
  154. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  155. package/es/Responsive/CustomResponsive.js +8 -11
  156. package/es/Responsive/ResizeComponent.js +1 -3
  157. package/es/Responsive/Responsive.js +9 -12
  158. package/es/Responsive/sizeObservers.js +1 -5
  159. package/es/ResponsiveDropBox/ResponsiveDropBox.js +10 -14
  160. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  161. package/es/Ribbon/Ribbon.js +8 -20
  162. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  163. package/es/RippleEffect/RippleEffect.js +1 -1
  164. package/es/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  165. package/es/Select/GroupSelect.js +103 -105
  166. package/es/Select/Select.js +120 -121
  167. package/es/Select/SelectWithAvatar.js +96 -97
  168. package/es/Select/SelectWithIcon.js +109 -111
  169. package/es/Select/__tests__/Select.spec.js +6 -9
  170. package/es/Select/__tests__/SelectWithIcon.spec.js +3 -1
  171. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  172. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  173. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  174. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  175. package/es/Select/props/defaultProps.js +4 -0
  176. package/es/Select/props/propTypes.js +3 -0
  177. package/es/Stencils/Stencils.js +2 -1
  178. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  179. package/es/Switch/Switch.js +4 -3
  180. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  181. package/es/Tab/Tab.js +83 -41
  182. package/es/Tab/Tab.module.css +72 -4
  183. package/es/Tab/TabContent.js +16 -19
  184. package/es/Tab/TabContentWrapper.js +19 -22
  185. package/es/Tab/TabWrapper.js +20 -17
  186. package/es/Tab/Tabs.js +133 -93
  187. package/es/Tab/Tabs.module.css +84 -15
  188. package/es/Tab/__tests__/Tab.spec.js +87 -0
  189. package/es/Tab/__tests__/Tabs.spec.js +11 -0
  190. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
  191. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  192. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  193. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  194. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  195. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
  196. package/es/Tab/props/defaultProps.js +10 -3
  197. package/es/Tab/props/propTypes.js +26 -4
  198. package/es/Tab/utils/tabConfigs.js +11 -0
  199. package/es/Tag/Tag.js +6 -6
  200. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  201. package/es/TextBox/TextBox.js +2 -1
  202. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  203. package/es/TextBoxIcon/TextBoxIcon.js +1 -1
  204. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  205. package/es/Textarea/Textarea.js +2 -1
  206. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  207. package/es/Tooltip/Tooltip.js +5 -4
  208. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  209. package/es/Typography/css/cssJSLogic.js +6 -7
  210. package/es/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  211. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -2
  212. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  213. package/es/common/basic.module.css +9 -8
  214. package/es/css.js +0 -1
  215. package/es/deprecated/Switch/Switch.js +4 -3
  216. package/es/semantic/Button/Button.js +2 -1
  217. package/es/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  218. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  219. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  220. package/es/utils/Common.js +10 -31
  221. package/es/utils/datetime/common.js +12 -9
  222. package/es/utils/dropDownUtils.js +7 -11
  223. package/es/utils/getInitial.js +1 -3
  224. package/es/v1/Button/Button.js +3 -1
  225. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  226. package/es/v1/Button/css/cssJSLogic.js +4 -8
  227. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  228. package/es/v1/Label/css/cssJSLogic.js +4 -5
  229. package/es/v1/Switch/Switch.js +4 -3
  230. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  231. package/es/v1/Switch/css/cssJSLogic.js +4 -5
  232. package/es/v1/helpers/colorHelpers/colorHelper.js +28 -39
  233. package/es/v1/shared/Loader/Loader.js +4 -3
  234. package/es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  235. package/es/v1/shared/SuccessTick/SuccessTick.js +2 -1
  236. package/es/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  237. package/lib/Accordion/Accordion.js +3 -1
  238. package/lib/Accordion/AccordionItem.js +4 -2
  239. package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  240. package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  241. package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  242. package/lib/AppContainer/AppContainer.js +3 -1
  243. package/lib/AppContainer/AppContainer.module.css +9 -3
  244. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  245. package/lib/Avatar/Avatar.js +6 -4
  246. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  247. package/lib/AvatarTeam/AvatarTeam.js +4 -2
  248. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  249. package/lib/Button/Button.js +6 -4
  250. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  251. package/lib/Button/css/cssJSLogic.js +3 -3
  252. package/lib/Buttongroup/Buttongroup.js +5 -3
  253. package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  254. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  255. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  256. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  257. package/lib/CheckBox/CheckBox.js +10 -8
  258. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  259. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  260. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  261. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +3 -1
  262. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  263. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  264. package/lib/DateTime/CalendarView.js +5 -3
  265. package/lib/DateTime/DateTime.js +6 -4
  266. package/lib/DateTime/DateTimePopupFooter.js +3 -1
  267. package/lib/DateTime/DateWidget.js +38 -9
  268. package/lib/DateTime/Time.js +3 -1
  269. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  270. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  271. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  272. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  273. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  274. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  275. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  276. package/lib/DropBox/DropBox.js +14 -5
  277. package/lib/DropBox/DropBoxElement/DropBoxElement.js +28 -8
  278. package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  279. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +2 -2
  280. package/lib/DropBox/DropBoxElement/props/propTypes.js +2 -1
  281. package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  282. package/lib/DropDown/DropDown.js +3 -1
  283. package/lib/DropDown/DropDownHeading.js +3 -1
  284. package/lib/DropDown/DropDownItem.js +7 -5
  285. package/lib/DropDown/DropDownSearch.js +3 -1
  286. package/lib/DropDown/DropDownSeparator.js +3 -1
  287. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  288. package/lib/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  289. package/lib/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  290. package/lib/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  291. package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  292. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  293. package/lib/Label/Label.js +3 -1
  294. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  295. package/lib/Layout/Box.js +7 -120
  296. package/lib/Layout/Container.js +7 -137
  297. package/lib/Layout/props/defaultProps.js +14 -19
  298. package/lib/Layout/props/propTypes.js +13 -52
  299. package/lib/ListItem/ListItem.js +3 -1
  300. package/lib/ListItem/ListItemWithAvatar.js +14 -4
  301. package/lib/ListItem/ListItemWithCheckBox.js +14 -4
  302. package/lib/ListItem/ListItemWithIcon.js +12 -4
  303. package/lib/ListItem/ListItemWithRadio.js +14 -4
  304. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
  305. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
  306. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
  307. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
  308. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  309. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  310. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
  311. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
  312. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
  313. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
  314. package/lib/ListItem/props/defaultProps.js +1 -0
  315. package/lib/ListItem/props/propTypes.js +12 -4
  316. package/lib/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  317. package/lib/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  318. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -6
  319. package/lib/MultiSelect/AdvancedMultiSelect.js +8 -4
  320. package/lib/MultiSelect/EmptyState.js +6 -4
  321. package/lib/MultiSelect/MobileHeader/MobileHeader.js +3 -1
  322. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  323. package/lib/MultiSelect/MultiSelect.js +57 -50
  324. package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -4
  325. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  326. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  327. package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  328. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  329. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  330. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  331. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  332. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  333. package/lib/MultiSelect/props/defaultProps.js +3 -0
  334. package/lib/MultiSelect/props/propTypes.js +1 -0
  335. package/lib/PopOver/PopOver.js +4 -2
  336. package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  337. package/lib/Provider/LibraryContext.js +5 -1
  338. package/lib/Radio/Radio.js +6 -4
  339. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  340. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  341. package/lib/Ribbon/Ribbon.js +8 -19
  342. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  343. package/lib/RippleEffect/RippleEffect.js +1 -1
  344. package/lib/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  345. package/lib/Select/GroupSelect.js +10 -6
  346. package/lib/Select/Select.js +14 -8
  347. package/lib/Select/SelectWithAvatar.js +10 -6
  348. package/lib/Select/SelectWithIcon.js +9 -5
  349. package/lib/Select/__tests__/SelectWithIcon.spec.js +3 -1
  350. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  351. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  352. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  353. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  354. package/lib/Select/props/defaultProps.js +5 -2
  355. package/lib/Select/props/propTypes.js +3 -0
  356. package/lib/Stencils/Stencils.js +3 -1
  357. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  358. package/lib/Switch/Switch.js +5 -3
  359. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  360. package/lib/Tab/Tab.js +59 -11
  361. package/lib/Tab/Tab.module.css +72 -4
  362. package/lib/Tab/TabWrapper.js +6 -2
  363. package/lib/Tab/Tabs.js +62 -14
  364. package/lib/Tab/Tabs.module.css +84 -15
  365. package/lib/Tab/__tests__/Tab.spec.js +88 -0
  366. package/lib/Tab/__tests__/Tabs.spec.js +12 -0
  367. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
  368. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  369. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  370. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  371. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  372. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
  373. package/lib/Tab/props/defaultProps.js +10 -3
  374. package/lib/Tab/props/propTypes.js +28 -4
  375. package/lib/Tab/utils/tabConfigs.js +15 -2
  376. package/lib/Tag/Tag.js +7 -5
  377. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  378. package/lib/TextBox/TextBox.js +3 -1
  379. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  380. package/lib/TextBoxIcon/TextBoxIcon.js +1 -1
  381. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  382. package/lib/Textarea/Textarea.js +3 -1
  383. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  384. package/lib/Tooltip/Tooltip.js +6 -4
  385. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  386. package/lib/Typography/css/cssJSLogic.js +1 -1
  387. package/lib/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  388. package/lib/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  389. package/lib/common/basic.module.css +9 -8
  390. package/lib/css.js +0 -2
  391. package/lib/deprecated/Switch/Switch.js +5 -3
  392. package/lib/semantic/Button/Button.js +3 -1
  393. package/lib/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  394. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  395. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  396. package/lib/utils/datetime/common.js +10 -2
  397. package/lib/v1/Button/Button.js +3 -1
  398. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  399. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  400. package/lib/v1/Switch/Switch.js +5 -3
  401. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  402. package/lib/v1/shared/Loader/Loader.js +5 -3
  403. package/lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  404. package/lib/v1/shared/SuccessTick/SuccessTick.js +3 -1
  405. package/lib/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  406. package/package.json +31 -28
  407. package/ut.config.js +106 -0
  408. package/es/Layout/Layout.module.css +0 -336
  409. package/es/Layout/__tests__/Box.spec.js +0 -11
  410. package/es/Layout/__tests__/Container.spec.js +0 -11
  411. package/es/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  412. package/es/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  413. package/es/Layout/utils.js +0 -30
  414. package/lib/Layout/Layout.module.css +0 -336
  415. package/lib/Layout/__tests__/Box.spec.js +0 -18
  416. package/lib/Layout/__tests__/Container.spec.js +0 -18
  417. package/lib/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  418. package/lib/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  419. package/lib/Layout/utils.js +0 -59
@@ -19,6 +19,7 @@ import { Container, Box } from "../Layout";
19
19
  import { getUniqueId } from "../Provider/IdProvider";
20
20
  import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox";
21
21
  import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
22
+ import { cn } from "@dot-system/css-utility";
22
23
  import style from "./Select.module.css";
23
24
  /**** Methods ****/
24
25
 
@@ -493,8 +494,7 @@ export class GroupSelectComponent extends PureComponent {
493
494
  isScrollReachedBottom && this.handleGetNextOptions();
494
495
  }
495
496
 
496
- handleFetchOptions(APICall) {
497
- let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
497
+ handleFetchOptions(APICall, searchStr = '') {
498
498
  // let funcArgs = args.slice(1, args.length);
499
499
  let {
500
500
  isFetchingOptions = false
@@ -537,10 +537,9 @@ export class GroupSelectComponent extends PureComponent {
537
537
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
538
538
  }
539
539
 
540
- responsiveFunc(_ref) {
541
- let {
542
- mediaQueryOR
543
- } = _ref;
540
+ responsiveFunc({
541
+ mediaQueryOR
542
+ }) {
544
543
  return {
545
544
  tabletMode: mediaQueryOR([{
546
545
  maxWidth: 700
@@ -593,6 +592,7 @@ export class GroupSelectComponent extends PureComponent {
593
592
  htmlId,
594
593
  iconOnHover,
595
594
  isLoading,
595
+ shouldUseInternalLoader,
596
596
  dataSelectorId,
597
597
  customProps,
598
598
  customClass
@@ -633,14 +633,15 @@ export class GroupSelectComponent extends PureComponent {
633
633
  dropBox: dropBoxClass = '',
634
634
  cardContent: cardContentClass = ''
635
635
  } = customClass;
636
+ const isInitialEmptyOptions = searchStr.length === 0 && revampedGroups.length === 0;
636
637
  return /*#__PURE__*/React.createElement("div", {
637
- className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
638
+ className: cn(`${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`),
638
639
  "data-id": dataIdSlctComp,
639
640
  "data-test-id": dataIdSlctComp,
640
641
  "data-title": isDisabled ? title : null,
641
642
  "data-selector-id": dataSelectorId
642
643
  }, /*#__PURE__*/React.createElement("div", {
643
- className: `${className ? className : ''}`,
644
+ className: cn(`${className ? className : ''}`),
644
645
  onClick: isDisabled || isReadOnly ? null : this.togglePopup,
645
646
  ref: getTargetRef,
646
647
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
@@ -716,107 +717,104 @@ export class GroupSelectComponent extends PureComponent {
716
717
  }, TextBoxProps)))), !isReadOnly && !isDisabled && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
717
718
  query: this.responsiveFunc,
718
719
  responsiveId: "Helmet"
719
- }, _ref2 => {
720
+ }, ({
721
+ tabletMode
722
+ }) => /*#__PURE__*/React.createElement(ResponsiveDropBox, {
723
+ animationStyle: animationStyle,
724
+ boxPosition: position || `${defaultDropBoxPosition}Center`,
725
+ getRef: getContainerRef,
726
+ isActive: isPopupReady,
727
+ isAnimate: true,
728
+ isArrow: false,
729
+ onClick: removeClose,
730
+ needResponsive: needResponsive,
731
+ isPadding: false,
732
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
733
+ positionsOffset: positionsOffset,
734
+ targetOffset: targetOffset,
735
+ isRestrictScroll: isRestrictScroll,
736
+ isResponsivePadding: getFooter ? false : true,
737
+ alignBox: "row",
738
+ dataId: `${dataId}_suggestionBox`,
739
+ customClass: {
740
+ customDropBox: dropBoxClass
741
+ }
742
+ }, (shouldUseInternalLoader ? isLoading : isLoading && isInitialEmptyOptions) ? /*#__PURE__*/React.createElement(Container, {
743
+ align: "both",
744
+ className: style.loader
745
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
746
+ flexible: true
747
+ }, /*#__PURE__*/React.createElement(Card, {
748
+ customClass: style.box,
749
+ onScroll: this.handleScroll
750
+ }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
751
+ className: cn(`${style.search} ${style[size]}`)
752
+ }, /*#__PURE__*/React.createElement(TextBoxIcon, {
753
+ inputRef: this.searchInputRef,
754
+ maxLength: maxLength,
755
+ onChange: this.handleSearch,
756
+ onKeyDown: this.handleKeyDown,
757
+ placeHolder: searchBoxPlaceHolder,
758
+ size: searchBoxSize,
759
+ value: searchStr,
760
+ onClear: this.handleClearSearch,
761
+ a11y: {
762
+ ariaControls: setAriaId,
763
+ ariaAutocomplete: 'list',
764
+ ariaDescribedby: ariaErrorId
765
+ },
766
+ autoComplete: false,
767
+ dataId: `${dataId}_search`
768
+ }))) : null, /*#__PURE__*/React.createElement(CardContent, {
769
+ shrink: true,
770
+ customClass: `${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
771
+ eleRef: this.suggestionContainerRef
772
+ }, suggestionGroups.length ? suggestionGroups.map(group => {
720
773
  let {
721
- tabletMode
722
- } = _ref2;
723
- return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
724
- animationStyle: animationStyle,
725
- boxPosition: position || `${defaultDropBoxPosition}Center`,
726
- getRef: getContainerRef,
727
- isActive: isPopupReady,
728
- isAnimate: true,
729
- isArrow: false,
730
- onClick: removeClose,
731
- needResponsive: needResponsive,
732
- isPadding: false,
733
- isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
734
- positionsOffset: positionsOffset,
735
- targetOffset: targetOffset,
736
- isRestrictScroll: isRestrictScroll,
737
- isResponsivePadding: getFooter ? false : true,
738
- alignBox: "row",
739
- dataId: `${dataId}_suggestionBox`,
740
- customClass: {
741
- customDropBox: dropBoxClass
774
+ id: groupId,
775
+ name: groupName,
776
+ options
777
+ } = group;
778
+ let hoverId = suggestionOptionIds[hoverIndex];
779
+ return /*#__PURE__*/React.createElement(React.Fragment, {
780
+ key: groupId
781
+ }, groupName && /*#__PURE__*/React.createElement("div", {
782
+ className: cn(style.groupTitle)
783
+ }, /*#__PURE__*/React.createElement(DropDownHeading, {
784
+ text: groupName,
785
+ a11y: {
786
+ role: 'heading'
742
787
  }
743
- }, isLoading ? /*#__PURE__*/React.createElement(Container, {
744
- align: "both",
745
- className: style.loader
746
- }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
747
- flexible: true
748
- }, /*#__PURE__*/React.createElement(Card, {
749
- customClass: style.box,
750
- onScroll: this.handleScroll
751
- }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
752
- className: `${style.search} ${style[size]}`
753
- }, /*#__PURE__*/React.createElement(TextBoxIcon, {
754
- inputRef: this.searchInputRef,
755
- maxLength: maxLength,
756
- onChange: this.handleSearch,
757
- onKeyDown: this.handleKeyDown,
758
- placeHolder: searchBoxPlaceHolder,
759
- size: searchBoxSize,
760
- value: searchStr,
761
- onClear: this.handleClearSearch,
788
+ })), /*#__PURE__*/React.createElement(Suggestions, _extends({
789
+ activeId: selectedId,
790
+ suggestions: options,
791
+ getRef: this.suggestionItemRef,
792
+ hoverId: hoverId,
793
+ onClick: this.handleChange,
794
+ onMouseEnter: this.handleMouseEnter,
795
+ selectedOptions: [selectedId],
796
+ needTick: needTick,
797
+ needBorder: false,
798
+ htmlId: setAriaId,
762
799
  a11y: {
763
- ariaControls: setAriaId,
764
- ariaAutocomplete: 'list',
765
- ariaDescribedby: ariaErrorId
800
+ ariaParentRole: 'listbox',
801
+ role: 'option'
766
802
  },
767
- autoComplete: false,
768
- dataId: `${dataId}_search`
769
- }))) : null, /*#__PURE__*/React.createElement(CardContent, {
770
- shrink: true,
771
- customClass: `${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
772
- eleRef: this.suggestionContainerRef
773
- }, suggestionGroups.length ? suggestionGroups.map(group => {
774
- let {
775
- id: groupId,
776
- name: groupName,
777
- options
778
- } = group;
779
- let hoverId = suggestionOptionIds[hoverIndex];
780
- return /*#__PURE__*/React.createElement(React.Fragment, {
781
- key: groupId
782
- }, groupName && /*#__PURE__*/React.createElement("div", {
783
- className: style.groupTitle
784
- }, /*#__PURE__*/React.createElement(DropDownHeading, {
785
- text: groupName,
786
- a11y: {
787
- role: 'heading'
788
- }
789
- })), /*#__PURE__*/React.createElement(Suggestions, _extends({
790
- activeId: selectedId,
791
- suggestions: options,
792
- getRef: this.suggestionItemRef,
793
- hoverId: hoverId,
794
- onClick: this.handleChange,
795
- onMouseEnter: this.handleMouseEnter,
796
- selectedOptions: [selectedId],
797
- needTick: needTick,
798
- needBorder: false,
799
- htmlId: setAriaId,
800
- a11y: {
801
- ariaParentRole: 'listbox',
802
- role: 'option'
803
- },
804
- dataId: `${dataId}_Options`
805
- }, SuggestionsProps)));
806
- }) : /*#__PURE__*/React.createElement(EmptyState, {
807
- options: revampedGroups,
808
- searchString: searchStr,
809
- suggestions: suggestionGroups,
810
- renderCustomEmptyState: renderCustomEmptyState,
811
- dataId: dataIdSrchEmptyMsg,
812
- isLoading: isFetchingOptions,
813
- i18nKeys: i18nKeys,
814
- htmlId: ariaErrorId
815
- }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
816
- isCover: false,
817
- align: "both"
818
- }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)));
819
- }) : null);
803
+ dataId: `${dataId}_Options`
804
+ }, SuggestionsProps)));
805
+ }) : /*#__PURE__*/React.createElement(EmptyState, {
806
+ options: revampedGroups,
807
+ searchString: searchStr,
808
+ suggestions: suggestionGroups,
809
+ renderCustomEmptyState: renderCustomEmptyState,
810
+ dataId: dataIdSrchEmptyMsg,
811
+ isLoading: isFetchingOptions,
812
+ i18nKeys: i18nKeys,
813
+ htmlId: ariaErrorId
814
+ }), (shouldUseInternalLoader ? isFetchingOptions : isLoading && !isInitialEmptyOptions) && /*#__PURE__*/React.createElement(Container, {
815
+ isCover: false,
816
+ align: "both"
817
+ }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)))) : null);
820
818
  }
821
819
 
822
820
  }
@@ -26,6 +26,7 @@ import { debounce, scrollTo, getIsEmptyValue, getSearchString, findScrollEnd, ge
26
26
  import { isRenderable, renderNode } from '@zohodesk/utils';
27
27
  /**** CSS ****/
28
28
 
29
+ import { cn } from "@dot-system/css-utility";
29
30
  import style from "./Select.module.css";
30
31
  /* eslint-disable react/no-deprecated */
31
32
 
@@ -218,10 +219,11 @@ export class SelectComponent extends Component {
218
219
  }
219
220
  }
220
221
 
221
- componentDidUpdate(prevProps) {
222
+ componentDidUpdate(prevProps, prevState) {
222
223
  let {
223
224
  searchStr,
224
- selectedValueIndex
225
+ selectedValueIndex,
226
+ hoverIndex
225
227
  } = this.state;
226
228
  let {
227
229
  needLocalSearch,
@@ -233,12 +235,13 @@ export class SelectComponent extends Component {
233
235
  isSearchClearOnClose
234
236
  } = this.props;
235
237
 
236
- if (isPopupOpen) {
238
+ if ((prevState.hoverIndex !== hoverIndex || prevState.selectedValueIndex !== selectedValueIndex) && isPopupOpen) {
237
239
  this.scrollToHighlightedIndex();
238
240
  }
239
241
 
240
242
  if (prevProps.isPopupOpen !== isPopupOpen) {
241
243
  if (isPopupOpen) {
244
+ this.scrollToHighlightedIndex();
242
245
  onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
243
246
  setTimeout(() => {
244
247
  this.searchInput && this.searchInput.focus({
@@ -325,10 +328,9 @@ export class SelectComponent extends Component {
325
328
  needCloseOnSelect && this.handlePopupClose(e);
326
329
  }
327
330
 
328
- responsiveFunc(_ref) {
329
- let {
330
- mediaQueryOR
331
- } = _ref;
331
+ responsiveFunc({
332
+ mediaQueryOR
333
+ }) {
332
334
  return {
333
335
  tabletMode: mediaQueryOR([{
334
336
  maxWidth: 700
@@ -508,8 +510,7 @@ export class SelectComponent extends Component {
508
510
  isScrollReachedBottom && this.handleGetNextOptions();
509
511
  }
510
512
 
511
- handleFetchOptions(APICall) {
512
- let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
513
+ handleFetchOptions(APICall, searchStr = '') {
513
514
  // let funcArgs = args.slice(1, args.length);
514
515
  let {
515
516
  isFetchingOptions = false
@@ -724,14 +725,13 @@ export class SelectComponent extends Component {
724
725
  });
725
726
  }
726
727
 
727
- getInputFieldLineA11y(_ref2) {
728
- let {
729
- setAriaId,
730
- isReadOnly,
731
- isDisabled,
732
- isPopupOpen,
733
- inputFieldLineA11y
734
- } = _ref2;
728
+ getInputFieldLineA11y({
729
+ setAriaId,
730
+ isReadOnly,
731
+ isDisabled,
732
+ isPopupOpen,
733
+ inputFieldLineA11y
734
+ }) {
735
735
  return {
736
736
  tabIndex: 0,
737
737
  role: 'button',
@@ -802,6 +802,7 @@ export class SelectComponent extends Component {
802
802
  autoComplete,
803
803
  ariaLabelledby,
804
804
  isLoading,
805
+ shouldUseInternalLoader,
805
806
  dataSelectorId,
806
807
  isAbsolutePositioningNeeded,
807
808
  positionsOffset,
@@ -846,6 +847,7 @@ export class SelectComponent extends Component {
846
847
  dropBox: dropBoxClass = '',
847
848
  cardContent: cardContentClass = ''
848
849
  } = customClass;
850
+ const isInitialEmptyOptions = searchStr.length === 0 && options.length === 0;
849
851
  const inputFieldLineA11yAttributes = this.getInputFieldLineA11y({
850
852
  setAriaId,
851
853
  isReadOnly,
@@ -854,11 +856,11 @@ export class SelectComponent extends Component {
854
856
  inputFieldLineA11y
855
857
  });
856
858
  return /*#__PURE__*/React.createElement("div", {
857
- className: `${isParentBased || isReadOnly || isDisabled ? style.container : ''} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
859
+ className: cn(`${isParentBased || isReadOnly || isDisabled ? style.container : ''} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`),
858
860
  "data-title": isDisabled ? title : null,
859
861
  "data-selector-id": dataSelectorId
860
862
  }, /*#__PURE__*/React.createElement("div", {
861
- className: `${className ? className : ''}`,
863
+ className: cn(`${className ? className : ''}`),
862
864
  onClick: isDisabled || isReadOnly ? null : this.togglePopup,
863
865
  ref: getTargetRef,
864
866
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
@@ -996,109 +998,106 @@ export class SelectComponent extends Component {
996
998
  })), !isReadOnly && !isDisabled && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
997
999
  query: this.responsiveFunc,
998
1000
  responsiveId: "Helmet"
999
- }, _ref3 => {
1000
- let {
1001
- tabletMode
1002
- } = _ref3;
1003
- return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
1004
- animationStyle: animationStyle,
1005
- boxPosition: position || `${defaultDropBoxPosition}`,
1006
- getRef: getContainerRef,
1007
- isActive: isPopupReady,
1008
- isAnimate: isAnimate && !isVirtualizerEnabled // Note: Virtualizer gets element height at mount itself which causes issue with options height
1009
- ,
1010
- isArrow: false,
1011
- onClick: removeClose,
1012
- needResponsive: needResponsive,
1013
- dataId: `${dataId}_suggestions`,
1014
- size: boxSize,
1015
- isPadding: false,
1016
- isResponsivePadding: getFooter ? false : true,
1017
- alignBox: "row",
1018
- isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1019
- positionsOffset: positionsOffset,
1020
- targetOffset: targetOffset,
1021
- isRestrictScroll: isRestrictScroll,
1022
- portalId: dropBoxPortalId,
1023
- customClass: {
1024
- customDropBox: dropBoxClass
1025
- }
1026
- }, isLoading ? /*#__PURE__*/React.createElement(Container, {
1027
- align: "both",
1028
- className: style.loader
1029
- }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
1030
- flexible: true
1031
- }, /*#__PURE__*/React.createElement(Card, {
1032
- onScroll: this.handleScroll
1033
- }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
1034
- className: `${style.search} ${style[size]}`
1035
- }, /*#__PURE__*/React.createElement(TextBoxIcon, {
1036
- a11y: {
1037
- ariaControls: setAriaId,
1038
- ariaAutocomplete: 'list',
1039
- ariaDescribedby: ariaErrorId
1040
- },
1041
- inputRef: this.searchInputRef,
1042
- maxLength: maxLength,
1043
- onChange: this.handleSearch,
1044
- onKeyDown: this.handleKeyDown,
1045
- placeHolder: searchBoxPlaceHolder,
1046
- size: searchBoxSize,
1047
- value: searchStr,
1048
- onClear: this.handleClearSearch,
1049
- dataId: `${dataId}_search`,
1050
- i18nKeys: TextBoxIcon_i18n,
1051
- autoComplete: autoComplete,
1052
- customProps: {
1053
- TextBoxProps: DropdownSearchTextBoxProps
1054
- },
1055
- renderCustomClearComponent: renderCustomSearchClearComponent
1056
- }))) : null, /*#__PURE__*/React.createElement(CardContent, {
1057
- shrink: true,
1058
- customClass: `
1001
+ }, ({
1002
+ tabletMode
1003
+ }) => /*#__PURE__*/React.createElement(ResponsiveDropBox, {
1004
+ animationStyle: animationStyle,
1005
+ boxPosition: position || `${defaultDropBoxPosition}`,
1006
+ getRef: getContainerRef,
1007
+ isActive: isPopupReady,
1008
+ isAnimate: isAnimate && !isVirtualizerEnabled // Note: Virtualizer gets element height at mount itself which causes issue with options height
1009
+ ,
1010
+ isArrow: false,
1011
+ onClick: removeClose,
1012
+ needResponsive: needResponsive,
1013
+ dataId: `${dataId}_suggestions`,
1014
+ size: boxSize,
1015
+ isPadding: false,
1016
+ isResponsivePadding: getFooter ? false : true,
1017
+ alignBox: "row",
1018
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
1019
+ positionsOffset: positionsOffset,
1020
+ targetOffset: targetOffset,
1021
+ isRestrictScroll: isRestrictScroll,
1022
+ portalId: dropBoxPortalId,
1023
+ customClass: {
1024
+ customDropBox: dropBoxClass
1025
+ }
1026
+ }, (shouldUseInternalLoader ? isLoading : isLoading && isInitialEmptyOptions) ? /*#__PURE__*/React.createElement(Container, {
1027
+ align: "both",
1028
+ className: style.loader
1029
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
1030
+ flexible: true
1031
+ }, /*#__PURE__*/React.createElement(Card, {
1032
+ onScroll: this.handleScroll
1033
+ }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
1034
+ className: cn(`${style.search} ${style[size]}`)
1035
+ }, /*#__PURE__*/React.createElement(TextBoxIcon, {
1036
+ a11y: {
1037
+ ariaControls: setAriaId,
1038
+ ariaAutocomplete: 'list',
1039
+ ariaDescribedby: ariaErrorId
1040
+ },
1041
+ inputRef: this.searchInputRef,
1042
+ maxLength: maxLength,
1043
+ onChange: this.handleSearch,
1044
+ onKeyDown: this.handleKeyDown,
1045
+ placeHolder: searchBoxPlaceHolder,
1046
+ size: searchBoxSize,
1047
+ value: searchStr,
1048
+ onClear: this.handleClearSearch,
1049
+ dataId: `${dataId}_search`,
1050
+ i18nKeys: TextBoxIcon_i18n,
1051
+ autoComplete: autoComplete,
1052
+ customProps: {
1053
+ TextBoxProps: DropdownSearchTextBoxProps
1054
+ },
1055
+ renderCustomClearComponent: renderCustomSearchClearComponent
1056
+ }))) : null, /*#__PURE__*/React.createElement(CardContent, {
1057
+ shrink: true,
1058
+ customClass: `
1059
1059
  ${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
1060
- eleRef: this.suggestionContainerRef
1061
- }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
1062
- key: searchStr.trim(),
1063
- activeId: selectedId,
1064
- isVirtualizerEnabled: isVirtualizerEnabled,
1065
- getVirtualizerPublicMethods: this.getVirtualizerPublicMethods,
1066
- setVirtualizerContainerRefFunction: this.setSuggestionsVirtualizerContainerRefFunction,
1067
- suggestions: suggestions,
1068
- getRef: this.suggestionItemRef,
1069
- hoverOption: hoverIndex,
1070
- onClick: this.handleChange,
1071
- onMouseEnter: this.handleMouseEnter,
1072
- dataId: `${dataId}_Options`,
1073
- needTick: needTick,
1074
- needBorder: needListBorder,
1075
- selectedOptions: [selectedId],
1076
- className: `${tabletMode ? style.responsivelistItemContainer : style.listItemContainer}`,
1077
- listItemSize: listItemSize,
1078
- htmlId: setAriaId,
1079
- a11y: {
1080
- ariaParentRole: 'listbox',
1081
- role: 'option'
1082
- }
1083
- }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
1084
- isLoading: isFetchingOptions,
1085
- options: options,
1086
- searchString: searchStr,
1087
- suggestions: suggestions,
1088
- dataId: dataId,
1089
- renderCustomEmptyState: renderCustomEmptyState,
1090
- getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
1091
- i18nKeys: i18nKeys,
1092
- htmlId: ariaErrorId
1093
- }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
1094
- isCover: false,
1095
- align: "both"
1096
- }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter({
1097
- closePopup: this.handlePopupClose
1098
- })) : null)) : /*#__PURE__*/React.createElement(Box, {
1099
- flexible: true
1100
- }, getChildren())));
1101
- }) : null);
1060
+ eleRef: this.suggestionContainerRef
1061
+ }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
1062
+ key: searchStr.trim(),
1063
+ activeId: selectedId,
1064
+ isVirtualizerEnabled: isVirtualizerEnabled,
1065
+ getVirtualizerPublicMethods: this.getVirtualizerPublicMethods,
1066
+ setVirtualizerContainerRefFunction: this.setSuggestionsVirtualizerContainerRefFunction,
1067
+ suggestions: suggestions,
1068
+ getRef: this.suggestionItemRef,
1069
+ hoverOption: hoverIndex,
1070
+ onClick: this.handleChange,
1071
+ onMouseEnter: this.handleMouseEnter,
1072
+ dataId: `${dataId}_Options`,
1073
+ needTick: needTick,
1074
+ needBorder: needListBorder,
1075
+ selectedOptions: [selectedId],
1076
+ className: `${tabletMode ? style.responsivelistItemContainer : style.listItemContainer}`,
1077
+ listItemSize: listItemSize,
1078
+ htmlId: setAriaId,
1079
+ a11y: {
1080
+ ariaParentRole: 'listbox',
1081
+ role: 'option'
1082
+ }
1083
+ }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
1084
+ isLoading: isFetchingOptions,
1085
+ options: options,
1086
+ searchString: searchStr,
1087
+ suggestions: suggestions,
1088
+ dataId: dataId,
1089
+ renderCustomEmptyState: renderCustomEmptyState,
1090
+ getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
1091
+ i18nKeys: i18nKeys,
1092
+ htmlId: ariaErrorId
1093
+ }), (shouldUseInternalLoader ? isFetchingOptions : isLoading && !isInitialEmptyOptions) && /*#__PURE__*/React.createElement(Container, {
1094
+ isCover: false,
1095
+ align: "both"
1096
+ }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter({
1097
+ closePopup: this.handlePopupClose
1098
+ })) : null)) : /*#__PURE__*/React.createElement(Box, {
1099
+ flexible: true
1100
+ }, getChildren())))) : null);
1102
1101
  }
1103
1102
 
1104
1103
  }