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

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 (478) hide show
  1. package/README.md +34 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +151 -151
  3. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +450 -450
  4. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +30 -30
  5. package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +450 -450
  6. package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +30 -30
  7. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +450 -450
  8. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +30 -30
  9. package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +450 -450
  10. package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +450 -450
  12. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +30 -30
  13. package/assets/Appearance/light/mode/Component_LightMode.module.css +148 -148
  14. package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +450 -450
  15. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +30 -30
  16. package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +450 -450
  17. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +30 -30
  18. package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +450 -450
  19. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +30 -30
  20. package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +450 -450
  21. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +30 -30
  22. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +450 -450
  23. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +30 -30
  24. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +153 -153
  25. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +450 -450
  26. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +30 -30
  27. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +450 -450
  28. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +30 -30
  29. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +450 -450
  30. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +30 -30
  31. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +450 -450
  32. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +30 -30
  33. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +450 -450
  34. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +30 -30
  35. package/es/Accordion/Accordion.js +8 -3
  36. package/es/Accordion/AccordionItem.js +5 -2
  37. package/es/Animation/Animation.js +3 -3
  38. package/es/AppContainer/AppContainer.js +27 -10
  39. package/es/AppContainer/AppContainer.module.css +2 -2
  40. package/es/AppContainer/props/defaultProps.js +2 -1
  41. package/es/AppContainer/props/propTypes.js +1 -0
  42. package/es/Avatar/Avatar.js +26 -11
  43. package/es/Avatar/Avatar.module.css +18 -18
  44. package/es/AvatarTeam/AvatarTeam.js +4 -3
  45. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  46. package/es/Button/Button.js +5 -3
  47. package/es/Button/css/Button.module.css +70 -70
  48. package/es/Buttongroup/Buttongroup.js +4 -3
  49. package/es/Buttongroup/Buttongroup.module.css +14 -15
  50. package/es/Card/Card.js +21 -10
  51. package/es/CheckBox/CheckBox.js +5 -3
  52. package/es/CheckBox/CheckBox.module.css +15 -15
  53. package/es/DateTime/CalendarView.js +33 -20
  54. package/es/DateTime/DateTime.js +113 -12
  55. package/es/DateTime/DateTime.module.css +39 -39
  56. package/es/DateTime/DateTimePopupFooter.js +4 -2
  57. package/es/DateTime/DateTimePopupHeader.js +8 -2
  58. package/es/DateTime/DateWidget.js +100 -35
  59. package/es/DateTime/DateWidget.module.css +5 -5
  60. package/es/DateTime/DaysRow.js +4 -2
  61. package/es/DateTime/Time.js +10 -2
  62. package/es/DateTime/YearView.js +28 -4
  63. package/es/DateTime/YearView.module.css +15 -15
  64. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  65. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  66. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  67. package/es/DateTime/common.js +3 -0
  68. package/es/DateTime/constants.js +1 -0
  69. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  70. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  71. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  72. package/es/DateTime/dateFormatUtils/index.js +32 -2
  73. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  74. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  75. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  76. package/es/DateTime/objectUtils.js +14 -20
  77. package/es/DateTime/props/defaultProps.js +2 -1
  78. package/es/DateTime/typeChecker.js +3 -0
  79. package/es/DateTime/validator.js +58 -6
  80. package/es/DropBox/DropBox.js +9 -5
  81. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  82. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  83. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  84. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  85. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  86. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  87. package/es/DropBox/css/DropBox.module.css +6 -6
  88. package/es/DropBox/props/defaultProps.js +1 -2
  89. package/es/DropBox/props/propTypes.js +1 -2
  90. package/es/DropDown/DropDown.js +10 -5
  91. package/es/DropDown/DropDown.module.css +2 -2
  92. package/es/DropDown/DropDownHeading.js +5 -5
  93. package/es/DropDown/DropDownHeading.module.css +6 -6
  94. package/es/DropDown/DropDownItem.js +8 -1
  95. package/es/DropDown/DropDownItem.module.css +12 -12
  96. package/es/DropDown/DropDownSearch.js +4 -0
  97. package/es/DropDown/DropDownSearch.module.css +3 -3
  98. package/es/DropDown/DropDownSeparator.js +1 -0
  99. package/es/DropDown/DropDownSeparator.module.css +2 -2
  100. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  101. package/es/Heading/Heading.js +3 -3
  102. package/es/Heading/Heading.module.css +2 -2
  103. package/es/Label/Label.js +3 -3
  104. package/es/Label/Label.module.css +5 -5
  105. package/es/Layout/Box.js +17 -3
  106. package/es/Layout/Container.js +16 -4
  107. package/es/Layout/Layout.module.css +15 -15
  108. package/es/Layout/index.js +1 -2
  109. package/es/Layout/props/defaultProps.js +2 -0
  110. package/es/Layout/props/propTypes.js +2 -0
  111. package/es/Layout/utils.js +5 -1
  112. package/es/ListItem/ListContainer.js +8 -3
  113. package/es/ListItem/ListItem.js +9 -3
  114. package/es/ListItem/ListItem.module.css +38 -38
  115. package/es/ListItem/ListItemWithAvatar.js +9 -3
  116. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  117. package/es/ListItem/ListItemWithIcon.js +8 -3
  118. package/es/ListItem/ListItemWithRadio.js +7 -3
  119. package/es/Modal/Modal.js +28 -11
  120. package/es/MultiSelect/AdvancedGroupMultiSelect.js +90 -13
  121. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  122. package/es/MultiSelect/EmptyState.js +6 -0
  123. package/es/MultiSelect/MultiSelect.js +100 -32
  124. package/es/MultiSelect/MultiSelect.module.css +31 -31
  125. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  126. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  127. package/es/MultiSelect/SelectedOptions.js +6 -3
  128. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  129. package/es/MultiSelect/Suggestions.js +7 -3
  130. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  131. package/es/MultiSelect/props/propTypes.js +2 -0
  132. package/es/PopOver/PopOver.js +18 -2
  133. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  134. package/es/Popup/Popup.js +77 -27
  135. package/es/Popup/__tests__/Popup.spec.js +17 -5
  136. package/es/Popup/viewPort.js +16 -4
  137. package/es/Provider/IdProvider.js +10 -5
  138. package/es/Provider/LibraryContext.js +6 -4
  139. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  140. package/es/Provider/ZindexProvider.js +9 -2
  141. package/es/Radio/Radio.js +4 -2
  142. package/es/Radio/Radio.module.css +9 -9
  143. package/es/Responsive/CustomResponsive.js +30 -18
  144. package/es/Responsive/RefWrapper.js +6 -7
  145. package/es/Responsive/ResizeComponent.js +35 -25
  146. package/es/Responsive/ResizeObserver.js +26 -6
  147. package/es/Responsive/Responsive.js +34 -20
  148. package/es/Responsive/index.js +1 -3
  149. package/es/Responsive/sizeObservers.js +28 -7
  150. package/es/Responsive/utils/index.js +7 -5
  151. package/es/Responsive/utils/shallowCompare.js +7 -2
  152. package/es/Responsive/windowResizeObserver.js +7 -0
  153. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  154. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  155. package/es/Ribbon/Ribbon.js +4 -2
  156. package/es/Ribbon/Ribbon.module.css +46 -48
  157. package/es/RippleEffect/RippleEffect.js +1 -3
  158. package/es/Select/GroupSelect.js +59 -14
  159. package/es/Select/Select.js +81 -34
  160. package/es/Select/Select.module.css +23 -23
  161. package/es/Select/SelectWithAvatar.js +19 -4
  162. package/es/Select/SelectWithIcon.js +48 -6
  163. package/es/Select/__tests__/Select.spec.js +6 -8
  164. package/es/Select/props/propTypes.js +1 -0
  165. package/es/Stencils/Stencils.js +3 -3
  166. package/es/Stencils/Stencils.module.css +11 -11
  167. package/es/Switch/Switch.js +6 -3
  168. package/es/Switch/Switch.module.css +23 -23
  169. package/es/Tab/Tab.js +4 -4
  170. package/es/Tab/Tab.module.css +14 -14
  171. package/es/Tab/TabContent.js +1 -0
  172. package/es/Tab/TabContentWrapper.js +2 -0
  173. package/es/Tab/TabWrapper.js +5 -2
  174. package/es/Tab/Tabs.js +56 -8
  175. package/es/Tab/Tabs.module.css +24 -42
  176. package/es/Tab/__tests__/Tab.spec.js +1 -3
  177. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  178. package/es/Tag/Tag.js +7 -3
  179. package/es/Tag/Tag.module.css +25 -25
  180. package/es/TextBox/TextBox.js +16 -3
  181. package/es/TextBox/TextBox.module.css +9 -9
  182. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  183. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  184. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  185. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  186. package/es/Textarea/Textarea.js +13 -3
  187. package/es/Textarea/Textarea.module.css +21 -21
  188. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  189. package/es/Tooltip/Tooltip.js +60 -15
  190. package/es/Tooltip/Tooltip.module.css +5 -5
  191. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  192. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  193. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  194. package/es/common/animation.module.css +8 -8
  195. package/es/common/avatarsizes.module.css +16 -16
  196. package/es/common/basicReset.module.css +3 -3
  197. package/es/common/common.module.css +24 -24
  198. package/es/common/customscroll.module.css +2 -2
  199. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  200. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  201. package/es/semantic/Button/Button.js +4 -2
  202. package/es/semantic/Button/semanticButton.module.css +1 -1
  203. package/es/utils/Common.js +58 -9
  204. package/es/utils/ContextOptimizer.js +4 -5
  205. package/es/utils/__tests__/debounce.spec.js +2 -2
  206. package/es/utils/constructFullName.js +2 -0
  207. package/es/utils/css/compileClassNames.js +5 -0
  208. package/es/utils/css/mergeStyle.js +7 -6
  209. package/es/utils/css/utils.js +1 -0
  210. package/es/utils/datetime/GMTZones.js +48 -0
  211. package/es/utils/datetime/common.js +31 -7
  212. package/es/utils/debounce.js +5 -1
  213. package/es/utils/dropDownUtils.js +68 -11
  214. package/es/utils/getInitial.js +4 -0
  215. package/es/utils/shallowEqual.js +6 -0
  216. package/lib/Accordion/Accordion.js +43 -18
  217. package/lib/Accordion/AccordionItem.js +41 -18
  218. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  219. package/lib/Accordion/index.js +3 -0
  220. package/lib/Accordion/props/propTypes.js +3 -0
  221. package/lib/Animation/Animation.js +38 -18
  222. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  223. package/lib/Animation/props/propTypes.js +3 -0
  224. package/lib/AppContainer/AppContainer.js +66 -26
  225. package/lib/AppContainer/AppContainer.module.css +2 -2
  226. package/lib/AppContainer/props/defaultProps.js +2 -1
  227. package/lib/AppContainer/props/propTypes.js +4 -0
  228. package/lib/Avatar/Avatar.js +81 -38
  229. package/lib/Avatar/Avatar.module.css +18 -18
  230. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  231. package/lib/Avatar/props/propTypes.js +3 -0
  232. package/lib/AvatarTeam/AvatarTeam.js +53 -30
  233. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  234. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  235. package/lib/AvatarTeam/props/propTypes.js +3 -0
  236. package/lib/Button/Button.js +32 -20
  237. package/lib/Button/css/Button.module.css +70 -70
  238. package/lib/Button/css/cssJSLogic.js +18 -17
  239. package/lib/Button/index.js +3 -0
  240. package/lib/Button/props/defaultProps.js +2 -0
  241. package/lib/Button/props/propTypes.js +3 -0
  242. package/lib/Buttongroup/Buttongroup.js +33 -12
  243. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  244. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  245. package/lib/Buttongroup/props/propTypes.js +3 -0
  246. package/lib/Card/Card.js +102 -46
  247. package/lib/Card/__tests__/Card.spec.js +10 -1
  248. package/lib/Card/index.js +4 -0
  249. package/lib/Card/props/propTypes.js +3 -0
  250. package/lib/CheckBox/CheckBox.js +71 -47
  251. package/lib/CheckBox/CheckBox.module.css +15 -15
  252. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  253. package/lib/CheckBox/props/propTypes.js +3 -0
  254. package/lib/DateTime/CalendarView.js +83 -42
  255. package/lib/DateTime/DateTime.js +287 -160
  256. package/lib/DateTime/DateTime.module.css +39 -39
  257. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  258. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  259. package/lib/DateTime/DateWidget.js +354 -250
  260. package/lib/DateTime/DateWidget.module.css +5 -5
  261. package/lib/DateTime/DaysRow.js +27 -5
  262. package/lib/DateTime/Time.js +73 -32
  263. package/lib/DateTime/YearView.js +77 -28
  264. package/lib/DateTime/YearView.module.css +15 -15
  265. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  266. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  267. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  268. package/lib/DateTime/common.js +6 -0
  269. package/lib/DateTime/constants.js +1 -0
  270. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  271. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  272. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  273. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  274. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  275. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  276. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  277. package/lib/DateTime/index.js +2 -0
  278. package/lib/DateTime/objectUtils.js +24 -20
  279. package/lib/DateTime/props/defaultProps.js +2 -1
  280. package/lib/DateTime/props/propTypes.js +11 -1
  281. package/lib/DateTime/typeChecker.js +4 -0
  282. package/lib/DateTime/validator.js +73 -10
  283. package/lib/DropBox/DropBox.js +36 -12
  284. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  285. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  286. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  287. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  288. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  289. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  290. package/lib/DropBox/css/DropBox.module.css +6 -6
  291. package/lib/DropBox/css/cssJSLogic.js +3 -1
  292. package/lib/DropBox/props/defaultProps.js +8 -4
  293. package/lib/DropBox/props/propTypes.js +10 -4
  294. package/lib/DropDown/DropDown.js +54 -9
  295. package/lib/DropDown/DropDown.module.css +2 -2
  296. package/lib/DropDown/DropDownHeading.js +40 -20
  297. package/lib/DropDown/DropDownHeading.module.css +6 -6
  298. package/lib/DropDown/DropDownItem.js +44 -21
  299. package/lib/DropDown/DropDownItem.module.css +12 -12
  300. package/lib/DropDown/DropDownSearch.js +40 -17
  301. package/lib/DropDown/DropDownSearch.module.css +3 -3
  302. package/lib/DropDown/DropDownSeparator.js +24 -4
  303. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  304. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  305. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  306. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  307. package/lib/DropDown/index.js +9 -0
  308. package/lib/DropDown/props/propTypes.js +6 -4
  309. package/lib/Heading/Heading.js +39 -16
  310. package/lib/Heading/Heading.module.css +2 -2
  311. package/lib/Heading/props/propTypes.js +3 -0
  312. package/lib/Label/Label.js +40 -19
  313. package/lib/Label/Label.module.css +5 -5
  314. package/lib/Label/__tests__/Label.spec.js +14 -1
  315. package/lib/Label/props/propTypes.js +3 -0
  316. package/lib/Layout/Box.js +39 -15
  317. package/lib/Layout/Container.js +37 -14
  318. package/lib/Layout/Layout.module.css +15 -15
  319. package/lib/Layout/__tests__/Box.spec.js +65 -49
  320. package/lib/Layout/__tests__/Container.spec.js +67 -50
  321. package/lib/Layout/index.js +3 -0
  322. package/lib/Layout/props/defaultProps.js +2 -0
  323. package/lib/Layout/props/propTypes.js +5 -0
  324. package/lib/Layout/utils.js +15 -1
  325. package/lib/ListItem/ListContainer.js +48 -27
  326. package/lib/ListItem/ListItem.js +69 -45
  327. package/lib/ListItem/ListItem.module.css +38 -38
  328. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  329. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  330. package/lib/ListItem/ListItemWithIcon.js +68 -44
  331. package/lib/ListItem/ListItemWithRadio.js +65 -41
  332. package/lib/ListItem/index.js +7 -0
  333. package/lib/ListItem/props/propTypes.js +6 -4
  334. package/lib/Modal/Modal.js +45 -10
  335. package/lib/Modal/props/propTypes.js +3 -0
  336. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -166
  337. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  338. package/lib/MultiSelect/EmptyState.js +49 -24
  339. package/lib/MultiSelect/MultiSelect.js +324 -206
  340. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  341. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  342. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  343. package/lib/MultiSelect/SelectedOptions.js +43 -17
  344. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  345. package/lib/MultiSelect/Suggestions.js +64 -32
  346. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  347. package/lib/MultiSelect/index.js +5 -0
  348. package/lib/MultiSelect/props/defaultProps.js +2 -0
  349. package/lib/MultiSelect/props/propTypes.js +5 -0
  350. package/lib/PopOver/PopOver.js +95 -49
  351. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  352. package/lib/PopOver/index.js +4 -0
  353. package/lib/PopOver/props/propTypes.js +3 -0
  354. package/lib/Popup/Popup.js +158 -84
  355. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  356. package/lib/Popup/viewPort.js +28 -14
  357. package/lib/Provider/AvatarSize.js +4 -0
  358. package/lib/Provider/Config.js +2 -0
  359. package/lib/Provider/CssProvider.js +4 -0
  360. package/lib/Provider/IdProvider.js +17 -6
  361. package/lib/Provider/LibraryContext.js +35 -15
  362. package/lib/Provider/LibraryContextInit.js +4 -0
  363. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  364. package/lib/Provider/ZindexProvider.js +15 -3
  365. package/lib/Provider/index.js +5 -0
  366. package/lib/Radio/Radio.js +61 -38
  367. package/lib/Radio/Radio.module.css +9 -9
  368. package/lib/Radio/__tests__/Radiospec.js +9 -5
  369. package/lib/Radio/props/propTypes.js +3 -0
  370. package/lib/Responsive/CustomResponsive.js +73 -29
  371. package/lib/Responsive/RefWrapper.js +17 -11
  372. package/lib/Responsive/ResizeComponent.js +62 -36
  373. package/lib/Responsive/ResizeObserver.js +24 -10
  374. package/lib/Responsive/Responsive.js +80 -30
  375. package/lib/Responsive/index.js +4 -0
  376. package/lib/Responsive/props/propTypes.js +3 -0
  377. package/lib/Responsive/sizeObservers.js +53 -17
  378. package/lib/Responsive/utils/index.js +11 -3
  379. package/lib/Responsive/utils/shallowCompare.js +11 -2
  380. package/lib/Responsive/windowResizeObserver.js +8 -0
  381. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  382. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  383. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  384. package/lib/Ribbon/Ribbon.js +34 -13
  385. package/lib/Ribbon/Ribbon.module.css +46 -48
  386. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  387. package/lib/Ribbon/props/propTypes.js +3 -0
  388. package/lib/RippleEffect/RippleEffect.js +18 -10
  389. package/lib/RippleEffect/props/propTypes.js +3 -0
  390. package/lib/Select/GroupSelect.js +230 -130
  391. package/lib/Select/Select.js +292 -210
  392. package/lib/Select/Select.module.css +23 -23
  393. package/lib/Select/SelectWithAvatar.js +104 -56
  394. package/lib/Select/SelectWithIcon.js +134 -77
  395. package/lib/Select/__tests__/Select.spec.js +133 -91
  396. package/lib/Select/index.js +5 -0
  397. package/lib/Select/props/defaultProps.js +5 -4
  398. package/lib/Select/props/propTypes.js +4 -0
  399. package/lib/Stencils/Stencils.js +29 -10
  400. package/lib/Stencils/Stencils.module.css +11 -11
  401. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  402. package/lib/Stencils/props/propTypes.js +3 -0
  403. package/lib/Switch/Switch.js +58 -34
  404. package/lib/Switch/Switch.module.css +23 -23
  405. package/lib/Switch/props/propTypes.js +3 -0
  406. package/lib/Tab/Tab.js +40 -27
  407. package/lib/Tab/Tab.module.css +14 -14
  408. package/lib/Tab/TabContent.js +12 -5
  409. package/lib/Tab/TabContentWrapper.js +13 -6
  410. package/lib/Tab/TabWrapper.js +37 -19
  411. package/lib/Tab/Tabs.js +173 -92
  412. package/lib/Tab/Tabs.module.css +24 -42
  413. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  414. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  415. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  416. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  417. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  418. package/lib/Tab/index.js +6 -0
  419. package/lib/Tab/props/propTypes.js +3 -0
  420. package/lib/Tag/Tag.js +73 -43
  421. package/lib/Tag/Tag.module.css +25 -25
  422. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  423. package/lib/Tag/props/propTypes.js +3 -0
  424. package/lib/TextBox/TextBox.js +86 -59
  425. package/lib/TextBox/TextBox.module.css +9 -9
  426. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  427. package/lib/TextBox/props/propTypes.js +6 -4
  428. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  429. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  430. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  431. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  432. package/lib/Textarea/Textarea.js +55 -29
  433. package/lib/Textarea/Textarea.module.css +21 -21
  434. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  435. package/lib/Textarea/props/propTypes.js +3 -0
  436. package/lib/Tooltip/Tooltip.js +96 -32
  437. package/lib/Tooltip/Tooltip.module.css +5 -5
  438. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  439. package/lib/Tooltip/props/propTypes.js +3 -0
  440. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  441. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  442. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  443. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  444. package/lib/VelocityAnimation/index.js +3 -0
  445. package/lib/common/animation.module.css +8 -8
  446. package/lib/common/avatarsizes.module.css +16 -16
  447. package/lib/common/basicReset.module.css +3 -3
  448. package/lib/common/common.module.css +24 -24
  449. package/lib/common/customscroll.module.css +2 -2
  450. package/lib/css.js +40 -0
  451. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  452. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  453. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  454. package/lib/index.js +57 -0
  455. package/lib/semantic/Button/Button.js +43 -22
  456. package/lib/semantic/Button/props/propTypes.js +3 -0
  457. package/lib/semantic/Button/semanticButton.module.css +1 -1
  458. package/lib/semantic/index.js +2 -0
  459. package/lib/utils/Common.js +117 -19
  460. package/lib/utils/ContextOptimizer.js +16 -10
  461. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  462. package/lib/utils/__tests__/debounce.spec.js +3 -2
  463. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  464. package/lib/utils/constructFullName.js +13 -4
  465. package/lib/utils/css/compileClassNames.js +6 -0
  466. package/lib/utils/css/mergeStyle.js +10 -7
  467. package/lib/utils/css/utils.js +8 -0
  468. package/lib/utils/datetime/GMTZones.js +55 -0
  469. package/lib/utils/datetime/common.js +52 -7
  470. package/lib/utils/debounce.js +6 -1
  471. package/lib/utils/dropDownUtils.js +175 -59
  472. package/lib/utils/dummyFunction.js +2 -0
  473. package/lib/utils/getHTMLFontSize.js +1 -0
  474. package/lib/utils/getInitial.js +6 -0
  475. package/lib/utils/index.js +4 -0
  476. package/lib/utils/scrollTo.js +2 -0
  477. package/lib/utils/shallowEqual.js +8 -0
  478. package/package.json +18 -27
