@zohodesk/components 1.0.0-test-252 → 1.0.0

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 (601) hide show
  1. package/README.md +161 -1
  2. package/assets/Appearance/dark/mode/darkMode.module.css +181 -179
  3. package/assets/Appearance/dark/themes/blue/blueDarkCTAModifyCategory.module.css +452 -0
  4. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +31 -31
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +3 -0
  6. package/assets/Appearance/dark/themes/green/greenDarkCTAModifyCategory.module.css +452 -0
  7. package/assets/Appearance/dark/themes/green/greenDarkCTATheme.module.css +30 -30
  8. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +3 -0
  9. package/assets/Appearance/dark/themes/orange/orangeDarkCTAModifyCategory.module.css +452 -0
  10. package/assets/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +3 -0
  12. package/assets/Appearance/dark/themes/red/redDarkCTAModifyCategory.module.css +452 -0
  13. package/assets/Appearance/dark/themes/red/redDarkCTATheme.module.css +30 -30
  14. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +3 -0
  15. package/assets/Appearance/dark/themes/yellow/yellowDarkCTAModifyCategory.module.css +452 -0
  16. package/assets/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +30 -30
  17. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +3 -0
  18. package/assets/Appearance/default/mode/defaultMode.module.css +177 -175
  19. package/assets/Appearance/default/themes/blue/blueDefaultCTAModifyCategory.module.css +452 -0
  20. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +31 -31
  21. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +3 -0
  22. package/assets/Appearance/default/themes/green/greenDefaultCTAModifyCategory.module.css +452 -0
  23. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +30 -30
  24. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +3 -0
  25. package/assets/Appearance/default/themes/orange/orangeDefaultCTAModifyCategory.module.css +452 -0
  26. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +30 -30
  27. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -0
  28. package/assets/Appearance/default/themes/red/redDefaultCTAModifyCategory.module.css +452 -0
  29. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +30 -30
  30. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -0
  31. package/assets/Appearance/default/themes/yellow/yellowDefaultCTAModifyCategory.module.css +452 -0
  32. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +30 -30
  33. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -0
  34. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +182 -180
  35. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTAModifyCategory.module.css +452 -0
  36. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +31 -31
  37. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +3 -0
  38. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTAModifyCategory.module.css +452 -0
  39. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +30 -30
  40. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +3 -0
  41. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTAModifyCategory.module.css +452 -0
  42. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +30 -30
  43. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +3 -0
  44. package/assets/Appearance/pureDark/themes/red/redPureDarkCTAModifyCategory.module.css +452 -0
  45. package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +30 -30
  46. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +3 -0
  47. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTAModifyCategory.module.css +452 -0
  48. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +30 -30
  49. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +3 -0
  50. package/assets/Contrast/darkContrastLightness.module.css +39 -0
  51. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  52. package/assets/Contrast/pureDarkContrastLightness.module.css +39 -0
  53. package/css_error.log +1 -0
  54. package/es/Accordion/Accordion.js +19 -9
  55. package/es/Accordion/AccordionItem.js +13 -8
  56. package/es/Accordion/props/defaultProps.js +6 -2
  57. package/es/Accordion/props/propTypes.js +3 -0
  58. package/es/Animation/Animation.js +10 -9
  59. package/es/AppContainer/AppContainer.js +38 -15
  60. package/es/AppContainer/AppContainer.module.css +2 -2
  61. package/es/AppContainer/props/defaultProps.js +3 -1
  62. package/es/AppContainer/props/propTypes.js +2 -0
  63. package/es/Avatar/Avatar.js +48 -25
  64. package/es/Avatar/Avatar.module.css +59 -18
  65. package/es/Avatar/props/defaultProps.js +4 -1
  66. package/es/Avatar/props/propTypes.js +5 -2
  67. package/es/AvatarTeam/AvatarTeam.js +21 -11
  68. package/es/AvatarTeam/AvatarTeam.module.css +49 -21
  69. package/es/AvatarTeam/props/defaultProps.js +5 -1
  70. package/es/AvatarTeam/props/propTypes.js +5 -1
  71. package/es/Button/Button.js +55 -51
  72. package/{lib/Button → es/Button/css}/Button.module.css +62 -58
  73. package/es/Button/css/cssJSLogic.js +53 -0
  74. package/es/Button/index.js +2 -0
  75. package/es/Button/props/defaultProps.js +3 -1
  76. package/es/Button/props/propTypes.js +6 -2
  77. package/es/Buttongroup/Buttongroup.js +24 -16
  78. package/es/Buttongroup/Buttongroup.module.css +45 -28
  79. package/es/Buttongroup/props/defaultProps.js +3 -1
  80. package/es/Buttongroup/props/propTypes.js +3 -1
  81. package/es/Card/Card.js +48 -26
  82. package/es/Card/props/defaultProps.js +12 -2
  83. package/es/Card/props/propTypes.js +2 -2
  84. package/es/CheckBox/CheckBox.js +13 -9
  85. package/es/CheckBox/CheckBox.module.css +16 -16
  86. package/es/CheckBox/props/propTypes.js +1 -0
  87. package/es/DateTime/CalendarView.js +46 -19
  88. package/es/DateTime/DateTime.js +139 -77
  89. package/es/DateTime/DateTime.module.css +51 -48
  90. package/es/DateTime/DateTimePopupFooter.js +4 -2
  91. package/es/DateTime/DateTimePopupHeader.js +30 -11
  92. package/es/DateTime/DateWidget.js +122 -51
  93. package/es/DateTime/DateWidget.module.css +5 -5
  94. package/es/DateTime/DaysRow.js +6 -3
  95. package/es/DateTime/Time.js +10 -2
  96. package/es/DateTime/YearView.js +41 -9
  97. package/es/DateTime/YearView.module.css +33 -15
  98. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  99. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  100. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  101. package/es/DateTime/common.js +3 -0
  102. package/es/DateTime/constants.js +1 -0
  103. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  104. package/es/DateTime/dateFormatUtils/dateFormats.js +42 -0
  105. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  106. package/es/DateTime/dateFormatUtils/index.js +59 -2
  107. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  108. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  109. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  110. package/es/DateTime/index.js +1 -1
  111. package/es/DateTime/objectUtils.js +14 -20
  112. package/es/DateTime/props/defaultProps.js +2 -1
  113. package/es/DateTime/props/propTypes.js +5 -2
  114. package/es/DateTime/typeChecker.js +3 -0
  115. package/es/DateTime/validator.js +58 -6
  116. package/es/DropBox/DropBox.js +82 -218
  117. package/es/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  118. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  119. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +91 -0
  120. package/es/DropBox/DropBoxElement/props/defaultProps.js +18 -0
  121. package/es/DropBox/DropBoxElement/props/propTypes.js +45 -0
  122. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +54 -0
  123. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  124. package/es/DropBox/css/DropBox.module.css +59 -0
  125. package/es/DropBox/css/cssJSLogic.js +14 -0
  126. package/es/DropBox/props/defaultProps.js +9 -15
  127. package/es/DropBox/props/propTypes.js +9 -41
  128. package/es/DropDown/DropDown.js +16 -9
  129. package/es/DropDown/DropDown.module.css +2 -2
  130. package/es/DropDown/DropDownHeading.js +18 -11
  131. package/es/DropDown/DropDownHeading.module.css +3 -3
  132. package/es/DropDown/DropDownItem.js +8 -1
  133. package/es/DropDown/DropDownItem.module.css +9 -9
  134. package/es/DropDown/DropDownSearch.js +4 -0
  135. package/es/DropDown/DropDownSeparator.js +1 -0
  136. package/es/DropDown/DropDownSeparator.module.css +2 -2
  137. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  138. package/es/DropDown/index.js +7 -0
  139. package/es/DropDown/props/defaultProps.js +3 -1
  140. package/es/DropDown/props/propTypes.js +2 -1
  141. package/es/Heading/Heading.js +8 -7
  142. package/es/Heading/Heading.module.css +2 -2
  143. package/es/Label/Label.js +14 -9
  144. package/es/Label/Label.module.css +1 -1
  145. package/es/Label/props/defaultProps.js +2 -1
  146. package/es/Label/props/propTypes.js +1 -0
  147. package/es/Layout/Box.js +19 -4
  148. package/es/Layout/Container.js +18 -5
  149. package/es/Layout/Layout.module.css +15 -15
  150. package/es/Layout/index.js +9 -10
  151. package/es/Layout/props/defaultProps.js +6 -2
  152. package/es/Layout/props/propTypes.js +7 -3
  153. package/es/Layout/utils.js +5 -1
  154. package/es/ListItem/ListContainer.js +21 -9
  155. package/es/ListItem/ListItem.js +30 -14
  156. package/es/ListItem/ListItem.module.css +37 -30
  157. package/es/ListItem/ListItemWithAvatar.js +30 -15
  158. package/es/ListItem/ListItemWithCheckBox.js +22 -10
  159. package/es/ListItem/ListItemWithIcon.js +29 -14
  160. package/es/ListItem/ListItemWithRadio.js +22 -10
  161. package/es/ListItem/index.js +6 -0
  162. package/es/ListItem/props/defaultProps.js +18 -6
  163. package/es/ListItem/props/propTypes.js +13 -1
  164. package/es/Modal/Modal.js +35 -17
  165. package/es/MultiSelect/AdvancedGroupMultiSelect.js +100 -20
  166. package/es/MultiSelect/AdvancedMultiSelect.js +45 -19
  167. package/es/MultiSelect/EmptyState.js +6 -0
  168. package/es/MultiSelect/MultiSelect.js +129 -46
  169. package/es/MultiSelect/MultiSelect.module.css +32 -31
  170. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  171. package/es/MultiSelect/MultiSelectWithAvatar.js +43 -19
  172. package/es/MultiSelect/SelectedOptions.js +6 -3
  173. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  174. package/es/MultiSelect/Suggestions.js +13 -6
  175. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  176. package/es/MultiSelect/index.js +4 -0
  177. package/es/MultiSelect/props/defaultProps.js +11 -4
  178. package/es/MultiSelect/props/propTypes.js +17 -5
  179. package/es/PopOver/PopOver.js +25 -9
  180. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  181. package/es/PopOver/index.js +3 -0
  182. package/es/Popup/Popup.js +80 -31
  183. package/es/Popup/__tests__/Popup.spec.js +17 -5
  184. package/es/Popup/viewPort.js +16 -4
  185. package/es/Provider/AvatarSize.js +1 -0
  186. package/es/Provider/IdProvider.js +16 -10
  187. package/es/Provider/LibraryContext.js +6 -4
  188. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  189. package/es/Provider/ZindexProvider.js +9 -2
  190. package/es/Provider/index.js +4 -0
  191. package/es/Radio/Radio.js +9 -7
  192. package/es/Radio/Radio.module.css +3 -3
  193. package/es/Responsive/CustomResponsive.js +37 -21
  194. package/es/Responsive/RefWrapper.js +6 -7
  195. package/es/Responsive/ResizeComponent.js +35 -25
  196. package/es/Responsive/ResizeObserver.js +26 -6
  197. package/es/Responsive/Responsive.js +34 -20
  198. package/es/Responsive/index.js +9 -8
  199. package/es/Responsive/sizeObservers.js +28 -7
  200. package/es/Responsive/utils/index.js +7 -5
  201. package/es/Responsive/utils/shallowCompare.js +7 -2
  202. package/es/Responsive/windowResizeObserver.js +7 -0
  203. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  204. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  205. package/es/Ribbon/Ribbon.js +21 -15
  206. package/es/Ribbon/Ribbon.module.css +133 -55
  207. package/es/Ribbon/props/defaultProps.js +2 -1
  208. package/es/Ribbon/props/propTypes.js +2 -1
  209. package/es/RippleEffect/RippleEffect.js +6 -7
  210. package/es/Select/GroupSelect.js +71 -23
  211. package/es/Select/Select.js +115 -50
  212. package/es/Select/Select.module.css +23 -23
  213. package/es/Select/SelectWithAvatar.js +31 -12
  214. package/es/Select/SelectWithIcon.js +60 -14
  215. package/es/Select/__tests__/Select.spec.js +6 -8
  216. package/es/Select/index.js +4 -0
  217. package/es/Select/props/defaultProps.js +6 -1
  218. package/es/Select/props/propTypes.js +10 -4
  219. package/es/Stencils/Stencils.js +10 -9
  220. package/es/Stencils/Stencils.module.css +2 -2
  221. package/es/Switch/Switch.js +14 -8
  222. package/es/Switch/Switch.module.css +49 -32
  223. package/es/Switch/props/defaultProps.js +2 -1
  224. package/es/Switch/props/propTypes.js +1 -0
  225. package/es/Tab/Tab.js +14 -11
  226. package/es/Tab/Tab.module.css +14 -15
  227. package/es/Tab/TabContent.js +6 -3
  228. package/es/Tab/TabContentWrapper.js +6 -2
  229. package/es/Tab/TabWrapper.js +9 -4
  230. package/es/Tab/Tabs.js +85 -21
  231. package/es/Tab/Tabs.module.css +36 -40
  232. package/es/Tab/__tests__/Tab.spec.js +4 -12
  233. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  234. package/es/Tab/props/defaultProps.js +10 -5
  235. package/es/Tab/props/propTypes.js +10 -5
  236. package/es/Tag/Tag.js +16 -10
  237. package/es/Tag/Tag.module.css +10 -10
  238. package/es/Tag/props/defaultProps.js +2 -1
  239. package/es/Tag/props/propTypes.js +2 -1
  240. package/es/TextBox/TextBox.js +26 -10
  241. package/es/TextBox/TextBox.module.css +6 -5
  242. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  243. package/es/TextBox/props/defaultProps.js +2 -1
  244. package/es/TextBox/props/propTypes.js +2 -1
  245. package/es/TextBoxIcon/TextBoxIcon.js +39 -13
  246. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
  247. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  248. package/es/TextBoxIcon/props/defaultProps.js +2 -1
  249. package/es/TextBoxIcon/props/propTypes.js +1 -0
  250. package/es/Textarea/Textarea.js +23 -10
  251. package/es/Textarea/Textarea.module.css +6 -6
  252. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  253. package/es/Textarea/props/defaultProps.js +2 -1
  254. package/es/Textarea/props/propTypes.js +1 -0
  255. package/es/Tooltip/Tooltip.js +67 -21
  256. package/es/Tooltip/Tooltip.module.css +40 -8
  257. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  258. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +7 -6
  259. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +11 -8
  260. package/es/VelocityAnimation/index.js +2 -0
  261. package/es/common/a11y.module.css +4 -0
  262. package/es/common/animation.module.css +8 -8
  263. package/es/common/avatarsizes.module.css +6 -2
  264. package/es/common/basicReset.module.css +3 -3
  265. package/es/common/boxShadow.module.css +34 -0
  266. package/es/common/common.module.css +24 -24
  267. package/es/common/customscroll.module.css +4 -2
  268. package/es/common/reset.module.css +1 -0
  269. package/es/css.js +2 -1
  270. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  271. package/es/deprecated/PortalLayer/PortalLayer.js +30 -24
  272. package/es/index.js +30 -146
  273. package/es/semantic/Button/Button.js +9 -7
  274. package/es/semantic/Button/semanticButton.module.css +1 -1
  275. package/es/semantic/index.js +1 -0
  276. package/es/utils/Common.js +74 -7
  277. package/es/utils/ContextOptimizer.js +4 -5
  278. package/es/utils/__tests__/debounce.spec.js +2 -2
  279. package/es/utils/constructFullName.js +2 -0
  280. package/es/utils/css/compileClassNames.js +28 -0
  281. package/es/utils/css/mergeStyle.js +57 -0
  282. package/es/utils/css/utils.js +24 -0
  283. package/es/utils/datetime/GMTZones.js +48 -0
  284. package/es/utils/datetime/common.js +31 -7
  285. package/es/utils/debounce.js +5 -1
  286. package/es/utils/dropDownUtils.js +71 -13
  287. package/es/utils/getInitial.js +4 -0
  288. package/es/utils/index.js +3 -0
  289. package/es/utils/shallowEqual.js +6 -0
  290. package/install.md +10 -0
  291. package/lib/Accordion/Accordion.js +50 -18
  292. package/lib/Accordion/AccordionItem.js +47 -20
  293. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  294. package/lib/Accordion/index.js +3 -0
  295. package/lib/Accordion/props/defaultProps.js +6 -2
  296. package/lib/Accordion/props/propTypes.js +6 -0
  297. package/lib/Animation/Animation.js +44 -21
  298. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  299. package/lib/Animation/props/propTypes.js +3 -0
  300. package/lib/AppContainer/AppContainer.js +75 -27
  301. package/lib/AppContainer/AppContainer.module.css +2 -2
  302. package/lib/AppContainer/props/defaultProps.js +3 -1
  303. package/lib/AppContainer/props/propTypes.js +5 -0
  304. package/lib/Avatar/Avatar.js +97 -44
  305. package/lib/Avatar/Avatar.module.css +59 -18
  306. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  307. package/lib/Avatar/props/defaultProps.js +4 -1
  308. package/lib/Avatar/props/propTypes.js +8 -2
  309. package/lib/AvatarTeam/AvatarTeam.js +64 -30
  310. package/lib/AvatarTeam/AvatarTeam.module.css +49 -21
  311. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  312. package/lib/AvatarTeam/props/defaultProps.js +5 -1
  313. package/lib/AvatarTeam/props/propTypes.js +8 -1
  314. package/lib/Button/Button.js +64 -74
  315. package/{es/Button → lib/Button/css}/Button.module.css +62 -58
  316. package/lib/Button/css/cssJSLogic.js +41 -0
  317. package/lib/Button/index.js +23 -0
  318. package/lib/Button/props/defaultProps.js +5 -1
  319. package/lib/Button/props/propTypes.js +11 -3
  320. package/lib/Buttongroup/Buttongroup.js +49 -19
  321. package/lib/Buttongroup/Buttongroup.module.css +45 -28
  322. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  323. package/lib/Buttongroup/props/defaultProps.js +3 -1
  324. package/lib/Buttongroup/props/propTypes.js +6 -1
  325. package/lib/Card/Card.js +119 -55
  326. package/lib/Card/__tests__/Card.spec.js +10 -1
  327. package/lib/Card/index.js +4 -0
  328. package/lib/Card/props/defaultProps.js +16 -4
  329. package/lib/Card/props/propTypes.js +5 -2
  330. package/lib/CheckBox/CheckBox.js +76 -48
  331. package/lib/CheckBox/CheckBox.module.css +16 -16
  332. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  333. package/lib/CheckBox/props/propTypes.js +4 -0
  334. package/lib/DateTime/CalendarView.js +95 -38
  335. package/lib/DateTime/DateTime.js +309 -216
  336. package/lib/DateTime/DateTime.module.css +51 -48
  337. package/lib/DateTime/DateTimePopupFooter.js +30 -5
  338. package/lib/DateTime/DateTimePopupHeader.js +69 -23
  339. package/lib/DateTime/DateWidget.js +370 -260
  340. package/lib/DateTime/DateWidget.module.css +5 -5
  341. package/lib/DateTime/DaysRow.js +28 -3
  342. package/lib/DateTime/Time.js +72 -29
  343. package/lib/DateTime/YearView.js +89 -30
  344. package/lib/DateTime/YearView.module.css +33 -15
  345. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  346. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  347. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  348. package/lib/DateTime/common.js +6 -0
  349. package/lib/DateTime/constants.js +1 -0
  350. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  351. package/lib/DateTime/dateFormatUtils/dateFormats.js +50 -0
  352. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  353. package/lib/DateTime/dateFormatUtils/index.js +99 -13
  354. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  355. package/lib/DateTime/dateFormatUtils/timeChange.js +52 -20
  356. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  357. package/lib/DateTime/index.js +3 -1
  358. package/lib/DateTime/objectUtils.js +24 -20
  359. package/lib/DateTime/props/defaultProps.js +2 -1
  360. package/lib/DateTime/props/propTypes.js +21 -2
  361. package/lib/DateTime/typeChecker.js +4 -0
  362. package/lib/DateTime/validator.js +69 -6
  363. package/lib/DropBox/DropBox.js +102 -249
  364. package/lib/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  365. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  366. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +81 -0
  367. package/lib/DropBox/DropBoxElement/props/defaultProps.js +25 -0
  368. package/lib/DropBox/DropBoxElement/props/propTypes.js +56 -0
  369. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +60 -0
  370. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  371. package/lib/DropBox/css/DropBox.module.css +59 -0
  372. package/lib/DropBox/css/cssJSLogic.js +20 -0
  373. package/lib/DropBox/props/defaultProps.js +20 -17
  374. package/lib/DropBox/props/propTypes.js +22 -43
  375. package/lib/DropDown/DropDown.js +58 -10
  376. package/lib/DropDown/DropDown.module.css +2 -2
  377. package/lib/DropDown/DropDownHeading.js +47 -18
  378. package/lib/DropDown/DropDownHeading.module.css +3 -3
  379. package/lib/DropDown/DropDownItem.js +43 -18
  380. package/lib/DropDown/DropDownItem.module.css +9 -9
  381. package/lib/DropDown/DropDownSearch.js +39 -14
  382. package/lib/DropDown/DropDownSeparator.js +23 -1
  383. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  384. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  385. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  386. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  387. package/lib/DropDown/index.js +65 -0
  388. package/lib/DropDown/props/defaultProps.js +3 -1
  389. package/lib/DropDown/props/propTypes.js +7 -1
  390. package/lib/Heading/Heading.js +42 -16
  391. package/lib/Heading/Heading.module.css +2 -2
  392. package/lib/Heading/props/propTypes.js +3 -0
  393. package/lib/Label/Label.js +47 -19
  394. package/lib/Label/Label.module.css +1 -1
  395. package/lib/Label/__tests__/Label.spec.js +14 -1
  396. package/lib/Label/props/defaultProps.js +2 -1
  397. package/lib/Label/props/propTypes.js +4 -0
  398. package/lib/Layout/Box.js +41 -16
  399. package/lib/Layout/Container.js +39 -15
  400. package/lib/Layout/Layout.module.css +15 -15
  401. package/lib/Layout/__tests__/Box.spec.js +65 -49
  402. package/lib/Layout/__tests__/Container.spec.js +67 -50
  403. package/lib/Layout/index.js +4 -11
  404. package/lib/Layout/props/defaultProps.js +6 -2
  405. package/lib/Layout/props/propTypes.js +10 -3
  406. package/lib/Layout/utils.js +15 -1
  407. package/lib/ListItem/ListContainer.js +61 -34
  408. package/lib/ListItem/ListItem.js +92 -50
  409. package/lib/ListItem/ListItem.module.css +37 -30
  410. package/lib/ListItem/ListItemWithAvatar.js +98 -54
  411. package/lib/ListItem/ListItemWithCheckBox.js +82 -41
  412. package/lib/ListItem/ListItemWithIcon.js +92 -50
  413. package/lib/ListItem/ListItemWithRadio.js +83 -42
  414. package/lib/ListItem/index.js +55 -0
  415. package/lib/ListItem/props/defaultProps.js +18 -6
  416. package/lib/ListItem/props/propTypes.js +18 -3
  417. package/lib/Modal/Modal.js +51 -13
  418. package/lib/Modal/props/propTypes.js +3 -0
  419. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -167
  420. package/lib/MultiSelect/AdvancedMultiSelect.js +212 -130
  421. package/lib/MultiSelect/EmptyState.js +48 -21
  422. package/lib/MultiSelect/MultiSelect.js +341 -205
  423. package/lib/MultiSelect/MultiSelect.module.css +32 -31
  424. package/lib/MultiSelect/MultiSelectHeader.js +29 -5
  425. package/lib/MultiSelect/MultiSelectWithAvatar.js +126 -65
  426. package/lib/MultiSelect/SelectedOptions.js +42 -14
  427. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  428. package/lib/MultiSelect/Suggestions.js +66 -29
  429. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  430. package/lib/MultiSelect/index.js +39 -0
  431. package/lib/MultiSelect/props/defaultProps.js +13 -4
  432. package/lib/MultiSelect/props/propTypes.js +20 -5
  433. package/lib/PopOver/PopOver.js +101 -53
  434. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  435. package/lib/PopOver/index.js +31 -0
  436. package/lib/PopOver/props/propTypes.js +3 -0
  437. package/lib/Popup/Popup.js +158 -83
  438. package/lib/Popup/__tests__/Popup.spec.js +42 -5
  439. package/lib/Popup/viewPort.js +28 -14
  440. package/lib/Provider/AvatarSize.js +5 -0
  441. package/lib/Provider/Config.js +2 -0
  442. package/lib/Provider/CssProvider.js +4 -0
  443. package/lib/Provider/IdProvider.js +23 -12
  444. package/lib/Provider/LibraryContext.js +32 -10
  445. package/lib/Provider/LibraryContextInit.js +4 -0
  446. package/lib/Provider/NumberGenerator/NumberGenerator.js +43 -14
  447. package/lib/Provider/ZindexProvider.js +15 -3
  448. package/lib/Provider/index.js +81 -0
  449. package/lib/Radio/Radio.js +65 -40
  450. package/lib/Radio/Radio.module.css +3 -3
  451. package/lib/Radio/__tests__/Radiospec.js +9 -5
  452. package/lib/Radio/props/propTypes.js +3 -0
  453. package/lib/Responsive/CustomResponsive.js +76 -26
  454. package/lib/Responsive/RefWrapper.js +15 -7
  455. package/lib/Responsive/ResizeComponent.js +58 -27
  456. package/lib/Responsive/ResizeObserver.js +23 -6
  457. package/lib/Responsive/Responsive.js +76 -24
  458. package/lib/Responsive/index.js +49 -22
  459. package/lib/Responsive/props/propTypes.js +3 -0
  460. package/lib/Responsive/sizeObservers.js +51 -13
  461. package/lib/Responsive/utils/index.js +11 -3
  462. package/lib/Responsive/utils/shallowCompare.js +11 -2
  463. package/lib/Responsive/windowResizeObserver.js +8 -0
  464. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +44 -14
  465. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  466. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  467. package/lib/Ribbon/Ribbon.js +48 -21
  468. package/lib/Ribbon/Ribbon.module.css +133 -55
  469. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  470. package/lib/Ribbon/props/defaultProps.js +2 -1
  471. package/lib/Ribbon/props/propTypes.js +5 -1
  472. package/lib/RippleEffect/RippleEffect.js +23 -14
  473. package/lib/RippleEffect/props/propTypes.js +3 -0
  474. package/lib/Select/GroupSelect.js +240 -137
  475. package/lib/Select/Select.js +320 -220
  476. package/lib/Select/Select.module.css +23 -23
  477. package/lib/Select/SelectWithAvatar.js +112 -59
  478. package/lib/Select/SelectWithIcon.js +145 -82
  479. package/lib/Select/__tests__/Select.spec.js +131 -89
  480. package/lib/Select/index.js +39 -0
  481. package/lib/Select/props/defaultProps.js +10 -2
  482. package/lib/Select/props/propTypes.js +13 -4
  483. package/lib/Stencils/Stencils.js +35 -13
  484. package/lib/Stencils/Stencils.module.css +2 -2
  485. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  486. package/lib/Stencils/props/propTypes.js +3 -0
  487. package/lib/Switch/Switch.js +64 -35
  488. package/lib/Switch/Switch.module.css +49 -32
  489. package/lib/Switch/props/defaultProps.js +2 -1
  490. package/lib/Switch/props/propTypes.js +4 -0
  491. package/lib/Tab/Tab.js +49 -33
  492. package/lib/Tab/Tab.module.css +14 -15
  493. package/lib/Tab/TabContent.js +15 -6
  494. package/lib/Tab/TabContentWrapper.js +15 -6
  495. package/lib/Tab/TabWrapper.js +37 -17
  496. package/lib/Tab/Tabs.js +193 -94
  497. package/lib/Tab/Tabs.module.css +36 -40
  498. package/lib/Tab/__tests__/Tab.spec.js +74 -70
  499. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  500. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  501. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  502. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  503. package/lib/Tab/index.js +6 -0
  504. package/lib/Tab/props/defaultProps.js +10 -5
  505. package/lib/Tab/props/propTypes.js +13 -5
  506. package/lib/Tag/Tag.js +82 -48
  507. package/lib/Tag/Tag.module.css +10 -10
  508. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  509. package/lib/Tag/props/defaultProps.js +2 -1
  510. package/lib/Tag/props/propTypes.js +5 -1
  511. package/lib/TextBox/TextBox.js +93 -61
  512. package/lib/TextBox/TextBox.module.css +6 -5
  513. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  514. package/lib/TextBox/props/defaultProps.js +2 -1
  515. package/lib/TextBox/props/propTypes.js +6 -1
  516. package/lib/TextBoxIcon/TextBoxIcon.js +108 -60
  517. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
  518. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  519. package/lib/TextBoxIcon/props/defaultProps.js +2 -1
  520. package/lib/TextBoxIcon/props/propTypes.js +4 -0
  521. package/lib/Textarea/Textarea.js +63 -32
  522. package/lib/Textarea/Textarea.module.css +6 -6
  523. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  524. package/lib/Textarea/props/defaultProps.js +2 -1
  525. package/lib/Textarea/props/propTypes.js +4 -0
  526. package/lib/Tooltip/Tooltip.js +102 -35
  527. package/lib/Tooltip/Tooltip.module.css +40 -8
  528. package/lib/Tooltip/__tests__/Tooltip.spec.js +23 -0
  529. package/lib/Tooltip/props/propTypes.js +3 -0
  530. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +43 -17
  531. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  532. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +55 -24
  533. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  534. package/lib/VelocityAnimation/index.js +23 -0
  535. package/lib/common/a11y.module.css +4 -0
  536. package/lib/common/animation.module.css +8 -8
  537. package/lib/common/avatarsizes.module.css +6 -2
  538. package/lib/common/basicReset.module.css +3 -3
  539. package/lib/common/boxShadow.module.css +34 -0
  540. package/lib/common/common.module.css +24 -24
  541. package/lib/common/customscroll.module.css +4 -2
  542. package/lib/common/reset.module.css +1 -0
  543. package/lib/css.js +42 -1
  544. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  545. package/lib/deprecated/PortalLayer/PortalLayer.js +50 -24
  546. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  547. package/lib/index.js +214 -210
  548. package/lib/semantic/Button/Button.js +47 -24
  549. package/lib/semantic/Button/props/propTypes.js +3 -0
  550. package/lib/semantic/Button/semanticButton.module.css +1 -1
  551. package/lib/semantic/index.js +15 -0
  552. package/lib/utils/Common.js +136 -17
  553. package/lib/utils/ContextOptimizer.js +16 -10
  554. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  555. package/lib/utils/__tests__/debounce.spec.js +3 -2
  556. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  557. package/lib/utils/constructFullName.js +11 -2
  558. package/lib/utils/css/compileClassNames.js +37 -0
  559. package/lib/utils/css/mergeStyle.js +69 -0
  560. package/lib/utils/css/utils.js +41 -0
  561. package/lib/utils/datetime/GMTZones.js +55 -0
  562. package/lib/utils/datetime/common.js +52 -7
  563. package/lib/utils/debounce.js +6 -1
  564. package/lib/utils/dropDownUtils.js +177 -56
  565. package/lib/utils/dummyFunction.js +2 -0
  566. package/lib/utils/getHTMLFontSize.js +1 -0
  567. package/lib/utils/getInitial.js +6 -0
  568. package/lib/utils/index.js +121 -0
  569. package/lib/utils/scrollTo.js +2 -0
  570. package/lib/utils/shallowEqual.js +8 -0
  571. package/package.json +61 -26
  572. package/postPublish.js +8 -0
  573. package/prePublish.js +70 -0
  574. package/docs/external/active-line.js +0 -72
  575. package/docs/external/autorefresh.js +0 -47
  576. package/docs/external/codemirror.js +0 -9681
  577. package/docs/external/css/hopscotch.css +0 -576
  578. package/docs/external/css/styleGuide.css +0 -1100
  579. package/docs/external/css.js +0 -466
  580. package/docs/external/designTokens.js +0 -1
  581. package/docs/external/foldcode.js +0 -152
  582. package/docs/external/format.js +0 -129
  583. package/docs/external/htmlmixed.js +0 -84
  584. package/docs/external/images/bottom.png +0 -0
  585. package/docs/external/images/bottombg.jpg +0 -0
  586. package/docs/external/images/desk.png +0 -0
  587. package/docs/external/images/desklogo.png +0 -0
  588. package/docs/external/images/menu.png +0 -0
  589. package/docs/external/index.html +0 -127
  590. package/docs/external/javascript.js +0 -422
  591. package/docs/external/jsx.js +0 -148
  592. package/docs/external/matchbrackets.js +0 -145
  593. package/docs/external/xml.js +0 -322
  594. package/docs/package.json +0 -41
  595. package/docs/src/index.js +0 -1311
  596. package/es/Button/__tests__/Button.spec.js +0 -190
  597. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  598. package/es/DropBox/DropBox.module.css +0 -406
  599. package/lib/Button/__tests__/Button.spec.js +0 -193
  600. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  601. package/lib/DropBox/DropBox.module.css +0 -406
