@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
@@ -22,6 +22,7 @@ import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
22
22
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
23
23
  /**** CSS ****/
24
24
 
25
+ import { cn } from "@dot-system/css-utility";
25
26
  import style from "../MultiSelect/MultiSelect.module.css";
26
27
  import selectStyle from "./Select.module.css";
27
28
 
@@ -118,10 +119,9 @@ class SelectWithAvatarComponent extends SelectComponent {
118
119
  }
119
120
  }
120
121
 
121
- responsiveFunc(_ref) {
122
- let {
123
- mediaQueryOR
124
- } = _ref;
122
+ responsiveFunc({
123
+ mediaQueryOR
124
+ }) {
125
125
  return {
126
126
  tabletMode: mediaQueryOR([{
127
127
  maxWidth: 700
@@ -171,6 +171,7 @@ class SelectWithAvatarComponent extends SelectComponent {
171
171
  htmlId,
172
172
  needEffect,
173
173
  isLoading,
174
+ shouldUseInternalLoader,
174
175
  dataSelectorId,
175
176
  getTargetRef,
176
177
  customProps,
@@ -205,8 +206,9 @@ class SelectWithAvatarComponent extends SelectComponent {
205
206
  dropBox: dropBoxClass = '',
206
207
  cardContent: cardContentClass = ''
207
208
  } = customClass;
209
+ const isInitialEmptyOptions = searchStr.length === 0 && options.length === 0;
208
210
  return /*#__PURE__*/React.createElement("div", {
209
- className: `${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''} ${className ? className : ''}`,
211
+ className: cn(`${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''} ${className ? className : ''}`),
210
212
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
211
213
  "data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
212
214
  "data-title": isDisabled ? title : null,
@@ -214,7 +216,7 @@ class SelectWithAvatarComponent extends SelectComponent {
214
216
  }, /*#__PURE__*/React.createElement(Container, {
215
217
  align: "vertical",
216
218
  alignBox: "row",
217
- className: `${style.container} ${style[size]} ${style[`borderColor_${borderColor}`]} ${isActive && needBorder ? style.active : ''} ${textBoxClass ? textBoxClass : ''} ${needBorder ? style.hasBorder : ''}`,
219
+ className: `${style.container} ${style[size]} ${style[`borderColor_${borderColor}`]} ${isActive && needBorder ? style.active : ''} ${needBorder ? style.hasBorder : ''} ${textBoxClass ? textBoxClass : ''}`,
218
220
  eleRef: getTargetRef,
219
221
  onClick: !isDisabled && this.togglePopup
220
222
  }, selectedId ? /*#__PURE__*/React.createElement(Box, {
@@ -268,97 +270,94 @@ class SelectWithAvatarComponent extends SelectComponent {
268
270
  }, TextBoxProps)))), !isReadOnly && !isDisabled && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
269
271
  query: this.responsiveFunc,
270
272
  responsiveId: "Helmet"
271
- }, _ref2 => {
272
- let {
273
- tabletMode
274
- } = _ref2;
275
- return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
276
- animationStyle: animationStyle,
277
- boxPosition: position || `${defaultDropBoxPosition}Center`,
278
- getRef: getContainerRef,
279
- isActive: isPopupReady,
280
- isAnimate: true,
281
- isArrow: false,
282
- onClick: removeClose,
283
- needResponsive: needResponsive,
284
- isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
285
- positionsOffset: positionsOffset,
286
- targetOffset: targetOffset,
287
- isRestrictScroll: isRestrictScroll,
288
- isPadding: false,
289
- isResponsivePadding: true,
290
- alignBox: "row",
291
- dataId: `${dataId}_dropbox`,
292
- customClass: {
293
- customDropBox: dropBoxClass
294
- }
295
- }, isLoading ? /*#__PURE__*/React.createElement(Container, {
296
- align: "both",
297
- className: style.loader
298
- }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
299
- flexible: true
300
- }, /*#__PURE__*/React.createElement(Card, {
301
- onScroll: this.handleScroll
302
- }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
303
- className: `${selectStyle.search} ${selectStyle[size]}`
304
- }, /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
305
- inputRef: this.searchInputRef,
306
- maxLength: maxLength,
307
- onChange: this.handleSearch,
308
- onKeyDown: this.handleKeyDown,
309
- placeHolder: searchBoxPlaceHolder,
310
- size: searchBoxSize,
311
- value: searchStr,
312
- onClear: this.handleClearSearch,
313
- dataId: `${dataId}_search`,
314
- a11y: {
315
- ariaAutocomplete: 'list',
316
- ariaControls: setAriaId,
317
- ariaDescribedby: ariaErrorId
318
- },
319
- autoComplete: false
320
- }, DropdownSearchTextBoxProps)))) : null, /*#__PURE__*/React.createElement(CardContent, {
321
- shrink: true,
322
- customClass: `${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
323
- eleRef: this.suggestionContainerRef
324
- }, groupName ? /*#__PURE__*/React.createElement("div", {
325
- className: style.title
326
- }, /*#__PURE__*/React.createElement(DropDownHeading, {
327
- text: groupName,
328
- a11y: {
329
- role: 'heading'
330
- }
331
- })) : null, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
332
- dataId: `${dataId}_Options`,
333
- activeId: selectedId,
334
- suggestions: suggestions,
335
- getRef: this.suggestionItemRef,
336
- hoverOption: hoverIndex,
337
- onClick: this.handleChange,
338
- onMouseEnter: this.handleMouseEnter,
339
- needTick: true,
340
- needBorder: false,
341
- selectedOptions: [selectedId],
342
- className: selectStyle.listItemContainer,
343
- htmlId: setAriaId,
344
- a11y: {
345
- ariaParentRole: 'listbox',
346
- role: 'option'
347
- }
348
- }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
349
- isLoading: isFetchingOptions,
350
- options: options,
351
- searchString: searchStr,
352
- suggestions: suggestions,
353
- renderCustomEmptyState: renderCustomEmptyState,
354
- dataId: dataId,
355
- i18nKeys: i18nKeys,
356
- htmlId: ariaErrorId
357
- }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
358
- isCover: false,
359
- align: "both"
360
- }, /*#__PURE__*/React.createElement(Loader, null))))));
361
- }) : null);
273
+ }, ({
274
+ tabletMode
275
+ }) => /*#__PURE__*/React.createElement(ResponsiveDropBox, {
276
+ animationStyle: animationStyle,
277
+ boxPosition: position || `${defaultDropBoxPosition}Center`,
278
+ getRef: getContainerRef,
279
+ isActive: isPopupReady,
280
+ isAnimate: true,
281
+ isArrow: false,
282
+ onClick: removeClose,
283
+ needResponsive: needResponsive,
284
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
285
+ positionsOffset: positionsOffset,
286
+ targetOffset: targetOffset,
287
+ isRestrictScroll: isRestrictScroll,
288
+ isPadding: false,
289
+ isResponsivePadding: true,
290
+ alignBox: "row",
291
+ dataId: `${dataId}_dropbox`,
292
+ customClass: {
293
+ customDropBox: dropBoxClass
294
+ }
295
+ }, (shouldUseInternalLoader ? isLoading : isLoading && isInitialEmptyOptions) ? /*#__PURE__*/React.createElement(Container, {
296
+ align: "both",
297
+ className: style.loader
298
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
299
+ flexible: true
300
+ }, /*#__PURE__*/React.createElement(Card, {
301
+ onScroll: this.handleScroll
302
+ }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
303
+ className: cn(`${selectStyle.search} ${selectStyle[size]}`)
304
+ }, /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
305
+ inputRef: this.searchInputRef,
306
+ maxLength: maxLength,
307
+ onChange: this.handleSearch,
308
+ onKeyDown: this.handleKeyDown,
309
+ placeHolder: searchBoxPlaceHolder,
310
+ size: searchBoxSize,
311
+ value: searchStr,
312
+ onClear: this.handleClearSearch,
313
+ dataId: `${dataId}_search`,
314
+ a11y: {
315
+ ariaAutocomplete: 'list',
316
+ ariaControls: setAriaId,
317
+ ariaDescribedby: ariaErrorId
318
+ },
319
+ autoComplete: false
320
+ }, DropdownSearchTextBoxProps)))) : null, /*#__PURE__*/React.createElement(CardContent, {
321
+ shrink: true,
322
+ customClass: `${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
323
+ eleRef: this.suggestionContainerRef
324
+ }, groupName ? /*#__PURE__*/React.createElement("div", {
325
+ className: cn(style.title)
326
+ }, /*#__PURE__*/React.createElement(DropDownHeading, {
327
+ text: groupName,
328
+ a11y: {
329
+ role: 'heading'
330
+ }
331
+ })) : null, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
332
+ dataId: `${dataId}_Options`,
333
+ activeId: selectedId,
334
+ suggestions: suggestions,
335
+ getRef: this.suggestionItemRef,
336
+ hoverOption: hoverIndex,
337
+ onClick: this.handleChange,
338
+ onMouseEnter: this.handleMouseEnter,
339
+ needTick: true,
340
+ needBorder: false,
341
+ selectedOptions: [selectedId],
342
+ className: selectStyle.listItemContainer,
343
+ htmlId: setAriaId,
344
+ a11y: {
345
+ ariaParentRole: 'listbox',
346
+ role: 'option'
347
+ }
348
+ }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
349
+ isLoading: isFetchingOptions,
350
+ options: options,
351
+ searchString: searchStr,
352
+ suggestions: suggestions,
353
+ renderCustomEmptyState: renderCustomEmptyState,
354
+ dataId: dataId,
355
+ i18nKeys: i18nKeys,
356
+ htmlId: ariaErrorId
357
+ }), (shouldUseInternalLoader ? isFetchingOptions : isLoading && !isInitialEmptyOptions) && /*#__PURE__*/React.createElement(Container, {
358
+ isCover: false,
359
+ align: "both"
360
+ }, /*#__PURE__*/React.createElement(Loader, null))))))) : null);
362
361
  }
