@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
@@ -5,7 +5,7 @@
5
5
  cursor: not-allowed;
6
6
  }
7
7
  .container {
8
- max-height: var(--zd_size120);
8
+ max-height: var(--zd_size120) ;
9
9
  composes: oflowy from '../common/common.module.css';
10
10
  }
11
11
  .hasBorder {
@@ -42,17 +42,17 @@
42
42
  }
43
43
 
44
44
  .container.medium {
45
- padding-bottom: var(--zd_size8);
45
+ padding-bottom: var(--zd_size8) ;
46
46
  }
47
47
 
48
48
  .container.xmedium {
49
- min-height: var(--zd_size30);
50
- padding-bottom: var(--zd_size3);
49
+ min-height: var(--zd_size30) ;
50
+ padding-bottom: var(--zd_size3) ;
51
51
  }
52
52
 
53
53
  .delete {
54
54
  font: inherit;
55
- padding: var(--zd_size2) var(--zd_size6);
55
+ padding: var(--zd_size2) var(--zd_size6) ;
56
56
  cursor: pointer;
57
57
  border: 0;
58
58
  background-color: var(--zdt_multiselect_delete_bg);
@@ -82,26 +82,26 @@
82
82
  }
83
83
 
84
84
  .tag {
85
- max-width: 100%;
85
+ max-width: 100% ;
86
86
  }
87
87
 
88
88
  [dir=ltr] .container.xmedium .tag {
89
- margin: var(--zd_size2) var(--zd_size10) 0 0;
89
+ margin: var(--zd_size2) var(--zd_size10) 0 0 ;
90
90
  }
91
91
 
92
92
  [dir=rtl] .container.xmedium .tag {
93
- margin: var(--zd_size2) 0 0 var(--zd_size10);
93
+ margin: var(--zd_size2) 0 0 var(--zd_size10) ;
94
94
  }
95
95
 
96
96
  [dir=ltr] .container.medium .tag {
97
- margin: var(--zd_size5) var(--zd_size10) 0 0;
97
+ margin: var(--zd_size5) var(--zd_size10) 0 0 ;
98
98
  }
99
99
 
100
100
  [dir=rtl] .container.medium .tag {
101
- margin: var(--zd_size5) 0 0 var(--zd_size10);
101
+ margin: var(--zd_size5) 0 0 var(--zd_size10) ;
102
102
  }
103
103
  .responsiveParent{
104
- width: 100%;
104
+ width: 100% ;
105
105
  }
106
106
  .box {
107
107
  background: var(--zdt_multiselect_box_bg);
@@ -112,21 +112,21 @@
112
112
  }
113
113
 
114
114
  .small {
115
- max-height: var(--zd_size200);
115
+ max-height: var(--zd_size200) ;
116
116
  }
117
117
 
118
118
  .medium {
119
- max-height: var(--zd_size350);
119
+ max-height: var(--zd_size350) ;
120
120
  }
121
121
 
122
122
  .large {
123
- max-height: var(--zd_size400);
123
+ max-height: var(--zd_size400) ;
124
124
  }
125
125
 
126
126
  .commonMessage {
127
- font-size: var(--zd_font_size14);
127
+ font-size: var(--zd_font_size14) ;
128
128
  composes: semibold from '../common/common.module.css';
129
- padding: var(--zd_size12) var(--zd_size15);
129
+ padding: var(--zd_size12) var(--zd_size15) ;
130
130
  }
131
131
  .default,
132
132
  .dark {
@@ -154,53 +154,54 @@
154
154
  overflow: hidden;
155
155
  text-overflow: ellipsis;
156
156
  white-space: nowrap;
157
- max-width: 100%;
157
+ max-width: 100% ;
158
158
  visibility: hidden;
159
159
  }
160
160
  .custmSpanMedium {
161
- height: var(--zd_size35);
161
+ height: var(--zd_size35) ;
162
162
  }
163
163
  .custmSpanXmedium {
164
- height: var(--zd_size28);
164
+ height: var(--zd_size28) ;
165
165
  }
166
166
  .custmInputWrapper {
167
167
  position: absolute;
168
- top: 0;
169
- width: 100%;
168
+ top: 0 ;
169
+ width: 100% ;
170
170
  }
171
171
  [dir=ltr] .custmInputWrapper {
172
- left: 0;
172
+ left: 0 ;
173
173
  }
174
174
  [dir=rtl] .custmInputWrapper {
175
- right: 0;
175
+ right: 0 ;
176
176
  }