@@ -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';
@@ -12,19 +14,20 @@ import Card, { CardHeader, CardContent, CardFooter } from '../Card/Card';
12
14
  import Suggestions from '../MultiSelect/Suggestions';
13
15
  import EmptyState from '../MultiSelect/EmptyState';
14
16
  import { getUniqueId } from '../Provider/IdProvider';
15
- import Icon from '@zohodesk/icons/lib/Icon';
17
+ 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,
@@ -676,7 +723,14 @@ export class SelectComponent extends Component {
676
723
  iconOnHover,
677
724
  customProps,
678
725
  autoComplete,
679
- isLoading
726
+ ariaLabelledby,
727
+ isLoading,
728
+ dataSelectorId,
729
+ isAbsolutePositioningNeeded,
730
+ positionsOffset,
731
+ targetOffset,
732
+ isRestrictScroll,
733
+ dropBoxPortalId
680
734
  } = this.props;
681
735
  let {
682
736
  TextBoxIcon_i18n,
@@ -704,22 +758,25 @@ export class SelectComponent extends Component {
704
758
  } = customProps;
705
759
  return /*#__PURE__*/React.createElement("div", {
706
760
  className: `${isParentBased || isReadOnly || isDisabled ? style.container : ''} ${style[`box_${size}`]} ${isReadOnly ? style.readonly : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${iconOnHover && (isReadOnly || isDisabled) ? style.iconOnHoverReadonly : iconOnHover && !(isReadOnly || isDisabled) ? style.iconOnHoverStyle : ''}`,
707
- "data-title": isDisabled ? title : null
761
+ "data-title": isDisabled ? title : null,
762
+ "data-selector-id": dataSelectorId
708
763
  }, /*#__PURE__*/React.createElement("div", {
709
764
  className: `${className ? className : ''}`,
710
765
  onClick: isDisabled || isReadOnly ? null : this.togglePopup,
711
766
  ref: getTargetRef,
712
- "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}`
713
769
  }, needSelectDownIcon ? /*#__PURE__*/React.createElement(TextBoxIcon, {
714
770
  a11y: {
715
- role: 'combobox',
771
+ role: 'Menuitem',
716
772
  ariaLabel: TextBox_ally_label,
717
773
  ariaControls: setAriaId,
718
774
  ariaExpanded: !isReadOnly && !isDisabled && isPopupOpen ? true : false,
719
775
  ariaHaspopup: true,
720
776
  ariaReadonly: true,
721
777
  ariaActivedescendant: selectedId,
722
- ariaOwns: setAriaId
778
+ ariaOwns: setAriaId,
779
+ ariaLabelledby: ariaLabelledby
723
780
  },
724
781
  isDisabled: isDisabled,
725
782
  iconRotated: isPopupOpen,
@@ -764,14 +821,15 @@ export class SelectComponent extends Component {
764
821
  size: "7"
765
822
  })))) : /*#__PURE__*/React.createElement(Textbox, {
766
823
  a11y: {
767
- role: 'combobox',
824
+ role: 'Menuitem',
768
825
  ariaLabel: TextBox_ally_label,
769
826
  ariaControls: setAriaId,
770
827
  ariaExpanded: !isReadOnly && !isDisabled && isPopupOpen ? true : false,
771
828
  ariaHaspopup: true,
772
829
  ariaReadonly: true,
773
830
  ariaActivedescendant: selectedId,
774
- ariaOwns: setAriaId
831
+ ariaOwns: setAriaId,
832
+ ariaLabelledby: ariaLabelledby
775
833
  },
776
834
  isDisabled: isDisabled,
777
835
  inputRef: this.valueInputRef,
@@ -814,7 +872,12 @@ export class SelectComponent extends Component {
814
872
  size: boxSize,
815
873
  isPadding: false,
816
874
  isResponsivePadding: getFooter ? false : true,
817
- alignBox: "row"
875
+ alignBox: "row",
876
+ isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
877
+ positionsOffset: positionsOffset,
878
+ targetOffset: targetOffset,
879
+ isRestrictScroll: isRestrictScroll,
880
+ portalId: dropBoxPortalId
818
881
  }, isLoading ? /*#__PURE__*/React.createElement(Container, {
819
882
  align: "both",
820
883
  className: style.loader
@@ -883,20 +946,22 @@ export class SelectComponent extends Component {
883
946
  }, getChildren())));
884
947
  }) : null);