@@ -28,15 +28,15 @@ export default class DropDownHeading extends React.Component {
28
28
  "aria-label": ariaLabel,
29
29
  id: htmlId,
30
30
  "data-id": dataId,
31
- "data-selector-id": dataSelectorId
32
- // tabindex='0'
31
+ "data-test-id": dataId,
32
+ "data-selector-id": dataSelectorId // tabindex='0'
33
+
33
34
  }, text, children);
34
35
  }
36
+
35
37
  }
36
38
  DropDownHeading.propTypes = DropDownHeading_propTypes;
37
- DropDownHeading.defaultProps = DropDownHeading_defaultProps;
38
-
39
- // if (__DOCS__) {
39
+ DropDownHeading.defaultProps = DropDownHeading_defaultProps; // if (__DOCS__) {
40
40
  // DropDownHeading.docs = {
41
41
  // componentGroup: 'Form Elements',
42
42
  // folderName: 'Style Guide'
@@ -2,20 +2,20 @@
2
2
  /* dropdownheading default variables */
3
3
  --dropdownheading_text_color: var(--zdt_dropdown_default_text);
4
4
  --dropdownheading_text_transform: uppercase;
5
- --dropdownheading_padding: 10px 20px;
5
+ --dropdownheading_padding: var(--zd_size10) var(--zd_size20);
6
6
  --dropdownheading_bg_color: none;