177
177
  .title {
178
- margin-bottom: var(--zd_size6);
178
+ margin-bottom: var(--zd_size6) ;
179
179
  }
180
180
  .groupTitle {
181
- margin: var(--zd_size6) 0;
181
+ margin: var(--zd_size6) 0 ;
182
182
  }
183
183
  .loader {
184
- padding: var(--zd_size10);
184
+ padding: var(--zd_size10) ;
185
185
  }
186
186
  .iconContainer {
187
- padding-top: var(--zd_size3)
187
+ padding-top: var(--zd_size3)
188
188
  }
189
189
  [dir=ltr] .clearIconSpace {
190
- padding-right: var(--zd_size37)
190
+ padding-right: var(--zd_size37)
191
191
  }
192
192
  [dir=rtl] .clearIconSpace {
193
- padding-left: var(--zd_size37)
193
+ padding-left: var(--zd_size37)
194
194
  }
195
195
  .search{
196
+ /* Variable:Ignore */
196
197
  padding: 0px 20px;
197
198
  }
198
199
  .more {
199
- font-size: var(--zd_font_size14);
200
+ font-size: var(--zd_font_size14) ;
200
201
  color: var(--zdt_multiselect_more_text);
201
202
  font-family: inherit;
202
203
  cursor: pointer;
203
- margin-top: var(--zd_size5);
204
+ margin-top: var(--zd_size5) ;
204
205
  background-color: var(--zdt_multiselect_delete_bg);
205
206
  border: 0;
206
207
  }
@@ -3,8 +3,10 @@ import React from 'react';
3
3
  import { MultiSelectHeader_propTypes } from './props/propTypes';
4
4
  import { MultiSelectHeader_defaultProps } from './props/defaultProps';
5
5
  /**** Icons ****/
6
+
6
7
  import ListItemWithIcon from '../ListItem/ListItemWithIcon';
7
8
  /**** CSS ****/
9
+
8
10
  import style from './MultiSelect.module.css';
9
11
  export default class MultiSelectHeader extends React.PureComponent {
10
12
  render() {
@@ -25,6 +27,7 @@ export default class MultiSelectHeader extends React.PureComponent {
25
27
  customClass: style.selectAll
26
28
  }) : null);
27
29
  }
30
+
28
31
  }
29
32
  MultiSelectHeader.propTypes = MultiSelectHeader_propTypes;
30
33
  MultiSelectHeader.defaultProps = MultiSelectHeader_defaultProps;
@@ -1,9 +1,11 @@
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
+
1
3
  /**** Libraries ****/
2
4
  import React from 'react';
3
5
  import { MultiSelectWithAvatar_propTypes } from './props/propTypes';
4
6
  import { MultiSelectWithAvatar_defaultProps } from './props/defaultProps';
5
-
6
7
  /**** Components ****/
8
+
7
9
  import { MultiSelectComponent } from './MultiSelect';
8
10
  import Popup from '../Popup/Popup';
9
11
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
@@ -18,14 +20,16 @@ import { getUniqueId } from '../Provider/IdProvider';
18
20
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
19
21
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
20
22
  import Loader from '@zohodesk/svg/lib/Loader/Loader';
21
-
22
23
  /**** Icons ****/
23
- import Icon from '@zohodesk/icons/lib/Icon';
24
+
25
+ import { Icon } from '@zohodesk/icons';
24
26
  /**** CSS ****/
25
- import style from './MultiSelect.module.css';
26
27
 
28
+ import style from './MultiSelect.module.css';
27
29
  /*eslint-disable react/sort-prop-types*/
30
+
28
31
  /* eslint-disable react/forbid-component-props */
32
+
29
33
  /* eslint-disable react/no-unused-prop-types */
30
34
 
31
35
  class MultiSelectWithAvatarComponent extends MultiSelectComponent {
@@ -34,6 +38,7 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
34
38
  this.handleFormatOptions = this.handleFormatOptions.bind(this);
35
39
  this.getNextAriaId = getUniqueId(this);
36
40
  }
41
+
37
42
  handleFormatOptions(props) {
38
43
  const {
39
44
  options,
@@ -51,6 +56,7 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
51
56
  disabledOptions
52
57
  });
53
58
  }
59
+
54
60
  responsiveFunc(_ref) {
55
61
  let {
56
62
  mediaQueryOR
@@ -61,6 +67,7 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
61
67
  }])
