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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +1237 -1212
  2. package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
  3. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
  4. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
  6. package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
  7. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
  8. package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
  9. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
  10. package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
  11. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
  12. package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
  13. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
  14. package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
  15. package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
  16. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
  17. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
  18. package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
  19. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
  20. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
  21. package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
  22. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
  23. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
  24. package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
  25. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
  26. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
  27. package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
  28. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
  29. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
  30. package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
  31. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
  32. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
  33. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
  34. package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
  35. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
  36. package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
  37. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
  38. package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
  39. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
  40. package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
  41. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
  42. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  43. package/es/Accordion/Accordion.js +8 -3
  44. package/es/Accordion/AccordionItem.js +5 -2
  45. package/es/Animation/Animation.js +3 -3
  46. package/es/AppContainer/AppContainer.js +27 -10
  47. package/es/AppContainer/AppContainer.module.css +18 -18
  48. package/es/AppContainer/props/defaultProps.js +2 -1
  49. package/es/AppContainer/props/propTypes.js +1 -0
  50. package/es/Avatar/Avatar.js +35 -20
  51. package/es/Avatar/Avatar.module.css +175 -175
  52. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  53. package/es/AvatarTeam/AvatarTeam.js +11 -10
  54. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  55. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  56. package/es/Button/Button.js +9 -7
  57. package/es/Button/css/Button.module.css +525 -525
  58. package/es/Buttongroup/Buttongroup.js +5 -4
  59. package/es/Buttongroup/Buttongroup.module.css +105 -106
  60. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  61. package/es/Card/Card.js +25 -14
  62. package/es/Card/Card.module.css +20 -20
  63. package/es/CheckBox/CheckBox.js +5 -3
  64. package/es/CheckBox/CheckBox.module.css +157 -157
  65. package/es/DateTime/CalendarView.js +33 -20
  66. package/es/DateTime/DateTime.js +78 -11
  67. package/es/DateTime/DateTime.module.css +235 -235
  68. package/es/DateTime/DateTimePopupFooter.js +4 -2
  69. package/es/DateTime/DateTimePopupHeader.js +8 -2
  70. package/es/DateTime/DateWidget.js +100 -35
  71. package/es/DateTime/DateWidget.module.css +38 -38
  72. package/es/DateTime/DaysRow.js +4 -2
  73. package/es/DateTime/Time.js +10 -2
  74. package/es/DateTime/YearView.js +28 -4
  75. package/es/DateTime/YearView.module.css +98 -98
  76. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  77. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  78. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  79. package/es/DateTime/common.js +3 -0
  80. package/es/DateTime/constants.js +1 -0
  81. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  82. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  83. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  84. package/es/DateTime/dateFormatUtils/index.js +32 -2
  85. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  86. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  87. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  88. package/es/DateTime/index.js +0 -0
  89. package/es/DateTime/objectUtils.js +14 -20
  90. package/es/DateTime/props/defaultProps.js +2 -1
  91. package/es/DateTime/typeChecker.js +3 -0
  92. package/es/DateTime/validator.js +58 -6
  93. package/es/DropBox/DropBox.js +9 -5
  94. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  95. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  96. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  97. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  98. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  99. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  100. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  101. package/es/DropBox/css/DropBox.module.css +58 -58
  102. package/es/DropBox/props/defaultProps.js +1 -2
  103. package/es/DropBox/props/propTypes.js +1 -2
  104. package/es/DropDown/DropDown.js +10 -5
  105. package/es/DropDown/DropDown.module.css +5 -5
  106. package/es/DropDown/DropDownHeading.js +5 -5
  107. package/es/DropDown/DropDownHeading.module.css +53 -53
  108. package/es/DropDown/DropDownItem.js +8 -1
  109. package/es/DropDown/DropDownItem.module.css +94 -94
  110. package/es/DropDown/DropDownSearch.js +4 -0
  111. package/es/DropDown/DropDownSearch.module.css +14 -14
  112. package/es/DropDown/DropDownSeparator.js +1 -0
  113. package/es/DropDown/DropDownSeparator.module.css +7 -7
  114. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  115. package/es/Heading/Heading.js +3 -3
  116. package/es/Heading/Heading.module.css +4 -4
  117. package/es/Label/Label.js +12 -7
  118. package/es/Label/Label.module.css +52 -52
  119. package/es/Label/LabelColors.module.css +20 -20
  120. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  121. package/es/Label/props/propTypes.js +4 -1
  122. package/es/Layout/Box.js +17 -3
  123. package/es/Layout/Container.js +16 -4
  124. package/es/Layout/Layout.module.css +335 -335
  125. package/es/Layout/index.js +1 -2
  126. package/es/Layout/props/defaultProps.js +2 -0
  127. package/es/Layout/props/propTypes.js +2 -0
  128. package/es/Layout/utils.js +5 -1
  129. package/es/ListItem/ListContainer.js +8 -3
  130. package/es/ListItem/ListItem.js +9 -3
  131. package/es/ListItem/ListItem.module.css +216 -216
  132. package/es/ListItem/ListItemWithAvatar.js +9 -3
  133. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  134. package/es/ListItem/ListItemWithIcon.js +8 -3
  135. package/es/ListItem/ListItemWithRadio.js +7 -3
  136. package/es/Modal/Modal.js +28 -11
  137. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -18
  138. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  139. package/es/MultiSelect/EmptyState.js +6 -0
  140. package/es/MultiSelect/MultiSelect.js +105 -37
  141. package/es/MultiSelect/MultiSelect.module.css +206 -206
  142. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  143. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  144. package/es/MultiSelect/SelectedOptions.js +6 -3
  145. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  146. package/es/MultiSelect/Suggestions.js +7 -3
  147. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  148. package/es/MultiSelect/props/propTypes.js +2 -0
  149. package/es/PopOver/PopOver.js +18 -2
  150. package/es/PopOver/PopOver.module.css +8 -8
  151. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  152. package/es/Popup/Popup.js +77 -27
  153. package/es/Popup/PositionMapping.json +73 -73
  154. package/es/Popup/__tests__/Popup.spec.js +17 -5
  155. package/es/Popup/viewPort.js +16 -4
  156. package/es/Provider/IdProvider.js +10 -5
  157. package/es/Provider/LibraryContext.js +6 -4
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  159. package/es/Provider/ZindexProvider.js +9 -2
  160. package/es/Radio/Radio.js +4 -2
  161. package/es/Radio/Radio.module.css +112 -112
  162. package/es/Responsive/CustomResponsive.js +30 -18
  163. package/es/Responsive/RefWrapper.js +6 -7
  164. package/es/Responsive/ResizeComponent.js +35 -25
  165. package/es/Responsive/ResizeObserver.js +26 -6
  166. package/es/Responsive/Responsive.js +34 -20
  167. package/es/Responsive/index.js +1 -3
  168. package/es/Responsive/sizeObservers.js +28 -7
  169. package/es/Responsive/utils/index.js +7 -5
  170. package/es/Responsive/utils/shallowCompare.js +7 -2
  171. package/es/Responsive/windowResizeObserver.js +7 -0
  172. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  173. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  174. package/es/Ribbon/Ribbon.js +4 -2
  175. package/es/Ribbon/Ribbon.module.css +454 -456
  176. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  177. package/es/RippleEffect/RippleEffect.js +1 -3
  178. package/es/RippleEffect/RippleEffect.module.css +92 -92
  179. package/es/Select/GroupSelect.js +59 -14
  180. package/es/Select/Select.js +81 -34
  181. package/es/Select/Select.module.css +108 -108
  182. package/es/Select/SelectWithAvatar.js +19 -4
  183. package/es/Select/SelectWithIcon.js +48 -6
  184. package/es/Select/__tests__/Select.spec.js +6 -8
  185. package/es/Select/props/propTypes.js +1 -0
  186. package/es/Stencils/Stencils.js +3 -3
  187. package/es/Stencils/Stencils.module.css +96 -96
  188. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  189. package/es/Switch/Switch.js +6 -3
  190. package/es/Switch/Switch.module.css +127 -127
  191. package/es/Tab/Tab.js +4 -4
  192. package/es/Tab/Tab.module.css +100 -100
  193. package/es/Tab/TabContent.js +1 -0
  194. package/es/Tab/TabContent.module.css +4 -4
  195. package/es/Tab/TabContentWrapper.js +2 -0
  196. package/es/Tab/TabWrapper.js +5 -2
  197. package/es/Tab/Tabs.js +73 -25
  198. package/es/Tab/Tabs.module.css +136 -154
  199. package/es/Tab/__tests__/Tab.spec.js +1 -3
  200. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  201. package/es/Tag/Tag.js +15 -11
  202. package/es/Tag/Tag.module.css +254 -254
  203. package/es/TextBox/TextBox.js +16 -3
  204. package/es/TextBox/TextBox.module.css +158 -158
  205. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  206. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  207. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  208. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  209. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  210. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  211. package/es/Textarea/Textarea.js +13 -3
  212. package/es/Textarea/Textarea.module.css +139 -139
  213. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  214. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  215. package/es/Tooltip/Tooltip.js +60 -15
  216. package/es/Tooltip/Tooltip.module.css +140 -140
  217. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  218. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  219. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  220. package/es/common/a11y.module.css +3 -3
  221. package/es/common/animation.module.css +624 -624
  222. package/es/common/avatarsizes.module.css +48 -48
  223. package/es/common/basic.module.css +33 -33
  224. package/es/common/basicReset.module.css +40 -40
  225. package/es/common/boxShadow.module.css +33 -33
  226. package/es/common/common.module.css +524 -524
  227. package/es/common/customscroll.module.css +91 -91
  228. package/es/common/reset.module.css +13 -13
  229. package/es/common/transition.module.css +146 -146
  230. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  231. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  232. package/es/semantic/Button/Button.js +4 -2
  233. package/es/semantic/Button/semanticButton.module.css +9 -9
  234. package/es/utils/Common.js +58 -9
  235. package/es/utils/ContextOptimizer.js +4 -5
  236. package/es/utils/__tests__/debounce.spec.js +2 -2
  237. package/es/utils/constructFullName.js +2 -0
  238. package/es/utils/css/compileClassNames.js +5 -0
  239. package/es/utils/css/mergeStyle.js +7 -6
  240. package/es/utils/css/utils.js +1 -0
  241. package/es/utils/datetime/GMTZones.js +48 -0
  242. package/es/utils/datetime/common.js +31 -7
  243. package/es/utils/debounce.js +5 -1
  244. package/es/utils/dropDownUtils.js +68 -11
  245. package/es/utils/getInitial.js +4 -0
  246. package/es/utils/shallowEqual.js +6 -0
  247. package/install.md +10 -10
  248. package/lib/Accordion/Accordion.js +43 -18
  249. package/lib/Accordion/AccordionItem.js +41 -18
  250. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  251. package/lib/Accordion/index.js +3 -0
  252. package/lib/Accordion/props/propTypes.js +3 -0
  253. package/lib/Animation/Animation.js +38 -18
  254. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/AppContainer/AppContainer.js +66 -26
  257. package/lib/AppContainer/AppContainer.module.css +18 -18
  258. package/lib/AppContainer/props/defaultProps.js +2 -1
  259. package/lib/AppContainer/props/propTypes.js +4 -0
  260. package/lib/Avatar/Avatar.js +90 -47
  261. package/lib/Avatar/Avatar.module.css +175 -175
  262. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  263. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  264. package/lib/Avatar/props/propTypes.js +3 -0
  265. package/lib/AvatarTeam/AvatarTeam.js +60 -37
  266. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  267. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  268. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  269. package/lib/AvatarTeam/props/propTypes.js +3 -0
  270. package/lib/Button/Button.js +36 -24
  271. package/lib/Button/css/Button.module.css +525 -525
  272. package/lib/Button/css/cssJSLogic.js +18 -17
  273. package/lib/Button/index.js +3 -0
  274. package/lib/Button/props/defaultProps.js +2 -0
  275. package/lib/Button/props/propTypes.js +3 -0
  276. package/lib/Buttongroup/Buttongroup.js +34 -13
  277. package/lib/Buttongroup/Buttongroup.module.css +105 -106
  278. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  279. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  280. package/lib/Buttongroup/props/propTypes.js +3 -0
  281. package/lib/Card/Card.js +106 -50
  282. package/lib/Card/Card.module.css +20 -20
  283. package/lib/Card/__tests__/Card.spec.js +10 -1
  284. package/lib/Card/index.js +4 -0
  285. package/lib/Card/props/propTypes.js +3 -0
  286. package/lib/CheckBox/CheckBox.js +71 -47
  287. package/lib/CheckBox/CheckBox.module.css +157 -157
  288. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  289. package/lib/CheckBox/props/propTypes.js +3 -0
  290. package/lib/DateTime/CalendarView.js +83 -42
  291. package/lib/DateTime/DateTime.js +249 -159
  292. package/lib/DateTime/DateTime.module.css +235 -235
  293. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  294. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  295. package/lib/DateTime/DateWidget.js +354 -250
  296. package/lib/DateTime/DateWidget.module.css +38 -38
  297. package/lib/DateTime/DaysRow.js +27 -5
  298. package/lib/DateTime/Time.js +73 -32
  299. package/lib/DateTime/YearView.js +77 -28
  300. package/lib/DateTime/YearView.module.css +98 -98
  301. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  302. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  303. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  304. package/lib/DateTime/common.js +6 -0
  305. package/lib/DateTime/constants.js +1 -0
  306. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  307. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  308. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  309. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  310. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  311. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  312. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  313. package/lib/DateTime/index.js +2 -0
  314. package/lib/DateTime/objectUtils.js +24 -20
  315. package/lib/DateTime/props/defaultProps.js +2 -1
  316. package/lib/DateTime/props/propTypes.js +11 -1
  317. package/lib/DateTime/typeChecker.js +4 -0
  318. package/lib/DateTime/validator.js +73 -10
  319. package/lib/DropBox/DropBox.js +36 -12
  320. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  321. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  322. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  323. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  324. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  325. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  326. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  327. package/lib/DropBox/css/DropBox.module.css +58 -58
  328. package/lib/DropBox/css/cssJSLogic.js +3 -1
  329. package/lib/DropBox/props/defaultProps.js +8 -4
  330. package/lib/DropBox/props/propTypes.js +10 -4
  331. package/lib/DropDown/DropDown.js +54 -9
  332. package/lib/DropDown/DropDown.module.css +5 -5
  333. package/lib/DropDown/DropDownHeading.js +40 -20
  334. package/lib/DropDown/DropDownHeading.module.css +53 -53
  335. package/lib/DropDown/DropDownItem.js +44 -21
  336. package/lib/DropDown/DropDownItem.module.css +94 -94
  337. package/lib/DropDown/DropDownSearch.js +40 -17
  338. package/lib/DropDown/DropDownSearch.module.css +14 -14
  339. package/lib/DropDown/DropDownSeparator.js +24 -4
  340. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  341. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  342. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  343. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  344. package/lib/DropDown/index.js +9 -0
  345. package/lib/DropDown/props/propTypes.js +6 -4
  346. package/lib/Heading/Heading.js +39 -16
  347. package/lib/Heading/Heading.module.css +4 -4
  348. package/lib/Heading/props/propTypes.js +3 -0
  349. package/lib/Label/Label.js +45 -20
  350. package/lib/Label/Label.module.css +52 -52
  351. package/lib/Label/LabelColors.module.css +20 -20
  352. package/lib/Label/__tests__/Label.spec.js +14 -1
  353. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  354. package/lib/Label/props/propTypes.js +7 -1
  355. package/lib/Layout/Box.js +39 -15
  356. package/lib/Layout/Container.js +37 -14
  357. package/lib/Layout/Layout.module.css +335 -335
  358. package/lib/Layout/__tests__/Box.spec.js +65 -49
  359. package/lib/Layout/__tests__/Container.spec.js +67 -50
  360. package/lib/Layout/index.js +3 -0
  361. package/lib/Layout/props/defaultProps.js +2 -0
  362. package/lib/Layout/props/propTypes.js +5 -0
  363. package/lib/Layout/utils.js +15 -1
  364. package/lib/ListItem/ListContainer.js +48 -27
  365. package/lib/ListItem/ListItem.js +69 -45
  366. package/lib/ListItem/ListItem.module.css +216 -216
  367. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  368. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  369. package/lib/ListItem/ListItemWithIcon.js +68 -44
  370. package/lib/ListItem/ListItemWithRadio.js +65 -41
  371. package/lib/ListItem/index.js +7 -0
  372. package/lib/ListItem/props/propTypes.js +6 -4
  373. package/lib/Modal/Modal.js +45 -10
  374. package/lib/Modal/props/propTypes.js +3 -0
  375. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -171
  376. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  377. package/lib/MultiSelect/EmptyState.js +49 -24
  378. package/lib/MultiSelect/MultiSelect.js +329 -211
  379. package/lib/MultiSelect/MultiSelect.module.css +206 -206
  380. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  381. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  382. package/lib/MultiSelect/SelectedOptions.js +43 -17
  383. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  384. package/lib/MultiSelect/Suggestions.js +64 -32
  385. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  386. package/lib/MultiSelect/index.js +5 -0
  387. package/lib/MultiSelect/props/defaultProps.js +2 -0
  388. package/lib/MultiSelect/props/propTypes.js +5 -0
  389. package/lib/PopOver/PopOver.js +95 -49
  390. package/lib/PopOver/PopOver.module.css +8 -8
  391. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  392. package/lib/PopOver/index.js +4 -0
  393. package/lib/PopOver/props/propTypes.js +3 -0
  394. package/lib/Popup/Popup.js +158 -84
  395. package/lib/Popup/PositionMapping.json +73 -73
  396. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  397. package/lib/Popup/viewPort.js +28 -14
  398. package/lib/Provider/AvatarSize.js +4 -0
  399. package/lib/Provider/Config.js +2 -0
  400. package/lib/Provider/CssProvider.js +4 -0
  401. package/lib/Provider/IdProvider.js +17 -6
  402. package/lib/Provider/LibraryContext.js +35 -15
  403. package/lib/Provider/LibraryContextInit.js +4 -0
  404. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  405. package/lib/Provider/ZindexProvider.js +15 -3
  406. package/lib/Provider/index.js +5 -0
  407. package/lib/Radio/Radio.js +61 -38
  408. package/lib/Radio/Radio.module.css +112 -112
  409. package/lib/Radio/__tests__/Radiospec.js +9 -5
  410. package/lib/Radio/props/propTypes.js +3 -0
  411. package/lib/Responsive/CustomResponsive.js +73 -29
  412. package/lib/Responsive/RefWrapper.js +17 -11
  413. package/lib/Responsive/ResizeComponent.js +62 -36
  414. package/lib/Responsive/ResizeObserver.js +24 -10
  415. package/lib/Responsive/Responsive.js +80 -30
  416. package/lib/Responsive/index.js +4 -0
  417. package/lib/Responsive/props/propTypes.js +3 -0
  418. package/lib/Responsive/sizeObservers.js +53 -17
  419. package/lib/Responsive/utils/index.js +11 -3
  420. package/lib/Responsive/utils/shallowCompare.js +11 -2
  421. package/lib/Responsive/windowResizeObserver.js +8 -0
  422. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  423. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  424. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  425. package/lib/Ribbon/Ribbon.js +34 -13
  426. package/lib/Ribbon/Ribbon.module.css +454 -456
  427. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  428. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  429. package/lib/Ribbon/props/propTypes.js +3 -0
  430. package/lib/RippleEffect/RippleEffect.js +18 -10
  431. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  432. package/lib/RippleEffect/props/propTypes.js +3 -0
  433. package/lib/Select/GroupSelect.js +230 -130
  434. package/lib/Select/Select.js +292 -210
  435. package/lib/Select/Select.module.css +108 -108
  436. package/lib/Select/SelectWithAvatar.js +104 -56
  437. package/lib/Select/SelectWithIcon.js +134 -77
  438. package/lib/Select/__tests__/Select.spec.js +133 -91
  439. package/lib/Select/index.js +5 -0
  440. package/lib/Select/props/defaultProps.js +5 -4
  441. package/lib/Select/props/propTypes.js +4 -0
  442. package/lib/Stencils/Stencils.js +29 -10
  443. package/lib/Stencils/Stencils.module.css +96 -96
  444. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  445. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  446. package/lib/Stencils/props/propTypes.js +3 -0
  447. package/lib/Switch/Switch.js +58 -34
  448. package/lib/Switch/Switch.module.css +127 -127
  449. package/lib/Switch/props/propTypes.js +3 -0
  450. package/lib/Tab/Tab.js +40 -27
  451. package/lib/Tab/Tab.module.css +100 -100
  452. package/lib/Tab/TabContent.js +12 -5
  453. package/lib/Tab/TabContent.module.css +4 -4
  454. package/lib/Tab/TabContentWrapper.js +13 -6
  455. package/lib/Tab/TabWrapper.js +37 -19
  456. package/lib/Tab/Tabs.js +184 -103
  457. package/lib/Tab/Tabs.module.css +136 -154
  458. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  459. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  460. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  461. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  462. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  463. package/lib/Tab/index.js +6 -0
  464. package/lib/Tab/props/propTypes.js +3 -0
  465. package/lib/Tag/Tag.js +81 -51
  466. package/lib/Tag/Tag.module.css +254 -254
  467. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  468. package/lib/Tag/props/propTypes.js +3 -0
  469. package/lib/TextBox/TextBox.js +86 -59
  470. package/lib/TextBox/TextBox.module.css +158 -158
  471. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  472. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  473. package/lib/TextBox/props/propTypes.js +6 -4
  474. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  475. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  476. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  477. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  478. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  479. package/lib/Textarea/Textarea.js +55 -29
  480. package/lib/Textarea/Textarea.module.css +139 -139
  481. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  482. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  483. package/lib/Textarea/props/propTypes.js +3 -0
  484. package/lib/Tooltip/Tooltip.js +96 -32
  485. package/lib/Tooltip/Tooltip.module.css +140 -140
  486. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  487. package/lib/Tooltip/props/propTypes.js +3 -0
  488. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  489. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  490. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  491. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  492. package/lib/VelocityAnimation/index.js +3 -0
  493. package/lib/common/a11y.module.css +3 -3
  494. package/lib/common/animation.module.css +624 -624
  495. package/lib/common/avatarsizes.module.css +48 -48
  496. package/lib/common/basic.module.css +33 -33
  497. package/lib/common/basicReset.module.css +40 -40
  498. package/lib/common/boxShadow.module.css +33 -33
  499. package/lib/common/common.module.css +524 -524
  500. package/lib/common/customscroll.module.css +91 -91
  501. package/lib/common/reset.module.css +13 -13
  502. package/lib/common/transition.module.css +146 -146
  503. package/lib/css.js +40 -0
  504. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  505. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  506. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  507. package/lib/index.js +57 -0
  508. package/lib/semantic/Button/Button.js +43 -22
  509. package/lib/semantic/Button/props/propTypes.js +3 -0
  510. package/lib/semantic/Button/semanticButton.module.css +9 -9
  511. package/lib/semantic/index.js +2 -0
  512. package/lib/utils/Common.js +117 -19
  513. package/lib/utils/ContextOptimizer.js +16 -10
  514. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  515. package/lib/utils/__tests__/debounce.spec.js +3 -2
  516. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  517. package/lib/utils/constructFullName.js +13 -4
  518. package/lib/utils/css/compileClassNames.js +6 -0
  519. package/lib/utils/css/mergeStyle.js +10 -7
  520. package/lib/utils/css/utils.js +8 -0
  521. package/lib/utils/datetime/GMTZones.js +55 -0
  522. package/lib/utils/datetime/common.js +52 -7
  523. package/lib/utils/debounce.js +6 -1
  524. package/lib/utils/dropDownUtils.js +175 -59
  525. package/lib/utils/dummyFunction.js +2 -0
  526. package/lib/utils/getHTMLFontSize.js +1 -0
  527. package/lib/utils/getInitial.js +6 -0
  528. package/lib/utils/index.js +4 -0
  529. package/lib/utils/scrollTo.js +2 -0
  530. package/lib/utils/shallowEqual.js +8 -0
  531. package/package.json +113 -123
  532. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
  533. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
  534. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
  535. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
  536. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
  537. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
  538. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
  539. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
  540. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
  541. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
  542. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
  543. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
  544. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
  545. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
  546. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
  547. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
  548. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
  549. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
  550. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
  551. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
  552. package/assets/Contrast/lightContrastLightness.module.css +0 -39
  553. /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
  554. /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
  555. /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
  556. /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
  557. /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
  558. /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
  559. /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
  560. /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