363
362
 
364
363
  }
@@ -22,6 +22,7 @@ import { scrollTo, findScrollEnd, getSearchString } from "../utils/Common.js";
22
22
  import { isObjectContainsSearchString } from "../utils/dropDownUtils.js";
23
23
  /**** CSS ****/
24
24
 
25
+ import { cn } from "@dot-system/css-utility";
25
26
  import style from "./Select.module.css";
26
27
 
27
28
  class SelectWithIcon extends Component {
@@ -268,8 +269,7 @@ class SelectWithIcon extends Component {
268
269
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchValue);
269
270
  }
270
271
 
271
- handleFetchOptions(APICall) {
272
- let searchValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
272
+ handleFetchOptions(APICall, searchValue = '') {
273
273
  let {
274
274
  isFetchingOptions = false
275
275
  } = this.state;
@@ -300,10 +300,9 @@ class SelectWithIcon extends Component {
300
300
  }
301
301
  }
302
302
 
303
- responsiveFunc(_ref) {
304
- let {
305
- mediaQueryOR
306
- } = _ref;
303
+ responsiveFunc({
304
+ mediaQueryOR
305
+ }) {
307
306
  return {
308
307
  tabletMode: mediaQueryOR([{
309
308
  maxWidth: 700
@@ -359,6 +358,7 @@ class SelectWithIcon extends Component {
359
358
  i18nKeys,
360
359
  htmlId,
361
360
  isLoading,
361
+ shouldUseInternalLoader,
362
362
  dataSelectorId,
363
363
  customProps,
364
364
  customClass
@@ -385,12 +385,13 @@ class SelectWithIcon extends Component {
385
385
  dropBox: dropBoxClass = '',
386
386
  cardContent: cardContentClass = ''
387
387
  } = customClass;
388
+ const isInitialEmptyOptions = searchValue.length === 0 && options.length === 0;
388
389
  return /*#__PURE__*/React.createElement("div", {
389
- className: `${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''}`,
390
+ className: cn(`${style.container} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''}`),
390
391
  "data-title": isDisabled ? title : null,
391
392
  "data-selector-id": dataSelectorId
392
393
  }, /*#__PURE__*/React.createElement("div", {
393
- className: `${className ? className : ''}`,
394
+ className: cn(`${className ? className : ''}`),
394
395
  onClick: isDisabled || isReadOnly ? null : this.togglePopup,
395
396
  ref: getTargetRef,
396
397
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
@@ -459,112 +460,109 @@ class SelectWithIcon extends Component {
459
460
  })))))), !isReadOnly && !isDisabled && isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
460
461
  query: this.responsiveFunc,
461
462
  responsiveId: "Helmet"
462
- }, _ref2 => {
463
+ }, ({
464
+ tabletMode
465
+ }) => /*#__PURE__*/React.createElement(ResponsiveDropBox, {
466
+ animationStyle: animationStyle,
467
+ boxPosition: position,
468
+ isActive: isPopupReady,
469
+ isAnimate: true,
470
+ isArrow: false,
471
+ onClick: removeClose,
472
+ getRef: getContainerRef,
473
+ needResponsive: needResponsive,
474
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
475
+ positionsOffset: positionsOffset,
476
+ targetOffset: targetOffset,
477
+ isRestrictScroll: isRestrictScroll,
478
+ dataId: `${dataId}_suggestions`,
479
+ size: boxSize,
480
+ isPadding: false,
481
+ isResponsivePadding: true,
482
+ alignBox: "row",
483
+ customClass: {
484
+ customDropBox: dropBoxClass
485
+ }
486
+ }, (shouldUseInternalLoader ? isLoading : isLoading && isInitialEmptyOptions) ? /*#__PURE__*/React.createElement(Container, {
487
+ align: "both",
488
+ className: style.loader
489
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
490
+ flexible: true
491
+ }, /*#__PURE__*/React.createElement(Card, {
492
+ onScroll: this.handleScroll,
493
+ htmlId: setAriaId,
494
+ a11y: {
495
+ role: 'listbox'
496
+ }
497
+ }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
498
+ className: cn(`${style.search} ${style[size]}`)
499
+ }, /*#__PURE__*/React.createElement(TextBoxIcon, {
500
+ onClear: this.onSearchClear,
501
+ onChange: this.onSearch,
502
+ placeHolder: searchBoxPlaceHolder,
503
+ value: searchValue,
504
+ maxLength: maxLength,
505
+ onKeyDown: this.handleKeyDown,
506
+ inputRef: this.searchInputRef,
507
+ size: searchBoxSize,
508
+ dataId: `${dataId}_search`,
509
+ a11y: {
510
+ ariaDescribedby: ariaErrorId
511
+ },
512
+ autoComplete: false,
513
+ customProps: {
514
+ TextBoxProps: DropdownSearchTextBoxProps
515
+ }
516
+ }))) : null, /*#__PURE__*/React.createElement(CardContent, {
517
+ customClass: `${tabletMode ? style.responsivedropBoxList : style.dropBoxList} ${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
518
+ shrink: true,
519
+ eleRef: this.scrollContentRef,
520
+ dataId: `${dataId}_Options`
521
+ }, options.length ? /*#__PURE__*/React.createElement(React.Fragment, null, options.map((options, i) => {
463
522
  let {
464
- tabletMode
465
- } = _ref2;
466
- return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
467
- animationStyle: animationStyle,
468
- boxPosition: position,
469
- isActive: isPopupReady,
470
- isAnimate: true,
471
- isArrow: false,
472
- onClick: removeClose,
473
- getRef: getContainerRef,
474
- needResponsive: needResponsive,
475
- isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
476
- positionsOffset: positionsOffset,
477
- targetOffset: targetOffset,
478
- isRestrictScroll: isRestrictScroll,
479
- dataId: `${dataId}_suggestions`,
480
- size: boxSize,
481
- isPadding: false,
482
- isResponsivePadding: true,
483
- alignBox: "row",
484
- customClass: {
485
- customDropBox: dropBoxClass
486
- }
487
- }, isLoading ? /*#__PURE__*/React.createElement(Container, {
488
- align: "both",
489
- className: style.loader
490
- }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
491
- flexible: true
492
- }, /*#__PURE__*/React.createElement(Card, {
493
- onScroll: this.handleScroll,
494
- htmlId: setAriaId,
523
+ iconName,
524
+ iconSize,
525
+ iconColor
526
+ } = options;
527
+ return /*#__PURE__*/React.createElement(ListItemWithIcon, _extends({
528
+ key: options[idKey],
529
+ value: options[valueKey],
530
+ secondaryValue: options[secondaryValueKey],
531
+ size: "medium",
532
+ onClick: this.handleChange,
533
+ id: options[idKey],
534
+ index: i,
535
+ title: options[valueKey],
536
+ palette: "default",
537
+ dataId: options[idKey],
538
+ iconName: iconName,
539
+ iconSize: iconSize,
540
+ iconClass: iconColor,
541
+ active: selectedId === options[idKey],
542
+ needBorder: needListBorder,
543
+ needTick: needTick,
544
+ onMouseEnter: this.handleMouseEnter,
545
+ highlight: selectedIndex === i,
546
+ getRef: this.itemRef,
495
547
  a11y: {
496
- role: 'listbox'
548
+ role: 'option',
549
+ ariaSelected: selectedId === options[idKey],
550
+ ariaLabel: options[valueKey]
497
551
  }
498
- }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
499
- className: `${style.search} ${style[size]}`
500
- }, /*#__PURE__*/React.createElement(TextBoxIcon, {
501
- onClear: this.onSearchClear,
502
- onChange: this.onSearch,
503
- placeHolder: searchBoxPlaceHolder,
504
- value: searchValue,
505
- maxLength: maxLength,
506
- onKeyDown: this.handleKeyDown,
507
- inputRef: this.searchInputRef,
508
- size: searchBoxSize,
509
- dataId: `${dataId}_search`,
510
- a11y: {
511
- ariaDescribedby: ariaErrorId
512
- },
513
- autoComplete: false,
514
- customProps: {
515
- TextBoxProps: DropdownSearchTextBoxProps
516
- }
517
- }))) : null, /*#__PURE__*/React.createElement(CardContent, {
518
- customClass: `${tabletMode ? style.responsivedropBoxList : style.dropBoxList} ${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
519
- shrink: true,
520
- eleRef: this.scrollContentRef,
521
- dataId: `${dataId}_Options`
522
- }, options.length ? /*#__PURE__*/React.createElement(React.Fragment, null, options.map((options, i) => {
523
- let {
524
- iconName,
525
- iconSize,
526
- iconColor
527
- } = options;
528
- return /*#__PURE__*/React.createElement(ListItemWithIcon, _extends({
529
- key: options[idKey],
530
- value: options[valueKey],
531
- secondaryValue: options[secondaryValueKey],
532
- size: "medium",
533
- onClick: this.handleChange,
534
- id: options[idKey],
535
- index: i,
536
- title: options[valueKey],
537
- palette: "default",
538
- dataId: options[idKey],
539
- iconName: iconName,
540
- iconSize: iconSize,
541
- iconClass: iconColor,
542
- active: selectedId === options[idKey],
543
- needBorder: needListBorder,
544
- needTick: needTick,
545
- onMouseEnter: this.handleMouseEnter,
546
- highlight: selectedIndex === i,
547
- getRef: this.itemRef,
548
- a11y: {
549
- role: 'option',
550
- ariaSelected: selectedId === options[idKey],
551
- ariaLabel: options[valueKey]
552
- }
553
- }, ListItemProps));
554
- })) : /*#__PURE__*/React.createElement(EmptyState, {
555
- isLoading: isFetchingOptions,
556
- options: options,
557
- searchString: searchValue,
558
- suggestions: options,
559
- renderCustomEmptyState: renderCustomEmptyState,
560
- dataId: dataId,
561
- i18nKeys: i18nKeys,
562
- htmlId: ariaErrorId
563
- }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
564
- isCover: false,
565
- align: "both"
566
- }, /*#__PURE__*/React.createElement(Loader, null))))));
567
- }) : null);
552
+ }, ListItemProps));
553
+ })) : /*#__PURE__*/React.createElement(EmptyState, {
554
+ isLoading: isFetchingOptions,
555
+ options: options,
556
+ searchString: searchValue,
557
+ suggestions: options,
558
+ renderCustomEmptyState: renderCustomEmptyState,
559
+ dataId: dataId,
560
+ i18nKeys: i18nKeys,
561
+ htmlId: ariaErrorId
562
+ }), (shouldUseInternalLoader ? isFetchingOptions : isLoading && !isInitialEmptyOptions) && /*#__PURE__*/React.createElement(Container, {
563
+ isCover: false,
564
+ align: "both"
565
+ }, /*#__PURE__*/React.createElement(Loader, null))))))) : null);
568
566
  }