62
68
  };
63
69
  }
70
+
64
71
  render() {
65
72
  let {
66
73
  isReadOnly,
@@ -85,6 +92,7 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
85
92
  isDisabled,
86
93
  title,
87
94
  dataId,
95
+ dataSelectorId,
88
96
  needResponsive,
89
97
  borderColor,
90
98
  textBoxClass,
@@ -98,8 +106,14 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
98
106
  customChildrenClass,
99
107
  isBoxPaddingNeed,
100
108
  needEffect,
101
- isLoading
109
+ isLoading,
110
+ keepSelectedOptions,
111
+ customProps
102
112
  } = this.props;
113
+ let {
114
+ TextBoxProps = {},
115
+ SuggestionsProps = {}
116
+ } = customProps;
103
117
  const {
104
118
  clearText = 'Clear all'
105
119
  } = i18nKeys;
@@ -118,7 +132,8 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
118
132
  highLightedSelectOptions,
119
133
  options,
120
134
  isFetchingOptions,
121
- isActive
135
+ isActive,
136
+ selectedOptionIds
122
137
  } = this.state;
123
138
  const suggestions = this.handleFilterSuggestions();
124
139
  const setAriaId = this.getNextAriaId();
@@ -128,8 +143,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
128
143
  return /*#__PURE__*/React.createElement("div", {
129
144
  className: ` ${style.wrapper} ${isDisabled ? style.disabled : ''} ${isReadOnly ? style.readOnly : ''} ${disableAction ? CssProvider('isBlock') : ''} ${borderColor === 'transparent' ? style.transparentContainer : ''} ${needEffect && !(isDisabled || isReadOnly) ? style.effect : ''}`,
130
145
  "data-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
146
+ "data-test-id": `${isDisabled ? `${dataId}_disabled` : isReadOnly ? `${dataId}_readOnly` : dataId}`,
131
147
  "data-title": isDisabled ? title : null,
132
- onClick: this.handleInputFocus
148
+ onClick: this.handleInputFocus,
149
+ "data-selector-id": dataSelectorId
133
150
  }, /*#__PURE__*/React.createElement(Container, {
134
151
  align: "vertical",
135
152
  alignBox: "row",
@@ -181,7 +198,10 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
181
198
  customClass: {
182
199
  customTBoxWrap: style.custmInputWrapper
183
200
  },
184
- autoComplete: false
201
+ autoComplete: false,
202
+ customProps: {
203
+ TextBoxProps: TextBoxProps
204
+ }
185
205
  }, /*#__PURE__*/React.createElement(Container, {
186
206
  isCover: false,
187
207
  alignBox: "row",
@@ -243,7 +263,8 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
243
263
  shrink: true,
244
264
  customClass: !tabletMode && dropBoxSize ? style[dropBoxSize] : '',
245
265
  eleRef: this.suggestionContainerRef
246
- }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, {
266
+ }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
267
+ needTick: keepSelectedOptions,
247
268
  suggestions: suggestions,
248
269
  getRef: this.suggestionItemRef,
249
270
  hoverOption: hoverOption,
@@ -252,10 +273,11 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
252
273
  needBorder: false,
253
274
  dataId: `${dataId}_Options`,
254
275
  palette: palette,
276
+ selectedOptions: selectedOptionIds,
255
277
  a11y: {
256
278
  role: 'option'
257
279
  }
258
- }) : /*#__PURE__*/React.createElement(EmptyState, {
280
+ }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
259
281
  isLoading: isFetchingOptions,
260
282
  options: options,
261
283
  searchString: searchStr,
@@ -270,18 +292,20 @@ class MultiSelectWithAvatarComponent extends MultiSelectComponent {
270
292
  }, /*#__PURE__*/React.createElement(Loader, null))))));
271
293
  }) : null);
272
294
  }
295
+
273
296
  }
297
+
274
298
  MultiSelectWithAvatarComponent.propTypes = MultiSelectWithAvatar_propTypes;
275
299
  MultiSelectWithAvatarComponent.defaultProps = MultiSelectWithAvatar_defaultProps;
276
300
  MultiSelectWithAvatarComponent.displayName = 'MultiSelectWithAvatar';
277
301
  const MultiSelectWithAvatar = Popup(MultiSelectWithAvatarComponent);