@@ -1,9 +1,11 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React, { Component } from 'react';
4
5
  import { Select_defaultProps } from './props/defaultProps';
5
6
  import { Select_propTypes } from './props/propTypes';
6
7
  /**** Components ****/
8
+
7
9
  import Popup from '../Popup/Popup';
8
10
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
9
11
  import { Container, Box } from '../Layout';
@@ -16,15 +18,16 @@ import { Icon } from '@zohodesk/icons';
16
18
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
17
19
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
18
20
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
19
-
20
21
  /**** Methods ****/
22
+
21
23
  import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetSelectedValueText as makeGetSelectedValue } from '../utils/dropDownUtils';
22
24
  import { debounce, scrollTo, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
23
25
  /**** CSS ****/
26
+
24
27
  import style from './Select.module.css';
25
28
  import { getLibraryConfig } from '../Provider/Config';
26
-
27
29
  /* eslint-disable react/no-deprecated */
30
+
28
31
  /* eslint-disable react/no-unused-prop-types */
29
32
 
30
33
  let dummyArray = [];
@@ -65,9 +68,10 @@ export class SelectComponent extends Component {
65
68
  valueField,
66
69
  textField
67
70
  });
68
- if (isSelfValueChanged) {
69
- // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
71
+
72
+ if (isSelfValueChanged) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
70
73
  }