569
567
 
570
568
  }
@@ -618,15 +618,12 @@ describe('Select -', () => {
618
618
  });
619
619
  test('Should trigger onAddNewOption, when click on the custom search empty state button', () => {
620
620
  const addMessage = 'Add New Option';
621
- const getCustomEmptyState = jest.fn(_ref => {
622
- let {
623
- searchString,
624
- onAddNewOption
625
- } = _ref;
626
- return /*#__PURE__*/React.createElement("button", {
627
- onClick: onAddNewOption
628
- }, addMessage);
629
- });
621
+ const getCustomEmptyState = jest.fn(({
622
+ searchString,
623
+ onAddNewOption
624
+ }) => /*#__PURE__*/React.createElement("button", {
625
+ onClick: onAddNewOption
626
+ }, addMessage));
630
627
  const mockOnAddNewOption = jest.fn();
631
628
  const {
632
629
  getByRole,
@@ -6,7 +6,9 @@ describe('SelectWithIcon', () => {
6
6
  const mockOnChange = jest.fn();
7
7
  const {
8
8
  asFragment
9
- } = render( /*#__PURE__*/React.createElement(SelectWithIcon, null));
9
+ } = render( /*#__PURE__*/React.createElement(SelectWithIcon, {
10
+ options: []
11
+ }));
10
12
  expect(asFragment()).toMatchSnapshot();
11
13
  });
12
14
  });