278
- MultiSelectWithAvatar.defaultProps = MultiSelectWithAvatarComponent.defaultProps;
279
- if (false) {
280
- MultiSelectWithAvatarComponent.docs = {
281
- componentGroup: 'Form Elements',
282
- folderName: 'Style Guide'
283
- };
284
- // eslint-disable-next-line react/forbid-foreign-prop-types
285
- MultiSelectWithAvatar.propTypes = MultiSelectWithAvatarComponent.propTypes;
286
- }
302
+ MultiSelectWithAvatar.defaultProps = MultiSelectWithAvatarComponent.defaultProps; // if (__DOCS__) {
303
+ // MultiSelectWithAvatarComponent.docs = {
304
+ // componentGroup: 'Form Elements',
305
+ // folderName: 'Style Guide'
306
+ // };
307
+ // // eslint-disable-next-line react/forbid-foreign-prop-types
308
+ // MultiSelectWithAvatar.propTypes = MultiSelectWithAvatarComponent.propTypes;
309
+ // }
310
+
287
311
  export default MultiSelectWithAvatar;
@@ -1,16 +1,16 @@
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 from 'react';
4
5
  import { SelectedOptions_propTypes } from './props/propTypes';
5
6
  import { SelectedOptions_defaultProps } from './props/defaultProps';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import Tag from '../Tag/Tag';
9
10
  import { Box } from '../Layout';
10
-
11
11
  /**** Style ****/
12
- import style from './SelectedOptions.module.css';
13
12
 
13
+ import style from './SelectedOptions.module.css';
14
14
  /* eslint-disable react/forbid-component-props */
15
15
 
16
16
  export default class SelectedOptions extends React.PureComponent {
@@ -47,6 +47,7 @@ export default class SelectedOptions extends React.PureComponent {
47
47
  id: id,
48
48
  isReadOnly: isReadOnly
49
49
  };
50
+
50
51
  if (optionType === 'avatar') {
51
52
  return /*#__PURE__*/React.createElement(Box, {
52
53
  className: `${style.tag} ${style[size]}`,
@@ -66,6 +67,7 @@ export default class SelectedOptions extends React.PureComponent {
66
67
  iconSize: iconSize
67
68
  })));
68
69
  }
70
+
69
71
  return /*#__PURE__*/React.createElement(Box, {
70
72
  className: `${style.tag} ${style[size]}`,
71
73
  key: `${id}tag`
@@ -74,6 +76,7 @@ export default class SelectedOptions extends React.PureComponent {
74
76
  })));
75
77
  }));
76
78
  }
79
+
77
80
  }
78
81
  SelectedOptions.propTypes = SelectedOptions_propTypes;
79
82
  SelectedOptions.defaultProps = SelectedOptions_defaultProps;
@@ -1,15 +1,15 @@
1
1
  .tag {
2
- max-width: 100%;
2
+ max-width: 100% ;
3
3
  }
4
4
  [dir=ltr] .xmedium {
5
- margin: 0 var(--zd_size10) var(--zd_size2) 0;
5
+ margin: 0 var(--zd_size10) var(--zd_size2) 0 ;
6
6
  }
7
7
  [dir=rtl] .xmedium {
8
- margin: 0 0 var(--zd_size2) var(--zd_size10);
8
+ margin: 0 0 var(--zd_size2) var(--zd_size10) ;
9
9
  }
10
10
  [dir=ltr] .medium {
11
- margin: var(--zd_size5) var(--zd_size10) 0 0;
11
+ margin: var(--zd_size5) var(--zd_size10) 0 0 ;
12
12
  }
13
13
  [dir=rtl] .medium {
14
- margin: var(--zd_size5) 0 0 var(--zd_size10);
14
+ margin: var(--zd_size5) 0 0 var(--zd_size10) ;
15
15
  }
@@ -1,10 +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 from 'react';
4
5
  import { Suggestions_propTypes } from './props/propTypes';
5
6
  import { Suggestions_defaultProps } from './props/defaultProps';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import ListItem from '../ListItem/ListItem';
9
10
  import ListItemWithAvatar from '../ListItem/ListItemWithAvatar';
10
11
  import ListItemWithIcon from '../ListItem/ListItemWithIcon';
@@ -52,23 +53,27 @@ export default class Suggestions extends React.PureComponent {
52
53
  optionType,
53
54
  iconSize,
54
55
  isDisabled,
55
- listItemProps
56
+ listItemProps,
57
+ listItemCustomProps = {}
56
58
  } = suggestion;
57
59
  const isActive = activeId === id || selectedOptions.indexOf(id) >= 0;