885
948
  }
949
+
886
950
  }
887
951
  SelectComponent.propTypes = Select_propTypes;
888
952
  SelectComponent.defaultProps = Select_defaultProps;
889
953
  SelectComponent.displayName = 'Select';
890
954
  let Select = Popup(SelectComponent);
891
955
  Select.defaultProps = SelectComponent.defaultProps;
892
- export default Select;
893
- if (false) {
894
- Select.docs = {
895
- componentGroup: 'Form Elements',
896
- folderName: 'Style Guide',
897
- external: true,
898
- description: ' '
899
- };
900
- // eslint-disable-next-line react/forbid-foreign-prop-types
901
- Select.propTypes = SelectComponent.propTypes;
902
- }
956
+ Select.propTypes = Select_propTypes;
957
+ Select.displayName = 'Select';
958
+ export default Select; // if (__DOCS__) {
959
+ // Select.docs = {
960
+ // componentGroup: 'Form Elements',
961
+ // folderName: 'Style Guide',
962
+ // external: true,
963
+ // description: ' '
964
+ // };
965
+ // // eslint-disable-next-line react/forbid-foreign-prop-types
966
+ // Select.propTypes = SelectComponent.propTypes;
967
+ // }
@@ -2,24 +2,24 @@
2
2
  cursor: pointer;