@@ -1,9 +1,9 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`GroupSelect rendering the defult props 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
- class="container box_medium "
6
+ class="container box_medium"
7
7
  data-id="selectComponent"
8
8
  data-selector-id="groupSelect"
9
9
  data-test-id="selectComponent"
@@ -14,11 +14,11 @@ exports[`GroupSelect rendering the defult props 1`] = `
14
14
  data-test-id="GroupSelect"
15
15
  >
16
16
  <div
17
- class="varClass customContainer border_bottom effect borderColor_default hasBorder container flex rowdir"
17
+ class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder container"
18
18
  data-selector-id="textBoxIcon"
19
19
  >
20
20
  <div
21
- class="grow basis shrinkOff"
21
+ class="flexible basis_zero noShrink"
22
22
  data-id="boxComponent"
23
23
  data-selector-id="box"
24
24
  data-test-id="boxComponent"
@@ -30,7 +30,7 @@ exports[`GroupSelect rendering the defult props 1`] = `
30
30
  aria-owns="1"
31
31
  aria-readonly="true"
32
32
  autocomplete="off"
33
- class=" container medium default effect borderColor_default "
33
+ class="container medium default effect borderColor_default"
34
34
  data-id="GroupSelect_textBox"
35
35
  data-selector-id="textBoxIcon"
36
36
  data-test-id="GroupSelect_textBox"
@@ -43,32 +43,32 @@ exports[`GroupSelect rendering the defult props 1`] = `
43
43
  />