58
60
  const isHighlight = hoverOption === index || id === hoverId ? true : false;
59
61
  const list_a11y = Object.assign({}, a11y, {
60
- ariaSelected: isActive
62
+ ariaSelected: isActive,
63
+ ariaLabel: value
61
64
  });
62
65
  const commonProps = {
63
- isDisabled
66
+ isDisabled,
67
+ ...listItemCustomProps
64
68
  };
69
+
65
70
  if (listItemProps) {
66
71
  commonProps.customProps = {
67
- ListItemProps: {
68
- ...listItemProps
72
+ ListItemProps: { ...listItemProps
69
73
  }
70
74
  };
71
75
  }
76
+
72
77
  if (optionType === 'avatar') {
73
78
  return /*#__PURE__*/React.createElement(ListItemWithAvatar, _extends({}, commonProps, {
74
79
  autoHover: false,
@@ -111,6 +116,7 @@ export default class Suggestions extends React.PureComponent {
111
116
  a11y: list_a11y
112
117
  }));
113
118
  }
119
+
114
120
  return /*#__PURE__*/React.createElement(ListItem, _extends({}, commonProps, {
115
121
  autoHover: false,
116
122
  getRef: getRef,
@@ -130,6 +136,7 @@ export default class Suggestions extends React.PureComponent {
130
136
  }));
131
137
  })));
132
138
  }
139
+
133
140
  }
134
141
  Suggestions.propTypes = Suggestions_propTypes;
135
142
  Suggestions.defaultProps = Suggestions_defaultProps;
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable no-undef */
2
+
2
3
  /**** Libraries ****/
3
4
  import expect from 'expect';
4
-
5
5
  /**** Components ****/
6
+
6
7
  import MultiSelect from '../MultiSelect';
7
8
  import Tag from '../../Tag/Tag';
8
9
  describe('MultiSelect component conditions', () => {
@@ -30,9 +31,8 @@ describe('MultiSelect component conditions', () => {
30
31
  target: {
31
32
  value: 'value changed'
32
33
  }
33
- });
34
+ }); //
34
35
 
35
- //
36
36
  setTimeout(() => {
37
37
  expect(props.onSearch).toHaveBeenCalled();
38
38
  expect(props.onSearch.mock.calls[0][0]).toEqual('value changed');
@@ -44,10 +44,8 @@ describe('MultiSelect component conditions', () => {
44
44
  expect(loadingEleArr.length).toBe(0);
45
45
  cb();
46
46
  });
47
- }, searchDebounceTime);
48
- //
47
+ }, searchDebounceTime); //
49
48
  });