3
3
  }
4
4
  .small {
5
- max-height: var(--zd_size200);
5
+ max-height: var(--zd_size200) ;
6
6
  }
7
7
  .medium {
8
- max-height: var(--zd_size350);
8
+ max-height: var(--zd_size350) ;
9
9
  }
10
10
  .large {
11
- max-height: var(--zd_size400);
11
+ max-height: var(--zd_size400) ;
12
12
  }
13
13
  .emptyState {
14
- font-size: var(--zd_font_size14);
14
+ font-size: var(--zd_font_size14) ;
15
15
  color: var(--zdt_select_emptystate_text);
16
16
  composes: semibold from '../common/common.module.css';
17
17
  }
18
18
  .box_small .emptyState {
19
- padding: var(--zd_size12) var(--zd_size6);
19
+ padding: var(--zd_size12) var(--zd_size6) ;
20
20
  }
21
21
  .box_medium .emptyState {
22
- padding: var(--zd_size12) var(--zd_size15);
22
+ padding: var(--zd_size12) var(--zd_size15) ;
23
23
  }
24
24
  .hide {
25
25
  composes: vishidden from '../common/common.module.css';
@@ -28,26 +28,26 @@
28
28
  position: relative;
29
29
  }
30
30
  .arrowIcon {
31
- height: var(--zd_size8);
31
+ height: var(--zd_size8) ;
32
32
  line-height: var(--zd_size8);
33
33
  }