7
7
 
8
8
  /* dropdownheading underline default variables */
9
- --dropdownheading_underline_width: 20px;
10
- --dropdownheading_underline_height: 1px;
9
+ --dropdownheading_underline_width: var(--zd_size20);
10
+ --dropdownheading_underline_height: var(--zd_size1);
11
11
  --dropdownheading_underline_bg_color: var(--zdt_dropdown_default_bg);
12
- --dropdownheading_underline_left: 20px;
12
+ --dropdownheading_underline_left: var(--zd_size20);
13
13
  }
14
14
  .default {
15
15
  composes: dotted semibold from '../common/common.module.css';
16
16
  composes: varClass;
17
17
  position: relative;
18
- font-size: 11px;
18
+ font-size: var(--zd_font_size11) ;
19
19
  letter-spacing: 0.6px;
20
20
  text-transform: var(--dropdownheading_text_transform);
21
21
  color: var(--dropdownheading_text_color);
@@ -25,7 +25,7 @@
25
25
  .default::after {
26
26
  position: absolute;
27
27
  content: '';
28
- bottom: 2px;
28
+ bottom: var(--zd_size2) ;
29
29
  width: var(--dropdownheading_underline_width);
30
30
  height: var(--dropdownheading_underline_height);
31
31
  }
@@ -10,6 +10,7 @@ export default class DropDownItem extends React.Component {
10
10
  this.getSelectedElement = this.getSelectedElement.bind(this);
11
11
  this.onHover = this.onHover.bind(this);
12
12
  }
13
+
13
14
  getRef(ele) {
14
15
  this.ele = ele;
15
16
  let {
@@ -18,9 +19,11 @@ export default class DropDownItem extends React.Component {
18
19
  } = this.props;
19
20
  getRef && getRef(ele, index);
20
21
  }
22
+
21
23
  getSelectedElement() {
22
24
  return this.ele ? this.ele : null;
23
25
  }
26
+
24
27
  onClick(e) {
25
28
  let {
26
29
  onClick,
@@ -30,6 +33,7 @@ export default class DropDownItem extends React.Component {
30
33
  } = this.props;
31
34
  onClick && onClick(id, value, index, e);
32
35
  }
36
+
33
37
  onHover(e) {
34
38
  let {
35
39
  onHover,
@@ -39,6 +43,7 @@ export default class DropDownItem extends React.Component {
39
43
  } = this.props;
40
44
  onHover && onHover(id, value, index, e);
41
45
  }
46
+
42
47
  render() {
43
48
  let {
44
49
  value,
@@ -53,7 +58,8 @@ export default class DropDownItem extends React.Component {
53
58
  onClick: this.onClick,
54
59
  onMouseOver: this.onHover,
55
60
  ref: this.getRef,
56
- "data-id": dataId
61
+ "data-id": dataId,
62
+ "data-test-id": dataId
57
63
  }, children && children[0] ? /*#__PURE__*/React.createElement("span", {
58
64
  className: style.children
59
65
  }, " ", children[0], " ") : children !== undefined ? /*#__PURE__*/React.createElement("span", {
@@ -64,6 +70,7 @@ export default class DropDownItem extends React.Component {
64
70
  className: style.user
65
71
  }, " ", children[1], " ") : '');
66
72
  }
73
+
67
74
  }
68
75
  DropDownItem.propTypes = DropDownItem_propTypes;
69
76
  DropDownItem.defaultProps = DropDownItem_defaultProps;
@@ -1,11 +1,11 @@
1
1
  .varClass {
2
2
  /* dropdownitem default variables */
3
- --dropdownitem-padding: 9px 19px;
3
+ --dropdownitem-padding: var(--zd_size9) var(--zd_size19);
4
4
  --dropdownitem-border-color: var(--zdt_dropdown_default_border);
5
5
  --dropdownitem-bg-color: var(--zdt_dropdown_mirror_bg);
6
6
 
7
7
  /* dropdownitem user default variables */
8
- --dropdownitem-user-width: 42px;
8
+ --dropdownitem-user-width: var(--zd_size42);
9
9
  --dropdownitem-user-border-style: solid;
10
10
  --dropdownitem-user-border-color: var(--zdt_dropdown_user_default_border);
11
11
  --dropdownitem-user-cursor: pointer;
@@ -19,7 +19,7 @@
19
19
  composes: dflex alignVertical from '../common/common.module.css';
20
20
  position: relative;
21
21
  color: var(--zdt_dropdown_default_text);
22
- font-size: 13px;
22
+ font-size: var(--zd_font_size13) ;
23
23
  padding: var(--dropdownitem-padding);
24
24
  border-style: solid;
25
25
  border-color: var(--dropdownitem-border-color);
@@ -42,24 +42,24 @@
42
42
  }
43
43
 
44
44
  [dir=ltr] .padding {
45
- --dropdownitem-padding: 0 50px 0 0/*rtl: 0 0 0 50px*/;
45
+ --dropdownitem-padding: 0 var(--zd_size50) 0 0;
46
46
  }
47
47
 
48
48
  [dir=rtl] .padding {
49
- --dropdownitem-padding: 0 0 0 50px;
49
+ --dropdownitem-padding: 0 0 0 var(--zd_size50);
50
50
  }
51
51
 
52
52
  .children {
53
53
  display: inline-block;
54
- font-size: 0;
54
+ font-size: 0 ;
55
55
  }
56
56
 
57
57
  [dir=ltr] .children {
58
- margin-right: 10px;
58
+ margin-right: var(--zd_size10) ;
59
59
  }
60
60
 
61
61
  [dir=rtl] .children {
62
- margin-left: 10px;
62
+ margin-left: var(--zd_size10) ;
63
63
  }
64
64
 
65
65
  .value {
@@ -69,8 +69,8 @@
69
69
  .user {
70
70
  composes: dflex alignVertical alignHorizontal from '../common/common.module.css';
71
71
  position: absolute;
72
- top: 0;
73
- bottom: 0;
72
+ top: 0 ;
73
+ bottom: 0 ;
74
74
  opacity: 0;
75
75
  visibility: hidden;
76
76
  width: var(--dropdownitem-user-width);
@@ -81,11 +81,11 @@
81
81
  }
82
82
 
83
83
  [dir=ltr] .user {
84
- right: 0;
84
+ right: 0 ;
85
85
  }
86
86
 
87
87
  [dir=rtl] .user {
88
- left: 0;
88
+ left: 0 ;
89
89
  }
90
90
 
91
91
  .list:hover .user {
@@ -10,11 +10,13 @@ export default class DropDownSearch extends React.Component {
10
10
  super(props);
11
11
  this.getRef = this.getRef.bind(this);
12
12
  }
13
+
13
14
  componentDidMount() {
14
15
  this.input && this.input.focus({
15
16
  preventScroll: true
16
17
  });
17
18
  }
19
+
18
20
  getRef(ele) {
19
21
  let {
20
22
  getRef
@@ -22,6 +24,7 @@ export default class DropDownSearch extends React.Component {
22
24
  this.input = ele;
23
25
  getRef && getRef(ele);
24
26
  }
27
+
25
28
  render() {
26
29
  let {
27
30
  name,
@@ -56,6 +59,7 @@ export default class DropDownSearch extends React.Component {
56
59
  customClass: customTextBox
57
60
  }));
58
61
  }
62
+
59
63
  }
60
64
  DropDownSearch.defaultProps = DropDownSearch_defaultProps;
61
65
  DropDownSearch.propTypes = DropDownSearch_propTypes;
@@ -1,14 +1,14 @@
1
1
  .varClass {
2
2
  /* dropdownsearch default variables */
3
- --dropdownsearch-padding: 0 15px 0;
3
+ --dropdownsearch-padding: 0 var(--zd_size15) 0;
4
4
  }
5
5
  .search {
6
6
  composes: varClass;
7
7
  padding: var(--dropdownsearch-padding);
8
8
  }
9
9
  .smallSearch {
10
- --dropdownsearch-padding: 0 5px 0;
10
+ --dropdownsearch-padding: 0 var(--zd_size5) 0;
11
11
  }
12
12
  .mediumSearch {
13
- --dropdownsearch-padding: 0 15px 0;
13
+ --dropdownsearch-padding: 0 var(--zd_size15) 0;
14
14
  }
@@ -10,5 +10,6 @@ export default class DropDownSeparator extends React.Component {
10
10
  className: `${style.separator} ${customClass}`
11
11
  });
12
12
  }
13
+
13
14
  }
14
15
  DropDownSeparator.propTypes = DropDownSeparator_propTypes;
@@ -1,7 +1,7 @@
1
1
  .separator {
2
- height: 1px;
2
+ height: var(--zd_size1) ;
3
3
  border-width: 0 0 1px 0;
4
4
  border-style: solid;
5
5
  border-color: var(--zdt_dropdown_user_default_border);
6
- margin: 5px 0;
6
+ margin: var(--zd_size5) 0 ;
7
7
  }
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { DropDownItemContainer, DropDownContainer, DropDownTarget } from '../DropDown';
3
- // import renderer from 'react-test-renderer';
2
+ import { DropDownItemContainer, DropDownContainer, DropDownTarget } from '../DropDown'; // import renderer from 'react-test-renderer';
4
3
 
5
4
  const defaultProps = {
6
5
  onScroll: jest.fn(),
@@ -20,14 +20,14 @@ export default class Heading extends React.Component {
20
20
  onDoubleClick,
21
21
  'data-title': dataTitle || title,
22
22
  'data-id': dataId,
23
+ 'data-test-id': dataId,
23
24
  ...a11y
24
25
  }, title);
25
26
  }
27
+
26
28
  }
27
29
  Heading.propTypes = propTypes;
28
- Heading.defaultProps = defaultProps;
29
-
30
- // if (__DOCS__) {
30
+ Heading.defaultProps = defaultProps; // if (__DOCS__) {
31
31
  // Heading.docs = {
32
32
  // folderName: 'Style Guide',
33
33
  // componentGroup: 'Accessibility'
@@ -1,5 +1,5 @@
1
1
  .reset {
2
- font-size: initial;
2
+ font-size: initial ;
3
3
  font-weight: initial;
4
- margin: initial;
4
+ margin: initial ;
5
5
  }
package/es/Label/Label.js CHANGED
@@ -29,16 +29,16 @@ export default class Label extends React.Component {
29
29
  htmlFor: htmlFor,
30
30
  "data-title": title,
31
31
  "data-id": dataId,
32
+ "data-test-id": dataId,
32
33
  "data-selector-id": dataSelectorId,
33
34
  onClick: onClick,
34
35
  id: id
35
36
  }, text);
