@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
@@ -4,7 +4,7 @@
4
4
  --label_text_color: var(--zdt_label_default_text);
5
5
  --label_font_family: var(--zd_regular);
6
6
  --label_cursor: default;
7
- --label_line_height: var(--zd_size18);
7
+ --label_line_height: 18px;
8
8
  }
9
9
  .label {
10
10
  composes: varClass;
@@ -6,5 +6,6 @@ export const defaultProps = {
6
6
  text: 'Label',
7
7
  type: 'title',
8
8
  variant: 'default',
9
- customClass: ''
9
+ customClass: '',
10
+ dataSelectorId: 'label'
10
11
  };
@@ -2,6 +2,7 @@ import PropTypes from 'prop-types';
2
2
  export const propTypes = {
3
3
  clipped: PropTypes.bool,
4
4
  dataId: PropTypes.string,
5
+ dataSelectorId: PropTypes.string,
5
6
  htmlFor: PropTypes.string,
6
7
  onClick: PropTypes.func,
7
8
  palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'danger', 'mandatory', 'disable', 'dark']),
package/es/Layout/Box.js CHANGED
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { BoxProps as propTypes } from './props/propTypes';
3
3
  import { BoxDefaultProps as defaultProps } from './props/defaultProps';
4
4
  /* eslint css-modules/no-unused-class: 0 */
5
+
5
6
  import { createProps, getClass, setProps } from './utils';
6
7
  import style from './Layout.module.css';
7
8
  /* eslint-disable react/no-unused-prop-types*/
@@ -21,34 +22,42 @@ function getBoxClassNames(props) {
21
22
  preventParentScroll
22
23
  } = props;
23
24
  const modificators = [className];
25
+
24
26
  if (flexible && !adjust) {
25
27
  modificators.push(getClass(style, 'grow'));
26
28
  modificators.push(getClass(style, 'basis'));
27
29
  } else if (flexible && adjust) {
28
30
  modificators.push(getClass(style, 'grow'));
29
31
  }
32
+
30
33
  if (isFirst) {
31
34
  modificators.push(getClass(style, 'first'));
32
35
  }
36
+
33
37
  if (isLast) {
34
38
  modificators.push(getClass(style, 'last'));
35
39
  }
40
+
36
41
  if (adjust) {
37
42
  modificators.push(getClass(style, 'basisAuto'));
38
43
  }
44
+
39
45
  if (shrink) {
40
46
  modificators.push(getClass(style, 'shrinkOn'));
41
47
  } else {
42
48
  modificators.push(getClass(style, 'shrinkOff'));
43
49
  }
50
+
44
51
  if (hidden) {
45
52
  hidden.forEach(key => {
46
53
  modificators.push(getClass(style, `hidden-screen-${key}`));
47
54
  });
48
55
  }
56
+
49
57
  if (column) {
50
58
  modificators.push(getClass(style, `col-${column}`));
51
59
  }