74
+
71
75
  this.state = {
72
76
  selected,
73
77
  options: allOptions,
@@ -110,10 +114,10 @@ export class SelectComponent extends Component {
110
114
  this.autoSelectSuggestions = [];
111
115
  this.autoSelectIndex = 0;
112
116
  }
117
+
113
118
  componentDidMount() {
114
119
  this._isMounted = true;
115
- this.handleExposePopupHandlers();
116
- // let { suggestionContainer } = this;
120
+ this.handleExposePopupHandlers(); // let { suggestionContainer } = this;
117
121
  // suggestionContainer &&
118
122
  // suggestionContainer.addEventListener('scroll', this.handleScroll);
119
123
  }
@@ -155,9 +159,10 @@ export class SelectComponent extends Component {
155
159
  let {
156
160
  selectedValue: oldSelectedValue
157
161
  } = this.props;
158
- if (isSelfValueChanged && oldSelectedValue !== selectedValue) {
159
- // onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
162
+
163
+ if (isSelfValueChanged && oldSelectedValue !== selectedValue) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
160
164
  }
165
+
161
166
  this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
162
167
  this.normalizedFormatOptions = normalizedFormatOptions;
163
168
  this.optionsOrder = optionsOrder;
@@ -170,6 +175,7 @@ export class SelectComponent extends Component {
170
175
  selectedValueIndex: hoverIndex
171
176
  });
172
177
  }