50
-
51
49
  it('Should display searchEmptyMessage', () => {
52
50
  let {
53
51
  renderedDOM
@@ -0,0 +1,4 @@
1
+ export { default as MultiSelect } from './MultiSelect';
2
+ export { default as MultiSelectWithAvatar } from './MultiSelectWithAvatar';
3
+ export { default as AdvancedMultiSelect } from './AdvancedMultiSelect';
4
+ export { default as AdvancedGroupMultiSelect } from './AdvancedGroupMultiSelect';
@@ -34,7 +34,8 @@ export const AdvancedGroupMultiSelect_defaultProps = {
34
34
  isSearchClearOnSelect: true,
35
35
  needEffect: true,
36
36
  palette: 'default',
37
- isLoading: false
37
+ isLoading: false,
38
+ dataSelectorId: 'advancedGroupMultiSelect'
38
39
  };
39
40
  export const AdvancedMultiSelect_defaultProps = {
40
41
  animationStyle: 'bounce',
@@ -64,7 +65,8 @@ export const AdvancedMultiSelect_defaultProps = {
64
65
  isSearchClearOnSelect: true,
65
66
  customProps: {},
66
67
  needEffect: true,
67
- isLoading: false
68
+ isLoading: false,
69
+ dataSelectorId: 'advancedMultiSelect'
68
70
  };
69
71
  export const EmptyState_defaultProps = {
70
72
  dataId: 'empty',
@@ -103,7 +105,9 @@ export const MultiSelect_defaultProps = {
103
105
  isSearchClearOnSelect: true,
104
106
  needEffect: true,
105
107
  boxSize: 'default',
106
- isLoading: false
108
+ isLoading: false,
109
+ dataSelectorId: 'multiSelect',
110
+ keepSelectedOptions: false
107
111
  };
108
112
  export const MultiSelectHeader_defaultProps = {
109
113
  dataId: 'MultiSelectHeader'
@@ -134,7 +138,10 @@ export const MultiSelectWithAvatar_defaultProps = {
134
138
  isBoxPaddingNeed: true,
135
139
  isSearchClearOnSelect: true,
136
140
  needEffect: true,
137
- isLoading: false
141
+ isLoading: false,
142
+ dataSelectorId: 'multiSelectWithAvatar',
143
+ keepSelectedOptions: false,
144
+ customProps: {}
138
145
  };
139
146
  export const SelectedOptions_defaultProps = {
140
147
  size: 'medium'
@@ -10,7 +10,7 @@ export const AdvancedGroupMultiSelect_propTypes = {
10
10
  emptyMessage: PropTypes.string.isRequired,
11
11
  getContainerRef: PropTypes.func,
12
12
  getFooter: PropTypes.func,
13
- groupedOptions: PropTypes.array.required,
13
+ groupedOptions: PropTypes.array.isRequired,
14
14
  i18nKeys: PropTypes.shape({
15
15
  loadingText: PropTypes.string,
16
16
  emptyText: PropTypes.string,
@@ -50,7 +50,8 @@ export const AdvancedGroupMultiSelect_propTypes = {
50
50
  isSearchClearOnSelect: PropTypes.bool,
51
51
  palette: PropTypes.oneOf(['default', 'dark']),
52
52
  needEffect: true,
53
- isLoading: PropTypes.bool
53
+ isLoading: PropTypes.bool,
54
+ dataSelectorId: PropTypes.string
54
55
  };
55
56
  export const AdvancedMultiSelect_propTypes = {
56
57
  id: PropTypes.string.isRequired,
@@ -102,6 +103,7 @@ export const AdvancedMultiSelect_propTypes = {
102
103
  dataIdNoMreOptionMsg: PropTypes.string,
103
104
  dataIdSelectAllEle: PropTypes.string,
104
105
  isSearchClearOnClose: PropTypes.bool,
106
+
105
107
  /**** Popup Props ****/
106
108
  isPopupOpen: PropTypes.bool,
107
109
  isPopupReady: PropTypes.bool,
@@ -133,7 +135,8 @@ export const AdvancedMultiSelect_propTypes = {
133
135
  SuggestionsProps: PropTypes.object,
134
136
  DropBoxProps: PropTypes.object
135
137
  }),
136
- isLoading: PropTypes.bool
138
+ isLoading: PropTypes.bool,
139
+ dataSelectorId: PropTypes.string
137
140
  };
138
141
  export const EmptyState_propTypes = {
139
142
  dataId: PropTypes.string,
@@ -236,7 +239,9 @@ export const MultiSelect_propTypes = {
236
239
  getFooter: PropTypes.func,
237
240
  needEffect: PropTypes.bool,
238
241
  boxSize: PropTypes.string,
239
- isLoading: PropTypes.bool
242
+ isLoading: PropTypes.bool,
243
+ dataSelectorId: PropTypes.string,
244
+ keepSelectedOptions: PropTypes.bool
240
245
  };
241
246
  export const MultiSelectHeader_propTypes = {
242
247
  dataId: PropTypes.string,
@@ -291,6 +296,12 @@ export const MultiSelectWithAvatar_propTypes = {
291
296
  htmlId: PropTypes.string,
292
297
  isBoxPaddingNeed: PropTypes.bool,
293
298
  needEffect: PropTypes.bool,
299
+ keepSelectedOptions: PropTypes.bool,
300
+ customProps: PropTypes.shape({
301
+ SuggestionsProps: PropTypes.object,
302
+ DropBoxProps: PropTypes.object
303
+ }),
304
+
294
305
  /**** Popup props ****/
295
306
  isPopupOpen: PropTypes.bool,
296
307
  isPopupReady: PropTypes.bool,
@@ -314,7 +325,8 @@ export const MultiSelectWithAvatar_propTypes = {
314
325
  customChildrenClass: PropTypes.string,
315
326
  isSearchClearOnSelect: PropTypes.bool,
316
327
  disabledOptions: PropTypes.arrayOf(PropTypes.string),
317
- isLoading: PropTypes.bool
328
+ isLoading: PropTypes.bool,
329
+ dataSelectorId: PropTypes.string
318
330
  };
319
331
  export const SelectedOptions_propTypes = {
320
332
  getRef: PropTypes.func,