60
+
52
61
  if (align) {
53
62
  let alignClassMapping = {
54
63
  start: 'selfStart',
@@ -58,6 +67,7 @@ function getBoxClassNames(props) {
58
67
  let alignClass = alignClassMapping[align];
59
68
  modificators.push(getClass(style, alignClass));
60
69
  }
70
+
61
71
  if (scroll) {
62
72
  let scrollClassMapping = {
63
73
  horizontal: 'scrollx',
@@ -68,6 +78,7 @@ function getBoxClassNames(props) {
68
78
  let scrollClass = scrollClassMapping[scroll];
69
79
  modificators.push(getClass(style, scrollClass));
70
80
  }
81
+
71
82
  if (preventParentScroll) {
72
83
  let ParentScrollClassMapping = {
73
84
  horizontal: 'preventScrollBubbleX',
@@ -77,23 +88,27 @@ function getBoxClassNames(props) {
77
88
  let parentScrollClass = ParentScrollClassMapping[preventParentScroll];
78
89
  modificators.push(getClass(style, parentScrollClass));
79
90
  }
91
+
80
92
  return modificators;
81
93
  }
94
+
82
95
  export function getBoxProps(props) {
83
96
  return createProps(propTypes, props, getBoxClassNames(props));
84
97
  }
85
98
  export default function Box(props) {
86
- let childProps = getBoxProps(props);
87
99
  let {
88
100
  tagName
89
101
  } = props;
90
- setProps(childProps, props, {
102
+ let componentProps = setProps({ ...getBoxProps(props)
103
+ }, props, {
91
104
  isScrollAttribute: 'data-scroll',
92
105
  eleRef: 'ref',
93
106
  dataId: 'data-id',
94
- tourId: 'data-tour'
107
+ testId: 'data-test-id',
108
+ tourId: 'data-tour',
109
+ dataSelectorId: 'data-selector-id'
95
110
  });
96
- return /*#__PURE__*/React.createElement(tagName, childProps);
111
+ return /*#__PURE__*/React.createElement(tagName, componentProps);
97
112
  }
98
113
  Box.propTypes = propTypes;
99
114
  Box.defaultProps = defaultProps;
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { ContainerProps as propTypes } from './props/propTypes';
3
3
  import { ContainerDefaultProps as defaultProps } from './props/defaultProps';
4
4
  /* eslint css-modules/no-unused-class: 0 */
5
+
5
6
  import { createProps, getClass, setProps } from './utils';
6
7
  import style from './Layout.module.css';
7
-
8
8
  /* eslint-disable react/no-unused-prop-types*/
9
9
 
10
10
  function getContainerClassNames(props) {
@@ -21,19 +21,23 @@ function getContainerClassNames(props) {
21
21
  preventParentScroll
22
22
  } = props;
23
23
  const modificators = [className];
24
+
24
25
  if (hidden) {
25
26
  hidden.forEach(key => {
26
27
  modificators.push(getClass(style, `hidden-screen-${key}`));
27
28
  });
28
29
  }
30
+
29
31
  if (isInline) {
30
32
  modificators.push(getClass(style, 'inflex'));
31
33
  } else {
32
34
  modificators.push(getClass(style, 'flex'));
33
35
  }
36
+
34
37
  if (isCover) {
35
38
  modificators.push(getClass(style, 'cover'));
36
39
  }
40
+
37
41
  let alignBoxClassMapping = {
38
42
  row: 'rowdir',
39
43
  column: 'coldir',
@@ -42,6 +46,7 @@ function getContainerClassNames(props) {
42
46
  };
43
47
  let alignClass = alignBoxClassMapping[alignBox];
44
48
  modificators.push(getClass(style, alignClass));
49
+
45
50
  if (alignContent) {
46
51
  let alignContentClassMapping = {
47
52
  start: 'alignStart',
@@ -53,6 +58,7 @@ function getContainerClassNames(props) {
53
58
  let alignContentClass = alignContentClassMapping[alignContent];
54
59
  modificators.push(getClass(style, alignContentClass));
55
60
  }
61
+
56
62
  if (wrap) {
57
63
  let wrapClassMapping = {
58
64
  wrap: 'wrap',
@@ -61,6 +67,7 @@ function getContainerClassNames(props) {
61
67
  let wrapClass = wrapClassMapping[wrap];
62
68
  modificators.push(getClass(style, wrapClass));
63
69
  }
70
+
64
71
  if (align) {
65
72
  let alignClassMapping = {
66
73
  horizontal: 'hCenter',
@@ -77,6 +84,7 @@ function getContainerClassNames(props) {
77
84
  let alignClass = alignClassMapping[align];
78
85
  modificators.push(getClass(style, alignClass));
79
86
  }
87
+
80
88
  if (scroll) {
81
89
  let scrollClassMapping = {
82
90
  horizontal: 'scrollx',
@@ -87,6 +95,7 @@ function getContainerClassNames(props) {
87
95
  let scrollClass = scrollClassMapping[scroll];
88
96
  modificators.push(getClass(style, scrollClass));
89
97
  }
98
+
90
99
  if (preventParentScroll) {
91
100
  let ParentScrollClassMapping = {
92
101
  horizontal: 'preventScrollBubbleX',
@@ -96,23 +105,27 @@ function getContainerClassNames(props) {
96
105
  let parentScrollClass = ParentScrollClassMapping[preventParentScroll];
97
106
  modificators.push(getClass(style, parentScrollClass));
98
107
  }
108
+
99
109
  return modificators;
100
110
  }
111
+
101
112
  export function getContainerProps(props) {
102
113
  return createProps(propTypes, props, getContainerClassNames(props));
103
114
  }
104
115
  export default function Container(props) {
105
- let childProps = getContainerProps(props);
106
116
  let {
107
117
  tagName
108
118
  } = props;
109
- setProps(childProps, props, {
119
+ let componentProps = setProps({ ...getContainerProps(props)
120
+ }, props, {
110
121
  isScrollAttribute: 'data-scroll',
111
122
  eleRef: 'ref',
112
123
  dataId: 'data-id',
113
- tourId: 'data-tour'
124
+ testId: 'data-test-id',
125
+ tourId: 'data-tour',
126
+ dataSelectorId: 'data-selector-id'
114
127
  });
115
- return /*#__PURE__*/React.createElement(tagName, childProps);
128
+ return /*#__PURE__*/React.createElement(tagName, componentProps);
116
129
  }
117
130
  Container.propTypes = propTypes;
118
131
  Container.defaultProps = defaultProps;
@@ -11,8 +11,8 @@
11
11
  }
12
12
 
13
13
  .cover {
14
- width: 100%;
15
- height: 100%;
14
+ width: 100% ;
15
+ height: 100% ;
16
16
  }
17
17
 
18
18
  /* .flex {
@@ -67,8 +67,8 @@
67
67
  -webkit-box-flex: 1;
68
68
  -ms-flex-positive: 1;
69
69
  flex-grow: 1;
70
- min-height: 0;
71
- min-width: 0;
70
+ min-height: 0 ;
71
+ min-width: 0 ;
72
72
  }
73
73
 
74
74
  .shrinkOff {
@@ -83,18 +83,18 @@
83
83
  -moz-flex-shrink: 1;
84
84
  -webkit-flex-shrink: 1;
85
85
  -ms-flex-shrink: 1;
86
- min-width: 0;
86
+ min-width: 0 ;
87
87
  }
88
88
 
89
89
  .basis {
90
- flex-basis: 0%;
90
+ flex-basis: 0% ;
91
91
  -webkit-flex-basis: 0%;
92
92
  -moz-flex-basis: 0%;
93
93
  -ms-flex-basis: 0%;
94
94
  }
95
95
 
96
96
  .basisAuto {
97
- flex-basis: auto;
97
+ flex-basis: auto ;
98
98
  -webkit-flex-basis: auto;
99
99
  -moz-flex-basis: auto;
100
100
  -ms-flex-basis: auto;
@@ -146,8 +146,8 @@
146
146
 
147
147
  .col-3 {
148
148
  -ms-flex-preferred-size: 25%;
149
- flex-basis: 25%;
150
- max-width: 25%;
149
+ flex-basis: 25% ;
150
+ max-width: 25% ;
151
151
  }
152
152
 
153
153
  .col-4 {
@@ -164,8 +164,8 @@
164
164
 
165
165
  .col-6 {
166
166
  -ms-flex-preferred-size: 50%;
167
- flex-basis: 50%;
168
- max-width: 50%;
167
+ flex-basis: 50% ;
168
+ max-width: 50% ;
169
169
  }
170
170
 
171
171
  .col-7 {
@@ -182,8 +182,8 @@
182
182
 
183
183
  .col-9 {
184
184
  -ms-flex-preferred-size: 75%;
185
- flex-basis: 75%;
186
- max-width: 75%;
185
+ flex-basis: 75% ;
186
+ max-width: 75% ;
187
187
  }
188
188
 
189
189
  .col-10 {
@@ -200,8 +200,8 @@
200
200
 
201
201
  .col-12 {
202
202
  -ms-flex-preferred-size: 100%;
203
- flex-basis: 100%;
204
- max-width: 100%;
203
+ flex-basis: 100% ;
204
+ max-width: 100% ;
205
205
  }
206
206
 
207
207
  .hCenter {
@@ -1,11 +1,10 @@
1
1
  export { default as Container } from './Container';
2
- export { default as Box } from './Box';
3
- let Layout = {
4
- docs: {
5
- componentGroup: 'Layout',
6
- folderName: 'Style Guide',
7
- external: true,
8
- description: ' '
9
- }
10
- };
11
- export { Layout };
2
+ export { default as Box } from './Box'; // let Layout = {
3
+ // docs: {
4
+ // componentGroup: 'Layout',
5
+ // folderName: 'Style Guide',
6
+ // external: true,
7
+ // description: ' '
8
+ // }
9
+ // };
10
+ // export { Layout };
@@ -1,12 +1,16 @@
1
1
  export const BoxDefaultProps = {
2
2
  dataId: 'boxComponent',
3
+ testId: '',
3
4
  isScrollAttribute: false,
4
- tagName: 'div'
5
+ tagName: 'div',
6
+ dataSelectorId: 'box'
5
7
  };
6
8
  export const ContainerDefaultProps = {
7
9
  dataId: 'containerComponent',
10
+ testId: '',
8
11
  isScrollAttribute: false,
9
12
  isCover: true,
10
13
  alignBox: 'column',
11
- tagName: 'div'
14
+ tagName: 'div',
15
+ dataSelectorId: 'container'
12
16
  };
@@ -6,6 +6,8 @@ export const BoxProps = {
6
6
  className: PropTypes.string,
7
7
  column: PropTypes.oneOf(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']),
8
8
  dataId: PropTypes.string,
9
+ testId: PropTypes.string,
10
+ dataSelectorId: PropTypes.string,
9
11
  eleRef: PropTypes.func,
10
12
  flexible: PropTypes.bool,
11
13
  hidden: PropTypes.arrayOf((propValue, key, componentName, location, propFullName) => {
@@ -16,11 +18,11 @@ export const BoxProps = {
16
18
  isFirst: PropTypes.bool,
17
19
  isLast: PropTypes.bool,
18
20
  isScrollAttribute: PropTypes.bool,
19
- scroll: PropTypes.PropTypes.oneOf(['vertical', 'horizontal', 'both', 'none']),
21
+ scroll: PropTypes.oneOf(['vertical', 'horizontal', 'both', 'none']),
20
22
  shrink: PropTypes.bool,
21
23
  tagName: PropTypes.string,
22
24
  tourId: PropTypes.string,
23
- preventParentScroll: PropTypes.PropTypes.oneOf(['vertical', 'horizontal', 'both'])
25
+ preventParentScroll: PropTypes.oneOf(['vertical', 'horizontal', 'both'])
24
26
  };
25
27
  export const ContainerProps = {
26
28
  align: PropTypes.oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around', 'baseline']),
@@ -29,6 +31,8 @@ export const ContainerProps = {
29
31
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
30
32
  className: PropTypes.string,
31
33
  dataId: PropTypes.string,
34
+ testId: PropTypes.string,
35
+ dataSelectorId: PropTypes.string,
32
36
  eleRef: PropTypes.func,
33
37
  hidden: PropTypes.array,
34
38
  isCover: PropTypes.bool,
@@ -38,5 +42,5 @@ export const ContainerProps = {
38
42
  tagName: PropTypes.string,
39
43
  tourId: PropTypes.string,
40
44
  wrap: PropTypes.oneOf(['wrap', 'wrap-reverse', 'nowrap']),
41
- preventParentScroll: PropTypes.PropTypes.oneOf(['vertical', 'horizontal', 'both'])
45
+ preventParentScroll: PropTypes.oneOf(['vertical', 'horizontal', 'both'])
42
46
  };
@@ -17,8 +17,12 @@ export function isInteger(value) {
17
17
  }
18
18
  export function setProps(childProps, props) {
19
19
  let values = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
20
- Object.keys(values).map(value => {
20
+ Object.keys(values).forEach(value => {
21
21
  if (props[value]) {
22
+ if (value === 'dataId') {
23
+ childProps['data-test-id'] = props[value];
24
+ }
25
+
22
26
  childProps[values[value]] = props[value];
23
27
  }
24
28
  });
@@ -1,4 +1,5 @@
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, { useCallback } from 'react';
4
5
  import { Container } from '../Layout';
@@ -7,6 +8,7 @@ import style from './ListItem.module.css';
7
8
  import { ListContainerDefaultProps } from './props/defaultProps';
8
9
  import { ListContainer_Props } from './props/propTypes';
9
10
  import { useResponsiveReceiver } from '../Responsive/CustomResponsive';
11
+
10
12
  const ListContainer = props => {
11
13
  const {
12
14
  size,
@@ -24,6 +26,7 @@ const ListContainer = props => {
24
26
  isDisabled,
25
27
  children,
26
28
  dataId,
29
+ dataSelectorId,
27
30
  a11y,
28
31
  customClass,
29
32
  customProps,
@@ -50,27 +53,36 @@ const ListContainer = props => {
50
53
  } = useResponsiveReceiver('Helmet', responsiveFunc);
51
54
  const {
52
55
  role,
53
- ariaSelected
56
+ ariaSelected,
57
+ ariaLabel,
58
+ insetFocus = true
54
59
  } = a11y;
55
60
  const options = {};
61
+
56
62
  if (isLink) {
57
63
  options.href = href;
58
64
  options.target = `_${target}`;
59
65
  }
66
+
60
67
  if (active) {
61
68
  options['data-selected'] = active;
62
69
  }
63
- if (!isDisabled && !isLink && active) {
70
+
71
+ if (!isDisabled && !isLink) {
64
72
  options.tabindex = '0';
65
73
  }
74
+
66
75
  return /*#__PURE__*/React.createElement(Container, _extends({
67
76
  role: role,
77
+ "data-a11y-inset-focus": insetFocus,
68
78
  "aria-selected": ariaSelected,
79
+ "aria-label": ariaLabel,
69
80
  isCover: false,
70
81
  align: "vertical",
71
82
  alignBox: "row",
72
83
  className: `${style.list} ${style[size]} ${mobileToTab && isTouchDevice ? style.responsiveHeight : ''} ${style[palette]} ${active ? style[`active${palette}`] : highlight && !isDisabled ? style[`${palette}Hover`] : ''} ${autoHover && !isDisabled ? style[`${palette}Effect`] : ''} ${needTick ? style[`${size}withTick`] : ''} ${isDisabled ? CssProvider('isDisable') : ''} ${needBorder ? active ? style.activewithBorder : style.withBorder : ''} ${customClass}`,
73
84
  dataId: dataId,
85
+ dataSelectorId: dataSelectorId,
74
86
  onClick: !isDisabled && onClick,
75
87
  onMouseEnter: onMouseEnter,
76
88
  onMouseOver: onMouseOver,
@@ -79,12 +91,12 @@ const ListContainer = props => {
79
91
  "data-title": isDisabled ? disableTitle : title
80
92
  }, options, customProps), children);
81
93
  };
94
+
82
95
  ListContainer.defaultProps = ListContainerDefaultProps;
83
96
  ListContainer.propTypes = ListContainer_Props;
84
- export default ListContainer;
85
- if (false) {
86
- ListContainer.docs = {
87
- componentGroup: 'Molecule',
88
- folderName: 'Style Guide'
89
- };
90
- }
97
+ export default ListContainer; // if (__DOCS__) {
98
+ // ListContainer.docs = {
99
+ // componentGroup: 'Molecule',
100
+ // folderName: 'Style Guide'
101
+ // };
102
+ // }
@@ -1,4 +1,5 @@
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 { Box } from '../Layout';
@@ -6,8 +7,10 @@ import ListContainer from './ListContainer';
6
7
  import { ListItemDefaultProps } from './props/defaultProps';
7
8
  import { ListItem_Props } from './props/propTypes';
8
9
  /**** Components ****/
9
- import Icon from '@zohodesk/icons/lib/Icon';
10
+
11
+ import { Icon } from '@zohodesk/icons';
10
12
  /**** CSS ****/
13
+
11
14
  import style from './ListItem.module.css';
12
15
  export default class ListItem extends React.Component {
13
16
  constructor(props) {
@@ -16,6 +19,7 @@ export default class ListItem extends React.Component {
16
19
  this.getRef = this.getRef.bind(this);
17
20
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
18
21
  }
22
+
19
23
  getRef(ele) {
20
24
  this.ele = ele;
21
25
  let {
@@ -25,6 +29,7 @@ export default class ListItem extends React.Component {
25
29
  } = this.props;
26
30
  getRef && getRef(ele, index, id);
27
31
  }
32
+
28
33
  handleClick(e) {
29
34
  let {
30
35
  onClick,
@@ -34,6 +39,7 @@ export default class ListItem extends React.Component {
34
39
  } = this.props;
35
40
  onClick && onClick(id, value, index, e);
36
41
  }
42
+
37
43
  handleMouseEnter(e) {
38
44
  let {
39
45
  onMouseEnter,
@@ -43,6 +49,7 @@ export default class ListItem extends React.Component {
43
49
  } = this.props;
44
50
  onMouseEnter && onMouseEnter(id, value, index, e);
45
51
  }
52
+
46
53
  render() {
47
54
  let {
48
55
  size,
@@ -61,9 +68,11 @@ export default class ListItem extends React.Component {
61
68
  isDisabled,
62
69
  children,
63
70
  dataId,
71
+ dataSelectorId,
64
72
  a11y,
65
73
  customClass,
66
- customProps
74
+ customProps,
75
+ needMultiLineText
67
76
  } = this.props;
68
77
  let {
69
78
  ListItemProps = {},
@@ -73,13 +82,18 @@ export default class ListItem extends React.Component {
73
82
  customListItem = '',
74
83
  customTickIcon = ''
75
84
  } = customClass;
85
+ const listA11y = {
86
+ ariaHidden: true,
87
+ role: 'option',
88
+ ...a11y
89
+ };
76
90
  let {
77
- ariaHidden = true
78
- } = a11y;
91
+ ariaHidden
92
+ } = listA11y;
79
93
  let tickIconPalette = style[`${palette}Tick`] ? style[`${palette}Tick`] : '';
80
94
  let dataIdString = dataId ? dataId : value ? String(value).replace("'", '_') : 'listItem';
81
95
  return /*#__PURE__*/React.createElement(ListContainer, _extends({
82
- a11y: a11y,
96
+ a11y: listA11y,
83
97
  size: size,
84
98
  palette: palette,
85
99
  highlight: highlight,
@@ -90,6 +104,7 @@ export default class ListItem extends React.Component {
90
104
  needBorder: needBorder,
91
105
  customClass: customListItem,
92
106
  dataId: dataIdString,
107
+ dataSelectorId: `${dataSelectorId}`,
93
108
  isLink: isLink,
94
109
  href: href,
95
110
  target: target,
@@ -102,7 +117,7 @@ export default class ListItem extends React.Component {
102
117
  }, ContainerProps), value ? /*#__PURE__*/React.createElement(Box, {
103
118
  shrink: true,
104
119
  adjust: true,
105
- className: style.value
120
+ className: needMultiLineText ? style.multiLineValue : style.value
106
121
  }, value) : null, children ? /*#__PURE__*/React.createElement(Box, {
107
122
  shrink: true,
108
123
  adjust: true,
@@ -110,18 +125,19 @@ export default class ListItem extends React.Component {
110
125
  }, children) : null, needTick && active ? /*#__PURE__*/React.createElement(Box, {
111
126
  className: `${style.tickIcon} ${tickIconPalette} ${customTickIcon}`,
112
127
  "aria-hidden": ariaHidden,
113
- dataId: `${dataIdString}_tickIcon`
128
+ dataId: `${dataIdString}_tickIcon`,
129
+ dataSelectorId: `${dataSelectorId}_tickIcon`
114
130
  }, /*#__PURE__*/React.createElement(Icon, {
115
131
  name: "ZD-ticknew",
116
132
  size: "8"
117
133
  })) : null);
118
134
  }
135
+
119
136
  }
120
137
  ListItem.defaultProps = ListItemDefaultProps;
121
- ListItem.propTypes = ListItem_Props;
122
- if (false) {
123
- ListItem.docs = {
124
- componentGroup: 'Molecule',
125
- folderName: 'Style Guide'
126
- };
127
- }
138
+ ListItem.propTypes = ListItem_Props; // if (__DOCS__) {
139
+ // ListItem.docs = {
140
+ // componentGroup: 'Molecule',
141
+ // folderName: 'Style Guide'
142
+ // };
143
+ // }