178
+
173
179
  componentDidUpdate(prevProps) {
174
180
  let {
175
181
  suggestionContainer,
@@ -192,6 +198,7 @@ export class SelectComponent extends Component {
192
198
  let hoverId = getIsEmptyValue(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
193
199
  let selSuggestion = this[`suggestion_${hoverId}`];
194
200
  isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
201
+
195
202
  if (prevProps.isPopupOpen !== isPopupOpen) {
196
203
  if (isPopupOpen) {
197
204
  onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
@@ -209,20 +216,22 @@ export class SelectComponent extends Component {
209
216
  hoverIndex: selectedValueIndex
210
217
  });
211
218
  }
212
- }
219
+ } //When suggestions length less than 5, getNextOptions function call
220
+
213
221
 
214
- //When suggestions length less than 5, getNextOptions function call
215
222
  let {
216
223
  isNextOptions,
217
224
  getNextOptions
218
- } = this.props;
219
- // let { searchStr } = this.state;
225
+ } = this.props; // let { searchStr } = this.state;
226
+
220
227
  let suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
221
228
  let suggestionsLen = suggestions.length;
229
+
222
230
  if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
223
231
  this.handleFetchOptions(getNextOptions, searchStr);
224
232
  }
225
233
  }
234
+
226
235
  componentWillUnmount() {
227
236
  this._isMounted = false;
228
237
  let {
@@ -234,8 +243,7 @@ export class SelectComponent extends Component {
234
243
  closePopup: null,
235
244
  togglePopup: null
236
245
  };
237
- getPopupHandlers && getPopupHandlers(methods);
238
- // let { suggestionContainer } = this;
246
+ getPopupHandlers && getPopupHandlers(methods); // let { suggestionContainer } = this;
239
247
  // suggestionContainer &&
240
248
  // suggestionContainer.removeEventListener('scroll', this.handleScroll);
241
249
  }
@@ -257,6 +265,7 @@ export class SelectComponent extends Component {
257
265
  listItemProps
258
266
  });