34
34
  .small.search {
35
- padding: 0 var(--zd_size5);
35
+ padding: 0 var(--zd_size5) ;
36
36
  }
37
37
  .medium.search {
38
- padding: var(--zd_size3) var(--zd_size20) 0;
38
+ padding: var(--zd_size3) var(--zd_size20) 0 ;
39
39
  }
40
40
  .title {
41
- margin-bottom: var(--zd_size6);
41
+ margin-bottom: var(--zd_size6) ;
42
42
  }
43
43
  .groupTitle {
44
- margin: var(--zd_size6) 0;
44
+ margin: var(--zd_size6) 0 ;
45
45
  }
46
46
  .listItemContainer {
47
- padding: var(--zd_size10) 0;
47
+ padding: var(--zd_size10) 0 ;
48
48
  }
49
49
  .responsivelistItemContainer {
50
- padding: var(--zd_size10) 0 0;
50
+ padding: var(--zd_size10) 0 0 ;
51
51
  }
52
52
  .readonly {
53
53
  --textboxicon_icon_cursor: not-allowed;
@@ -66,30 +66,30 @@
66
66
 
67
67
  .leftIcon {
68
68
  position: absolute;
69
- top: 0;
70
- bottom: 0;
71
- width: var(--zd_size30);
69
+ top: 0 ;
70
+ bottom: 0 ;
71
+ width: var(--zd_size30) ;
72
72
  }
73
73
 
74
74
  [dir=ltr] .leftIcon {
75
- left: 0;
75
+ left: 0 ;
76
76
  }
77
77
 
78
78
  [dir=rtl] .leftIcon {
79
- right: 0;
79
+ right: 0 ;
80
80
  }
81
81
  [dir=ltr] .iconSelect {
82
- padding-left: var(--zd_size30);
82
+ padding-left: var(--zd_size30) ;
83
83
  }
84
84
  [dir=rtl] .iconSelect {
85
- padding-right: var(--zd_size30);
85
+ padding-right: var(--zd_size30) ;
86
86
  }
87
87
 
88
88
  .dropBoxList {
89
- padding: var(--zd_size10) 0;
89
+ padding: var(--zd_size10) 0 ;
90
90
  }
91
91
  .responsivedropBoxList{
92
- padding: var(--zd_size10) 0 0 0;
92
+ padding: var(--zd_size10) 0 0 0 ;
93
93
  }
94
94
  .rotate {
95
95
  transform: rotateX(180deg);
@@ -105,5 +105,5 @@
105
105
  visibility: visible;
106
106
  }
107
107
  .loader {
108
- padding: var(--zd_size10);
108
+ padding: var(--zd_size10) ;
109
109
  }