44
44
  </div>
45
45
  <div
46
- class="iconContainer shrinkOff"
46
+ class="noShrink iconContainer"
47
47
  data-id="boxComponent"
48
48
  data-selector-id="box"
49
49
  data-test-id="boxComponent"
50
50
  >
51
51
  <div
52
- class="flex cover rowdir"
52
+ class="flex fullSize row"
53
53
  data-id="containerComponent"
54
54
  data-selector-id="container"
55
55
  data-test-id="containerComponent"
56
56
  >
57
57
  <div
58
- class="icon shrinkOff"
58
+ class="noShrink icon"
59
59
  data-id="boxComponent"
60
60
  data-selector-id="box"
61
61
  data-test-id="boxComponent"
62
62
  >
63
63
  <div
64
- class="flex cover coldir both"
64
+ class="flex fullSize column alignItems_center justifyContent_center"
65
65
  data-id="downIcon"
66
66
  data-selector-id="container"
67
67
  data-test-id="downIcon"
68
68
  >
69
69
  <i
70
70
  aria-hidden="true"
71
- class="zd_font_icons basic icon-down arrowIcon "
71
+ class="zd_font_icons basic icon-down arrowIcon"
72
72
  data-id="fontIcon"
73
73
  data-selector-id="fontIcon"
74
74
  data-test-id="fontIcon"