36
37
  }
38
+
37
39
  }
38
40
  Label.defaultProps = defaultProps;
39
- Label.propTypes = propTypes;
40
-
41
- // if (__DOCS__) {
41
+ Label.propTypes = propTypes; // if (__DOCS__) {
42
42
  // Label.docs = {
43
43
  // componentGroup: 'Form Elements',
44
44
  // folderName: 'Style Guide'
@@ -1,6 +1,6 @@
1
1
  .varClass {
2
2
  /* label default variables */
3
- --label_font_size: 14px;
3
+ --label_font_size: var(--zd_font_size14);
4
4
  --label_text_color: var(--zdt_label_default_text);
5
5
  --label_font_family: var(--zd_regular);
6
6
  --label_cursor: default;
@@ -16,16 +16,16 @@
16
16
  cursor: var(--label_cursor);
17
17
  }
18
18
  .xsmall {
19
- --label_font_size: 12px;
19
+ --label_font_size: var(--zd_font_size12);
20
20
  }
21
21
  .small {
22
- --label_font_size: 13px;
22
+ --label_font_size: var(--zd_font_size13);
23
23
  }
24
24
  .medium {
25
- --label_font_size: 14px;
25
+ --label_font_size: var(--zd_font_size14);
26
26
  }
27
27
  .large {
28
- --label_font_size: 26px;
28
+ --label_font_size: var(--zd_font_size26);
29
29
  composes: semibold from '../common/common.module.css';
30
30
  }