259
267
  }
268
+
260
269
  handleChange(id, value, index, e) {
261
270
  e && e.preventDefault && e.preventDefault();
262
271
  let {
@@ -267,10 +276,11 @@ export class SelectComponent extends Component {
267
276
  let {
268
277
  optionsNormalize
269
278
  } = this.state;
270
- !isReadOnly && onChange && onChange(id, optionsNormalize[id]);
271
- // this.valueInput && this.valueInput.focus({preventScroll:true});
279
+ !isReadOnly && onChange && onChange(id, optionsNormalize[id]); // this.valueInput && this.valueInput.focus({preventScroll:true});
280
+
272
281
  needCloseOnSelect && this.handlePopupClose(e);
273
282
  }
283
+
274
284
  responsiveFunc(_ref) {
275
285
  let {
276
286
  mediaQueryOR
@@ -281,6 +291,7 @@ export class SelectComponent extends Component {
281
291
  }])
282
292
  };
283
293
  }
294
+
284
295
  handleKeyDown(e) {
285
296
  let {
286
297
  onChange,
@@ -297,33 +308,38 @@ export class SelectComponent extends Component {
297
308
  let {
298
309
  keyCode
299
310
  } = e;
311
+
300
312
  if (!isPopupOpen && !isPopupOpenOnEnter) {
301
313
  onKeyDown && onKeyDown(e);
302
314
  }
315
+
303
316
  if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
304
317
  e.preventDefault(); //prevent body scroll and enter key prevent
305
318
  } else if (!isPopupOpen && keyCode === 40) {
306
319
  e.preventDefault(); //prevent body scroll
320
+
307
321
  this.togglePopup(e);
308
322
  }
323
+
309
324
  if (keyCode === 38 && isPopupOpen && options.length) {
310
- if (hoverIndex === 0) {
311
- // hoverIndex = options.length - 1;
325
+ if (hoverIndex === 0) {// hoverIndex = options.length - 1;
312
326
  } else {
313
327
  hoverIndex -= 1;
314
328
  }
329
+
315
330
  this.setState({
316
331
  hoverIndex
317
332
  });
318
333
  } else if (keyCode === 40 && isPopupOpen && options.length) {
319
- if (hoverIndex === options.length - 1) {
320
- // hoverIndex = 0;
334
+ if (hoverIndex === options.length - 1) {// hoverIndex = 0;
321
335
  } else {
322
336
  if (hoverIndex === options.length - 3) {
323
337
  this.handleGetNextOptions();
324
338
  }
339
+
325
340
  hoverIndex += 1;
326
341
  }
342
+
327
343
  this.setState({
328
344
  hoverIndex
329
345
  });
@@ -332,32 +348,36 @@ export class SelectComponent extends Component {
332
348
  let {
333
349
  id
334
350
  } = option || {};
351
+
335
352
  if (isPopupOpen && !getIsEmptyValue(id) && onChange) {
336
353
  onChange(id, optionsNormalize[id]);
337
354
  needCloseOnSelect && this.handlePopupClose(e);
338
355
  }
356
+
339
357
  if (!isPopupOpen && isPopupOpenOnEnter) {
340
358
  this.togglePopup(e);
341
359
  }
342
360
  } else if (keyCode === 27) {
343
361
  this.valueInput && this.valueInput.focus({
344
362
  preventScroll: true
345
- });
346
- //this.handlePopupClose(e);
363
+ }); //this.handlePopupClose(e);
347
364
  } else if (keyCode === 9) {
348
365
  let option = options[hoverIndex];
349
366
  let {
350
367
  id
351
368
  } = option || {};
369
+
352
370
  if (isPopupOpen && !getIsEmptyValue(id)) {
353
371
  onChange && onChange(id, optionsNormalize[id]);
354
372
  needCloseOnSelect && this.handlePopupClose(e);
355
373
  }
374
+
356
375
  if (!isPopupOpen && isPopupOpenOnEnter) {
357
376
  this.togglePopup(e);
358
377
  }
359
378
  }
360
379
  }
380
+
361
381
  handleSearchOptions() {
362
382
  let {
363
383
  onSearch
@@ -367,6 +387,7 @@ export class SelectComponent extends Component {
367
387
  } = this.state;
368
388
  searchStr && this.handleFetchOptions(onSearch, searchStr);
369
389
  }
390
+
370
391
  handleSearch(value) {
371
392
  // let { value = '' } = e.target;
372
393
  let {
@@ -389,7 +410,10 @@ export class SelectComponent extends Component {
389
410
  }
390
411
  });
391
412
  }
392
- handleMouseEnter(id /*val, index*/) {
413
+
414
+ handleMouseEnter(id
415
+ /*val, index*/
416
+ ) {
393
417
  let {
394
418
  hoverIndex
395
419
  } = this.state;
@@ -401,21 +425,21 @@ export class SelectComponent extends Component {
401
425
  hoverIndex: newHoverIndex
402
426
  });
403
427
  }
428
+
404
429
  handleFilterSuggestions() {
405
430
  let {
406
431
  needLocalSearch,
407
- excludeOptions = dummyArray
408
- // needSearch
432
+ excludeOptions = dummyArray // needSearch
433
+
409
434
  } = this.props;
410
435
  let {
411
436
  options = dummyArray,
412
437
  searchStr = ''
413
- } = this.state;
414
-
415
- // if (
438
+ } = this.state; // if (
416
439
  // (needSearch && searchStr && searchStr.trim().length) ||
417
440
  // (excludeOptions && excludeOptions.length)
418
441
  // ) {
442
+
419
443
  searchStr = getSearchString(searchStr);
420
444
  let {
421
445
  suggestions,
@@ -427,8 +451,7 @@ export class SelectComponent extends Component {
427
451
  needSearch: needLocalSearch
428
452
  });
429
453
  this.optionsOrder = suggestionIds;
430
- return suggestions;
431
- // }
454
+ return suggestions; // }
432
455
  // return options;
433
456
  }
434
457
 
@@ -437,6 +460,7 @@ export class SelectComponent extends Component {
437
460
  let isScrollReachedBottom = findScrollEnd(ele);
438
461
  isScrollReachedBottom && this.handleGetNextOptions();
439
462
  }
463
+
440
464
  handleFetchOptions(APICall) {
441
465
  let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
442
466
  // let funcArgs = args.slice(1, args.length);
@@ -446,10 +470,12 @@ export class SelectComponent extends Component {
446
470
  let {
447
471
  _isMounted
448
472
  } = this;
473
+
449
474
  if (!isFetchingOptions && APICall) {
450
475
  this.setState({
451
476
  isFetchingOptions: true
452
477
  });
478
+
453
479
  try {
454
480
  return APICall(searchStr).then(() => {
455
481
  _isMounted && this.setState({
@@ -467,6 +493,7 @@ export class SelectComponent extends Component {
467
493
  }
468
494
  }
469
495
  }
496
+
470
497
  handleGetNextOptions() {
471
498
  let {
472
499
  isNextOptions,
@@ -477,6 +504,7 @@ export class SelectComponent extends Component {
477
504
  } = this.state;
478
505
  isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
479
506
  }
507
+
480
508
  togglePopup(e) {
481
509
  let {
482
510
  togglePopup,
@@ -488,6 +516,7 @@ export class SelectComponent extends Component {
488
516
  !isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
489
517
  !isPopupOpen && typeof onFocus === 'function' && onFocus(e);
490
518
  }
519
+
491
520
  handlePopupClose(e) {
492
521
  let {
493
522
  closePopupOnly
@@ -497,15 +526,19 @@ export class SelectComponent extends Component {
497
526
  });
498
527
  closePopupOnly(e);
499
528
  }
529
+
500
530
  suggestionContainerRef(el) {
501
531
  this.suggestionContainer = el;
502
532
  }
533
+
503
534
  suggestionItemRef(el, index, id) {
504
535
  this[`suggestion_${id}`] = el;
505
536
  }
537
+
506
538
  searchInputRef(el) {
507
539
  this.searchInput = el;
508
540
  }
541
+
509
542
  valueInputRef(el) {
510
543
  let {
511
544
  getRef
@@ -513,12 +546,14 @@ export class SelectComponent extends Component {
513
546
  this.valueInput = el;
514
547
  getRef && getRef(el);
515
548
  }
549
+
516
550
  handleSelectFocus() {
517
551
  let {
518
552
  valueInput
519
553
  } = this;
520
554
  valueInput && valueInput.setSelectionRange(valueInput, 0);
521
555
  }
556
+
522
557
  handleClearSearch() {
523
558
  this.handleSearch('');
524
559
  setTimeout(() => {
@@ -527,6 +562,7 @@ export class SelectComponent extends Component {
527
562
  });
528
563
  }, 1);
529
564
  }
565
+
530
566
  handleValueInputChange(e) {
531
567
  let {
532
568
  which
@@ -536,11 +572,13 @@ export class SelectComponent extends Component {
536
572
  isPopupOpen,
537
573
  autoSelectOnType
538
574
  } = this.props;
575
+
539
576
  if (!isPopupOpen && autoSelectOnType) {
540
577
  this.valueInputTypeString += (typeString || '').trim();
541
578
  this.handleChangeOnType();
542
579
  }
543
580
  }
581
+
544
582
  handleChangeOnType() {
545
583
  let {
546
584
  excludeOptions = dummyArray
@@ -553,11 +591,13 @@ export class SelectComponent extends Component {
553
591
  } = this;
554
592
  let typeString = this.valueInputTypeString;
555
593
  this.valueInputTypeString = '';
594
+
556
595
  let changeValue = () => {
557
596
  let optionDetails = this.autoSelectSuggestions[this.autoSelectIndex];
558
597
  let {
559
598
  id
560
599
  } = optionDetails || {};
600
+
561
601
  if (!getIsEmptyValue(id)) {
562
602
  this.handleChange(id);
563
603
  let hoverIndex = optionsOrder.indexOf(id);
@@ -566,12 +606,14 @@ export class SelectComponent extends Component {
566
606
  });
567
607
  }
568
608
  };
609
+
569
610
  if (typeString && typeString === this.valueInputSearchString) {
570
611
  if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
571
612
  this.autoSelectIndex += 1;
572
613
  } else {
573
614
  this.autoSelectIndex = 0;
574
615
  }
616
+
575
617
  changeValue();
576
618
  } else if (typeString) {
577
619
  this.valueInputSearchString = typeString;
@@ -589,6 +631,7 @@ export class SelectComponent extends Component {
589
631
  changeValue();
590
632
  }
591
633
  }
634
+
592
635
  handleAddNewOption() {
593
636
  let {
594
637
  searchStr
@@ -597,6 +640,7 @@ export class SelectComponent extends Component {
597
640
  onAddNewOption,
598
641
  getCustomEmptyState
599
642
  } = this.props;
643
+
600
644
  if (getCustomEmptyState) {
601
645
  this.setState({
602
646
  searchStr: ''
@@ -604,6 +648,7 @@ export class SelectComponent extends Component {
604
648
  this.handleFetchOptions(onAddNewOption, searchStr);
605
649
  }
606
650
  }
651
+
607
652
  handleExposePopupHandlers() {
608
653
  let {
609
654
  removeClose,
@@ -620,6 +665,7 @@ export class SelectComponent extends Component {
620
665
  };
621
666
  getPopupHandlers && getPopupHandlers(methods);
622
667
  }
668
+
623
669
  handleGetAddNewOptionText() {
624
670
  let {
625
671
  searchStr
@@ -632,6 +678,7 @@ export class SelectComponent extends Component {
632
678
  onAddNewOption: this.handleAddNewOption
633
679
  });
634
680
  }
681
+
635
682
  render() {
636
683
  let {
637
684
  needSearch,
@@ -717,7 +764,8 @@ export class SelectComponent extends Component {
717
764
  className: `${className ? className : ''}`,
718
765
  onClick: isDisabled || isReadOnly ? null : this.togglePopup,
719
766
  ref: getTargetRef,
720
- "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`
767
+ "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
768
+ "data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`
721
769
  }, needSelectDownIcon ? /*#__PURE__*/React.createElement(TextBoxIcon, {
722
770
  a11y: {
723
771
  role: 'Menuitem',
@@ -898,15 +946,14 @@ export class SelectComponent extends Component {
898
946
  }, getChildren())));
899
947
  }) : null);
900
948
  }
949
+
901
950
  }
902
951
  SelectComponent.propTypes = Select_propTypes;
903
952
  SelectComponent.defaultProps = Select_defaultProps;
904
953
  SelectComponent.displayName = 'Select';
905
954
  let Select = Popup(SelectComponent);
906
955
  Select.defaultProps = SelectComponent.defaultProps;
907
- export default Select;
908
-
909
- // if (__DOCS__) {
956
+ export default Select; // if (__DOCS__) {
910
957
  // Select.docs = {
911
958
  // componentGroup: 'Form Elements',
912
959
  // folderName: 'Style Guide',
@@ -1,109 +1,109 @@
1
- .input {
2
- cursor: pointer;
3
- }
4
- .small {
5
- max-height: 200px;
6
- }
7
- .medium {
8
- max-height: 350px;
9
- }
10
- .large {
11
- max-height: 400px;
12
- }
13
- .emptyState {
14
- font-size: 14px;
15
- color: var(--zdt_select_emptystate_text);
16
- composes: semibold from '../common/common.module.css';
17
- }
18
- .box_small .emptyState {
19
- padding: 12px 6px;
20
- }
21
- .box_medium .emptyState {
22
- padding: 12px 15px;
23
- }
24
- .hide {
25
- composes: vishidden from '../common/common.module.css';
26
- }
27
- .container {
28
- position: relative;
29
- }
30
- .arrowIcon {
31
- height: 8px;
32
- line-height: var(--zd_size8);
33
- }
34
- .small.search {
35
- padding: 0 5px;
36
- }
37
- .medium.search {
38
- padding: 3px 20px 0;
39
- }
40
- .title {
41
- margin-bottom: 6px;
42
- }
43
- .groupTitle {
44
- margin: 6px 0;
45
- }
46
- .listItemContainer {
47
- padding: 10px 0;
48
- }
49
- .responsivelistItemContainer {
50
- padding: 10px 0 0;
51
- }
52
- .readonly {
53
- --textboxicon_icon_cursor: not-allowed;
54
- }
55
- .transparentContainer .arrowIcon {
56
- opacity: 0;
57
- visibility: hidden;
58
- }
59
- .transparentContainer:hover .arrowIcon {
60
- opacity: 1;
61
- visibility: visible;
62
- }
63
- .disable {
64
- color: var(--zdt_select_disable_text);
65
- }
66
-
67
- .leftIcon {
68
- position: absolute;
69
- top: 0;
70
- bottom: 0;
71
- width: 30px;
72
- }
73
-
74
- [dir=ltr] .leftIcon {
75
- left: 0;
76
- }
77
-
78
- [dir=rtl] .leftIcon {
79
- right: 0;
80
- }
81
- [dir=ltr] .iconSelect {
82
- padding-left: 30px;
83
- }
84
- [dir=rtl] .iconSelect {
85
- padding-right: 30px;
86
- }
87
-
88
- .dropBoxList {
89
- padding: 10px 0;
90
- }
91
- .responsivedropBoxList{
92
- padding: 10px 0 0 0;
93
- }
94
- .rotate {
95
- transform: rotateX(180deg);
96
- }
97
- .iconOnHoverStyle .arrowIcon,
98
- .iconOnHoverReadonly .arrowIcon,
99
- .iconOnHoverReadonly:hover .arrowIcon {
100
- opacity: 0;
101
- visibility: hidden;
102
- }
103
- .iconOnHoverStyle:hover .arrowIcon {
104
- opacity: 1;
105
- visibility: visible;
106
- }
107
- .loader {
108
- padding: 10px;
1
+ .input {
2
+ cursor: pointer;
3
+ }
4
+ .small {
5
+ max-height: var(--zd_size200) ;
6
+ }
7
+ .medium {
8
+ max-height: var(--zd_size350) ;
9
+ }
10
+ .large {
11
+ max-height: var(--zd_size400) ;
12
+ }
13
+ .emptyState {
14
+ font-size: var(--zd_font_size14) ;
15
+ color: var(--zdt_select_emptystate_text);
16
+ composes: semibold from '../common/common.module.css';
17
+ }
18
+ .box_small .emptyState {
19
+ padding: var(--zd_size12) var(--zd_size6) ;
20
+ }
21
+ .box_medium .emptyState {
22
+ padding: var(--zd_size12) var(--zd_size15) ;
23
+ }
24
+ .hide {
25
+ composes: vishidden from '../common/common.module.css';
26
+ }
27
+ .container {
28
+ position: relative;
29
+ }
30
+ .arrowIcon {
31
+ height: var(--zd_size8) ;
32
+ line-height: var(--zd_size8);
33
+ }
34
+ .small.search {
35
+ padding: 0 var(--zd_size5) ;
36
+ }
37
+ .medium.search {
38
+ padding: var(--zd_size3) var(--zd_size20) 0 ;
39
+ }
40
+ .title {
41
+ margin-bottom: var(--zd_size6) ;
42
+ }
43
+ .groupTitle {
44
+ margin: var(--zd_size6) 0 ;
45
+ }
46
+ .listItemContainer {
47
+ padding: var(--zd_size10) 0 ;
48
+ }
49
+ .responsivelistItemContainer {
50
+ padding: var(--zd_size10) 0 0 ;
51
+ }
52
+ .readonly {
53
+ --textboxicon_icon_cursor: not-allowed;
54
+ }
55
+ .transparentContainer .arrowIcon {
56
+ opacity: 0;
57
+ visibility: hidden;
58
+ }
59
+ .transparentContainer:hover .arrowIcon {
60
+ opacity: 1;
61
+ visibility: visible;
62
+ }
63
+ .disable {
64
+ color: var(--zdt_select_disable_text);
65
+ }
66
+
67
+ .leftIcon {
68
+ position: absolute;
69
+ top: 0 ;
70
+ bottom: 0 ;
71
+ width: var(--zd_size30) ;
72
+ }
73
+
74
+ [dir=ltr] .leftIcon {
75
+ left: 0 ;
76
+ }
77
+
78
+ [dir=rtl] .leftIcon {
79
+ right: 0 ;
80
+ }
81
+ [dir=ltr] .iconSelect {
82
+ padding-left: var(--zd_size30) ;
83
+ }
84
+ [dir=rtl] .iconSelect {
85
+ padding-right: var(--zd_size30) ;
86
+ }
87
+
88
+ .dropBoxList {
89
+ padding: var(--zd_size10) 0 ;
90
+ }
91
+ .responsivedropBoxList{
92
+ padding: var(--zd_size10) 0 0 0 ;
93
+ }
94
+ .rotate {
95
+ transform: rotateX(180deg);
96
+ }
97
+ .iconOnHoverStyle .arrowIcon,
98
+ .iconOnHoverReadonly .arrowIcon,
99
+ .iconOnHoverReadonly:hover .arrowIcon {
100
+ opacity: 0;
101
+ visibility: hidden;
102
+ }
103
+ .iconOnHoverStyle:hover .arrowIcon {
104
+ opacity: 1;
105
+ visibility: visible;
106
+ }
107
+ .loader {
108
+ padding: var(--zd_size10) ;
109
109
  }