31
31
  .pointer {
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,24 +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',
107
+ testId: 'data-test-id',
94
108
  tourId: 'data-tour',
95
109
  dataSelectorId: 'data-selector-id'
96
110
  });
97
- return /*#__PURE__*/React.createElement(tagName, childProps);
111
+ return /*#__PURE__*/React.createElement(tagName, componentProps);
98
112
  }
99
113
  Box.propTypes = propTypes;
100
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,24 +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',
124
+ testId: 'data-test-id',
113
125
  tourId: 'data-tour',
114
126
  dataSelectorId: 'data-selector-id'
115
127
  });
116
- return /*#__PURE__*/React.createElement(tagName, childProps);
128
+ return /*#__PURE__*/React.createElement(tagName, componentProps);
117
129
  }
118
130
  Container.propTypes = propTypes;
119
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,6 +1,5 @@
1
1
  export { default as Container } from './Container';
2
- export { default as Box } from './Box';
3
- // let Layout = {
2
+ export { default as Box } from './Box'; // let Layout = {
4
3
  // docs: {
5
4
  // componentGroup: 'Layout',
6
5
  // folderName: 'Style Guide',
@@ -1,11 +1,13 @@
1
1
  export const BoxDefaultProps = {
2
2
  dataId: 'boxComponent',
3
+ testId: '',
3
4
  isScrollAttribute: false,
4
5
  tagName: 'div',
5
6
  dataSelectorId: 'box'
6
7
  };
7
8
  export const ContainerDefaultProps = {
8
9
  dataId: 'containerComponent',
10
+ testId: '',
9
11
  isScrollAttribute: false,
10
12
  isCover: true,
11
13
  alignBox: 'column',
@@ -6,6 +6,7 @@ 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,
9
10
  dataSelectorId: PropTypes.string,
10
11
  eleRef: PropTypes.func,
11
12
  flexible: PropTypes.bool,
@@ -30,6 +31,7 @@ export const ContainerProps = {
30
31
  children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),
31
32
  className: PropTypes.string,
32
33
  dataId: PropTypes.string,
34
+ testId: PropTypes.string,
33
35
  dataSelectorId: PropTypes.string,
34
36
  eleRef: PropTypes.func,
35
37
  hidden: PropTypes.array,
@@ -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
  });