@zohodesk/components 1.0.0-temp-252.4 → 1.0.0-temp-256.1

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 (419) hide show
  1. package/README.md +70 -3
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +323 -330
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +79 -79
  4. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
  5. package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +15 -0
  6. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
  7. package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +15 -0
  8. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
  9. package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +15 -0
  10. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
  11. package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +15 -0
  12. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
  13. package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +15 -0
  14. package/assets/Appearance/light/mode/Component_LightMode.module.css +323 -330
  15. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +79 -79
  16. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
  17. package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +15 -0
  18. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
  19. package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +15 -0
  20. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
  21. package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +15 -0
  22. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
  23. package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +15 -0
  24. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
  25. package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +15 -0
  26. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +323 -330
  27. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +79 -79
  28. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
  29. package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  30. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
  31. package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  32. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
  33. package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  34. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
  35. package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  36. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
  37. package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +15 -0
  38. package/cbt.config.js +12 -3
  39. package/es/Accordion/Accordion.js +2 -1
  40. package/es/Accordion/AccordionItem.js +3 -2
  41. package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  42. package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  43. package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  44. package/es/AppContainer/AppContainer.js +2 -1
  45. package/es/AppContainer/AppContainer.module.css +9 -3
  46. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  47. package/es/Avatar/Avatar.js +6 -6
  48. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  49. package/es/AvatarTeam/AvatarTeam.js +4 -3
  50. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  51. package/es/Button/Button.js +5 -4
  52. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  53. package/es/Button/css/cssJSLogic.js +10 -11
  54. package/es/Buttongroup/Buttongroup.js +4 -3
  55. package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  56. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  57. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  58. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  59. package/es/CheckBox/CheckBox.js +9 -8
  60. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  61. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  62. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  63. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +2 -1
  64. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  65. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  66. package/es/DateTime/CalendarView.js +4 -3
  67. package/es/DateTime/DateTime.js +8 -10
  68. package/es/DateTime/DateTimePopupFooter.js +2 -1
  69. package/es/DateTime/DateWidget.js +38 -14
  70. package/es/DateTime/Time.js +2 -1
  71. package/es/DateTime/YearView.js +5 -6
  72. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  73. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  74. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  75. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  76. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  77. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  78. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  79. package/es/DateTime/common.js +2 -9
  80. package/es/DateTime/dateFormatUtils/dateFormat.js +55 -76
  81. package/es/DateTime/dateFormatUtils/index.js +7 -12
  82. package/es/DateTime/dateFormatUtils/timeChange.js +3 -4
  83. package/es/DateTime/dateFormatUtils/yearChange.js +3 -4
  84. package/es/DropBox/DropBox.js +13 -5
  85. package/es/DropBox/DropBoxElement/DropBoxElement.js +21 -8
  86. package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  87. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +11 -12
  88. package/es/DropBox/DropBoxElement/props/propTypes.js +2 -1
  89. package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  90. package/es/DropDown/DropDown.js +2 -1
  91. package/es/DropDown/DropDownHeading.js +2 -1
  92. package/es/DropDown/DropDownItem.js +6 -5
  93. package/es/DropDown/DropDownSearch.js +2 -1
  94. package/es/DropDown/DropDownSeparator.js +2 -1
  95. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  96. package/es/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  97. package/es/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  98. package/es/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  99. package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  100. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  101. package/es/Label/Label.js +3 -2
  102. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  103. package/es/Layout/Box.js +1 -115
  104. package/es/Layout/Container.js +1 -132
  105. package/es/Layout/props/defaultProps.js +1 -16
  106. package/es/Layout/props/propTypes.js +1 -46
  107. package/es/ListItem/ListContainer.js +4 -5
  108. package/es/ListItem/ListItem.js +2 -1
  109. package/es/ListItem/ListItemWithAvatar.js +11 -4
  110. package/es/ListItem/ListItemWithCheckBox.js +11 -4
  111. package/es/ListItem/ListItemWithIcon.js +11 -4
  112. package/es/ListItem/ListItemWithRadio.js +11 -4
  113. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
  114. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
  115. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
  116. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
  117. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  118. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  119. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
  120. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
  121. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
  122. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
  123. package/es/ListItem/props/defaultProps.js +1 -0
  124. package/es/ListItem/props/propTypes.js +12 -3
  125. package/es/Modal/Portal/Portal.js +4 -5
  126. package/es/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  127. package/es/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  128. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -106
  129. package/es/MultiSelect/AdvancedMultiSelect.js +80 -83
  130. package/es/MultiSelect/EmptyState.js +5 -4
  131. package/es/MultiSelect/MobileHeader/MobileHeader.js +2 -1
  132. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  133. package/es/MultiSelect/MultiSelect.js +22 -26
  134. package/es/MultiSelect/MultiSelectWithAvatar.js +7 -4
  135. package/es/MultiSelect/Suggestions.js +14 -17
  136. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  137. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  138. package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  139. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  140. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  141. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  142. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  143. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  144. package/es/MultiSelect/props/defaultProps.js +3 -0
  145. package/es/MultiSelect/props/propTypes.js +1 -0
  146. package/es/PopOver/PopOver.js +3 -2
  147. package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  148. package/es/Popup/Popup.js +1 -4
  149. package/es/Provider/IdProvider.js +4 -5
  150. package/es/Provider/LibraryContext.js +15 -12
  151. package/es/Provider/NumberGenerator/NumberGenerator.js +15 -17
  152. package/es/Provider/ZindexProvider.js +4 -5
  153. package/es/Radio/Radio.js +5 -4
  154. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  155. package/es/Responsive/CustomResponsive.js +8 -11
  156. package/es/Responsive/ResizeComponent.js +1 -3
  157. package/es/Responsive/Responsive.js +9 -12
  158. package/es/Responsive/sizeObservers.js +1 -5
  159. package/es/ResponsiveDropBox/ResponsiveDropBox.js +10 -14
  160. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  161. package/es/Ribbon/Ribbon.js +8 -20
  162. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  163. package/es/RippleEffect/RippleEffect.js +1 -1
  164. package/es/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  165. package/es/Select/GroupSelect.js +103 -105
  166. package/es/Select/Select.js +120 -121
  167. package/es/Select/SelectWithAvatar.js +96 -97
  168. package/es/Select/SelectWithIcon.js +109 -111
  169. package/es/Select/__tests__/Select.spec.js +6 -9
  170. package/es/Select/__tests__/SelectWithIcon.spec.js +3 -1
  171. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  172. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  173. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  174. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  175. package/es/Select/props/defaultProps.js +4 -0
  176. package/es/Select/props/propTypes.js +3 -0
  177. package/es/Stencils/Stencils.js +2 -1
  178. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  179. package/es/Switch/Switch.js +4 -3
  180. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  181. package/es/Tab/Tab.js +83 -41
  182. package/es/Tab/Tab.module.css +72 -4
  183. package/es/Tab/TabContent.js +16 -19
  184. package/es/Tab/TabContentWrapper.js +19 -22
  185. package/es/Tab/TabWrapper.js +20 -17
  186. package/es/Tab/Tabs.js +133 -93
  187. package/es/Tab/Tabs.module.css +84 -15
  188. package/es/Tab/__tests__/Tab.spec.js +87 -0
  189. package/es/Tab/__tests__/Tabs.spec.js +11 -0
  190. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
  191. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  192. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  193. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  194. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  195. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
  196. package/es/Tab/props/defaultProps.js +10 -3
  197. package/es/Tab/props/propTypes.js +26 -4
  198. package/es/Tab/utils/tabConfigs.js +11 -0
  199. package/es/Tag/Tag.js +6 -6
  200. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  201. package/es/TextBox/TextBox.js +2 -1
  202. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  203. package/es/TextBoxIcon/TextBoxIcon.js +1 -1
  204. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  205. package/es/Textarea/Textarea.js +2 -1
  206. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  207. package/es/Tooltip/Tooltip.js +5 -4
  208. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  209. package/es/Typography/css/cssJSLogic.js +6 -7
  210. package/es/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  211. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -2
  212. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  213. package/es/common/basic.module.css +9 -8
  214. package/es/css.js +0 -1
  215. package/es/deprecated/Switch/Switch.js +4 -3
  216. package/es/semantic/Button/Button.js +2 -1
  217. package/es/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  218. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  219. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  220. package/es/utils/Common.js +10 -31
  221. package/es/utils/datetime/common.js +12 -9
  222. package/es/utils/dropDownUtils.js +7 -11
  223. package/es/utils/getInitial.js +1 -3
  224. package/es/v1/Button/Button.js +3 -1
  225. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  226. package/es/v1/Button/css/cssJSLogic.js +4 -8
  227. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  228. package/es/v1/Label/css/cssJSLogic.js +4 -5
  229. package/es/v1/Switch/Switch.js +4 -3
  230. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  231. package/es/v1/Switch/css/cssJSLogic.js +4 -5
  232. package/es/v1/helpers/colorHelpers/colorHelper.js +28 -39
  233. package/es/v1/shared/Loader/Loader.js +4 -3
  234. package/es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  235. package/es/v1/shared/SuccessTick/SuccessTick.js +2 -1
  236. package/es/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  237. package/lib/Accordion/Accordion.js +3 -1
  238. package/lib/Accordion/AccordionItem.js +4 -2
  239. package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  240. package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  241. package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  242. package/lib/AppContainer/AppContainer.js +3 -1
  243. package/lib/AppContainer/AppContainer.module.css +9 -3
  244. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  245. package/lib/Avatar/Avatar.js +6 -4
  246. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  247. package/lib/AvatarTeam/AvatarTeam.js +4 -2
  248. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  249. package/lib/Button/Button.js +6 -4
  250. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  251. package/lib/Button/css/cssJSLogic.js +3 -3
  252. package/lib/Buttongroup/Buttongroup.js +5 -3
  253. package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  254. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  255. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  256. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  257. package/lib/CheckBox/CheckBox.js +10 -8
  258. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  259. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  260. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  261. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +3 -1
  262. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  263. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  264. package/lib/DateTime/CalendarView.js +5 -3
  265. package/lib/DateTime/DateTime.js +6 -4
  266. package/lib/DateTime/DateTimePopupFooter.js +3 -1
  267. package/lib/DateTime/DateWidget.js +38 -9
  268. package/lib/DateTime/Time.js +3 -1
  269. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  270. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  271. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  272. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  273. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  274. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  275. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  276. package/lib/DropBox/DropBox.js +14 -5
  277. package/lib/DropBox/DropBoxElement/DropBoxElement.js +28 -8
  278. package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  279. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +2 -2
  280. package/lib/DropBox/DropBoxElement/props/propTypes.js +2 -1
  281. package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  282. package/lib/DropDown/DropDown.js +3 -1
  283. package/lib/DropDown/DropDownHeading.js +3 -1
  284. package/lib/DropDown/DropDownItem.js +7 -5
  285. package/lib/DropDown/DropDownSearch.js +3 -1
  286. package/lib/DropDown/DropDownSeparator.js +3 -1
  287. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  288. package/lib/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  289. package/lib/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  290. package/lib/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  291. package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  292. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  293. package/lib/Label/Label.js +3 -1
  294. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  295. package/lib/Layout/Box.js +7 -120
  296. package/lib/Layout/Container.js +7 -137
  297. package/lib/Layout/props/defaultProps.js +14 -19
  298. package/lib/Layout/props/propTypes.js +13 -52
  299. package/lib/ListItem/ListItem.js +3 -1
  300. package/lib/ListItem/ListItemWithAvatar.js +14 -4
  301. package/lib/ListItem/ListItemWithCheckBox.js +14 -4
  302. package/lib/ListItem/ListItemWithIcon.js +12 -4
  303. package/lib/ListItem/ListItemWithRadio.js +14 -4
  304. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
  305. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
  306. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
  307. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
  308. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  309. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  310. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
  311. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
  312. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
  313. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
  314. package/lib/ListItem/props/defaultProps.js +1 -0
  315. package/lib/ListItem/props/propTypes.js +12 -4
  316. package/lib/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  317. package/lib/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  318. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -6
  319. package/lib/MultiSelect/AdvancedMultiSelect.js +8 -4
  320. package/lib/MultiSelect/EmptyState.js +6 -4
  321. package/lib/MultiSelect/MobileHeader/MobileHeader.js +3 -1
  322. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  323. package/lib/MultiSelect/MultiSelect.js +57 -50
  324. package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -4
  325. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  326. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  327. package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  328. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  329. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  330. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  331. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  332. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  333. package/lib/MultiSelect/props/defaultProps.js +3 -0
  334. package/lib/MultiSelect/props/propTypes.js +1 -0
  335. package/lib/PopOver/PopOver.js +4 -2
  336. package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  337. package/lib/Provider/LibraryContext.js +5 -1
  338. package/lib/Radio/Radio.js +6 -4
  339. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  340. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  341. package/lib/Ribbon/Ribbon.js +8 -19
  342. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  343. package/lib/RippleEffect/RippleEffect.js +1 -1
  344. package/lib/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  345. package/lib/Select/GroupSelect.js +10 -6
  346. package/lib/Select/Select.js +14 -8
  347. package/lib/Select/SelectWithAvatar.js +10 -6
  348. package/lib/Select/SelectWithIcon.js +9 -5
  349. package/lib/Select/__tests__/SelectWithIcon.spec.js +3 -1
  350. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  351. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  352. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  353. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  354. package/lib/Select/props/defaultProps.js +5 -2
  355. package/lib/Select/props/propTypes.js +3 -0
  356. package/lib/Stencils/Stencils.js +3 -1
  357. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  358. package/lib/Switch/Switch.js +5 -3
  359. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  360. package/lib/Tab/Tab.js +59 -11
  361. package/lib/Tab/Tab.module.css +72 -4
  362. package/lib/Tab/TabWrapper.js +6 -2
  363. package/lib/Tab/Tabs.js +62 -14
  364. package/lib/Tab/Tabs.module.css +84 -15
  365. package/lib/Tab/__tests__/Tab.spec.js +88 -0
  366. package/lib/Tab/__tests__/Tabs.spec.js +12 -0
  367. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
  368. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  369. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  370. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  371. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  372. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
  373. package/lib/Tab/props/defaultProps.js +10 -3
  374. package/lib/Tab/props/propTypes.js +28 -4
  375. package/lib/Tab/utils/tabConfigs.js +15 -2
  376. package/lib/Tag/Tag.js +7 -5
  377. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  378. package/lib/TextBox/TextBox.js +3 -1
  379. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  380. package/lib/TextBoxIcon/TextBoxIcon.js +1 -1
  381. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  382. package/lib/Textarea/Textarea.js +3 -1
  383. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  384. package/lib/Tooltip/Tooltip.js +6 -4
  385. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  386. package/lib/Typography/css/cssJSLogic.js +1 -1
  387. package/lib/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  388. package/lib/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  389. package/lib/common/basic.module.css +9 -8
  390. package/lib/css.js +0 -2
  391. package/lib/deprecated/Switch/Switch.js +5 -3
  392. package/lib/semantic/Button/Button.js +3 -1
  393. package/lib/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  394. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  395. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  396. package/lib/utils/datetime/common.js +10 -2
  397. package/lib/v1/Button/Button.js +3 -1
  398. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  399. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  400. package/lib/v1/Switch/Switch.js +5 -3
  401. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  402. package/lib/v1/shared/Loader/Loader.js +5 -3
  403. package/lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  404. package/lib/v1/shared/SuccessTick/SuccessTick.js +3 -1
  405. package/lib/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  406. package/package.json +31 -28
  407. package/ut.config.js +106 -0
  408. package/es/Layout/Layout.module.css +0 -336
  409. package/es/Layout/__tests__/Box.spec.js +0 -11
  410. package/es/Layout/__tests__/Container.spec.js +0 -11
  411. package/es/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  412. package/es/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  413. package/es/Layout/utils.js +0 -30
  414. package/lib/Layout/Layout.module.css +0 -336
  415. package/lib/Layout/__tests__/Box.spec.js +0 -18
  416. package/lib/Layout/__tests__/Container.spec.js +0 -18
  417. package/lib/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  418. package/lib/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  419. package/lib/Layout/utils.js +0 -59
package/lib/Tab/Tab.js CHANGED
@@ -15,6 +15,10 @@ var _propTypes = require("./props/propTypes");
15
15
 
16
16
  var _Layout = require("../Layout");
17
17
 
18
+ var _icons = require("@zohodesk/icons");
19
+
20
+ var _utils = require("@zohodesk/utils");
21
+
18
22
  var _Common = require("../utils/Common");
19
23
 
20
24
  var _tabConfigs = require("./utils/tabConfigs");
@@ -41,6 +45,10 @@ var tabTypes = {
41
45
  delta: {
42
46
  active: 'deltaActive',
43
47
  tab: 'tabDelta'
48
+ },
49
+ "default": {
50
+ active: 'defaultActive',
51
+ tab: 'tabDefault'
44
52
  }
45
53
  };
46
54
 
@@ -67,11 +75,30 @@ function Tab(_ref) {
67
75
  isAnimate = _ref.isAnimate,
68
76
  needBorder = _ref.needBorder,
69
77
  needAppearance = _ref.needAppearance,
78
+ needHover = _ref.needHover,
79
+ hoverOnActive = _ref.hoverOnActive,
70
80
  align = _ref.align,
71
81
  isVirtual = _ref.isVirtual,
72
82
  contentAlign = _ref.contentAlign,
73
83
  contentAlignBox = _ref.contentAlignBox,
74
- customProps = _ref.customProps;
84
+ customProps = _ref.customProps,
85
+ customClass = _ref.customClass,
86
+ variant = _ref.variant,
87
+ iconName = _ref.iconName,
88
+ iconSize = _ref.iconSize,
89
+ renderBefore = _ref.renderBefore,
90
+ renderAfter = _ref.renderAfter,
91
+ borderPosition = _ref.borderPosition;
92
+ var _customClass$customTe = customClass.customTextContainer,
93
+ customTextContainer = _customClass$customTe === void 0 ? '' : _customClass$customTe,
94
+ _customClass$customTe2 = customClass.customText,
95
+ customText = _customClass$customTe2 === void 0 ? '' : _customClass$customTe2,
96
+ _customClass$customHo = customClass.customHover,
97
+ customHover = _customClass$customHo === void 0 ? '' : _customClass$customHo,
98
+ _customClass$customIc = customClass.customIconContainer,
99
+ customIconContainer = _customClass$customIc === void 0 ? '' : _customClass$customIc,
100
+ _customClass$customIc2 = customClass.customIcon,
101
+ customIcon = _customClass$customIc2 === void 0 ? '' : _customClass$customIc2;
75
102
  var clickListener = (0, _react.useCallback)(function (event) {
76
103
  if (isLink && event && (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)) {
77
104
  event && event.stopPropagation();
@@ -91,10 +118,33 @@ function Tab(_ref) {
91
118
  var getTab = (0, _react.useCallback)(function (ref) {
92
119
  return getTabRef && getTabRef(id, ref, isVirtual);
93
120
  }, [id, isVirtual]);
94
- var activeWithAppearance = (0, _Common.cs)([_TabModule["default"][styleContent.active], needBorder && !isAnimate && _TabModule["default"]["".concat(styleContent.active, "_border")]]);
121
+ var activeWithAppearance = (0, _Common.cs)([_TabModule["default"][styleContent.active], needBorder && !isAnimate && _TabModule["default"]["".concat(styleContent.active, "_border")], needHover && hoverOnActive && tabTypes[type] && _TabModule["default"]["".concat(type, "Hover")], hoverOnActive && customHover]);
95
122
  var activeClasses = (0, _Common.cs)([needAppearance && activeWithAppearance, activeClass]);
96
- var inActiveClasses = needAppearance && (0, _Common.cs)([_TabModule["default"][styleContent.tab], tabTypes[type] && _TabModule["default"]["".concat("".concat(type, "Hover"))]]);
97
- var tabClass = (0, _Common.cs)([_TabModule["default"].tab, _tabConfigs.TAB_DIRECTION_MAPPING[align] === 'column' ? _TabModule["default"].vertical : _TabModule["default"].horizontal, isDisabled && _TabModule["default"].disabled, needBorder && !isAnimate && needAppearance && _TabModule["default"].border, isActive ? activeClasses : inActiveClasses, className]);
123
+ var inActiveClasses = needAppearance && (0, _Common.cs)([_TabModule["default"][styleContent.tab], needHover && tabTypes[type] && _TabModule["default"]["".concat(type, "Hover")], customHover]);
124
+ var isVerticalAlign = _tabConfigs.TAB_DIRECTION_MAPPING[align] === 'column';
125
+ var isIconWithText = variant === _tabConfigs.VARIANT.ICON_WITH_TEXT;
126
+ var tabClass = (0, _Common.cs)([_TabModule["default"].tab, isVerticalAlign ? _TabModule["default"].vertical : _TabModule["default"].horizontal, needAppearance && _TabModule["default"]["".concat(type, "_").concat(isVerticalAlign ? 'inline' : 'block')], isDisabled && _TabModule["default"].disabled, needBorder && borderPosition && !isAnimate && needAppearance && _TabModule["default"]["".concat(borderPosition, "_border")], isActive ? activeClasses : inActiveClasses, className]);
127
+
128
+ var _renderIcon = function _renderIcon() {
129
+ var showIcon = variant !== _tabConfigs.VARIANT.TEXT && iconName;
130
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, showIcon ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
131
+ className: (0, _Common.cs)([_TabModule["default"].iconWrapper, customIconContainer])
132
+ }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
133
+ name: iconName,
134
+ size: iconSize,
135
+ className: customIcon
136
+ })) : null);
137
+ };
138
+
139
+ var _renderLabel = function _renderLabel() {
140
+ var showText = variant !== _tabConfigs.VARIANT.ICON && text !== undefined && text !== null;
141
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, showText ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
142
+ flexible: true,
143
+ adjust: true,
144
+ className: (0, _Common.cs)([_TabModule["default"].tabText, customText])
145
+ }, text) : null);
146
+ };
147
+
98
148
  return /*#__PURE__*/_react["default"].createElement(_Layout.Box, _extends({
99
149
  tourId: tourId,
100
150
  tagName: isLink ? 'a' : 'div',
@@ -117,14 +167,12 @@ function Tab(_ref) {
117
167
  }, customProps), /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
118
168
  alignBox: contentAlignBox,
119
169
  align: contentAlign,
120
- className: _TabModule["default"].textContainer
121
- }, text && /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
122
- flexible: true,
123
- adjust: true,
124
- className: _TabModule["default"].tabText
125
- }, text), children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
170
+ className: (0, _Common.cs)([_TabModule["default"].textContainer, customTextContainer])
171
+ }, (0, _utils.isRenderable)(renderBefore) ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
172
+ shrink: true
173
+ }, (0, _utils.renderNode)(renderBefore)) : null, _renderIcon(), _renderLabel(), (0, _utils.isRenderable)(renderAfter) || children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
126
174
  shrink: true
127
- }, children) : null));
175
+ }, (0, _utils.isRenderable)(renderAfter) ? (0, _utils.renderNode)(renderAfter) : children) : null));
128
176
  }
129
177
 
130
178
  Tab.defaultProps = _defaultProps.Tab_defaultProps;
@@ -11,6 +11,9 @@
11
11
  width: 100% ;
12
12
  max-width: 100% ;
13
13
  }
14
+ .textContainer {
15
+ gap: var(--zd_size4) ;
16
+ }
14
17
  .textContainer,
15
18
  .tabText {
16
19
  max-width: inherit ;
@@ -21,8 +24,17 @@
21
24
  .disabled {
22
25
  cursor: not-allowed;
23
26
  }
24
- .border {
25
- border-bottom: 1px solid var(--zdt_tab_default_border);
27
+ .left_border {
28
+ border-inline-start: 1px solid var(--zdt_tab_default_border);
29
+ }
30
+ .right_border {
31
+ border-inline-end: 1px solid var(--zdt_tab_default_border);
32
+ }
33
+ .top_border {
34
+ border-block-start: 1px solid var(--zdt_tab_default_border);
35
+ }
36
+ .bottom_border {
37
+ border-block-end: 1px solid var(--zdt_tab_default_border);
26
38
  }
27
39
 
28
40
  .alpha,
@@ -59,7 +71,6 @@
59
71
  padding-block:0 ;
60
72
  font-size: var(--zd_font_size14) ;
61
73
  line-height: 4.2857;
62
- margin-inline-end: var(--zd_size40) ;
63
74
  text-transform: capitalize;
64
75
  }
65
76
  .tabBeta {
@@ -78,7 +89,6 @@
78
89
  padding-block:0 ;
79
90
  font-size: var(--zd_font_size11) ;
80
91
  line-height: 3;
81
- margin-inline-end: var(--zd_size10) ;
82
92
  }
83
93
  .tabDelta {
84
94
  composes: delta;
@@ -91,3 +101,61 @@
91
101
  composes: delta;
92
102
  color: var(--zdt_tab_alpha_active_text);
93
103
  }
104
+
105
+ .default {
106
+ transition: all var(--zd_transition2);
107
+ padding-inline: 0 ;
108
+ padding-block: 0 ;
109
+ font-size: var(--zd_font_size11) ;
110
+ line-height: 3;
111
+ }
112
+ .tabDefault {
113
+ composes: default;
114
+ color: var(--zd-text-secondary);
115
+ }
116
+
117
+ .defaultHover:hover {
118
+ background-color: var(--zdt_tab_default_hover_bg);
119
+ }
120
+
121
+ .defaultActive {
122
+ composes: default;
123
+ color: var(--zd-text-primary);
124
+ }
125
+
126
+ .defaultActive_border {
127
+ border-color: var(--zdt_tab_default_border_active);
128
+ }
129
+
130
+ /* vertical / vertical-reverse: margin-inline-end */
131
+ .beta_inline {
132
+ margin-inline-end: var(--zd_size40) ;
133
+ }
134
+ .delta_inline {
135
+ margin-inline-end: var(--zd_size10) ;
136
+ }
137
+ .default_inline {
138
+ margin-inline-end: var(--zd_size34) ;
139
+ }
140
+ /* horizontal / horizontal-reverse: margin-block-end */
141
+ .beta_block {
142
+ margin-block-end: var(--zd_size40) ;
143
+ }
144
+ .delta_block {
145
+ margin-block-end: var(--zd_size10) ;
146
+ }
147
+ .default_block {
148
+ margin-block-end: var(--zd_size6) ;
149
+ }
150
+ .iconWrapper {
151
+ composes: dflex alignVertical alignHorizontal from '../common/common.module.css';
152
+ flex: 0 0 var(--zd_size24) ;
153
+ min-width: var(--zd_size24) ;
154
+ }
155
+ .icon_block, .icon_inline {
156
+ padding: var(--zd_size10) ;
157
+ }
158
+ .text_block,
159
+ .iconWithText_block {
160
+ padding-inline: var(--zd_size10) ;
161
+ }
@@ -46,9 +46,11 @@ function TabWrapper(_ref) {
46
46
  needPadding = _ref.needPadding,
47
47
  needAppearance = _ref.needAppearance,
48
48
  align = _ref.align,
49
+ alignBorderPosition = _ref.alignBorderPosition,
49
50
  dataId = _ref.dataId,
50
51
  children = _ref.children,
51
- dataSelectorId = _ref.dataSelectorId;
52
+ dataSelectorId = _ref.dataSelectorId,
53
+ borderPosition = _ref.borderPosition;
52
54
 
53
55
  var _useState = (0, _react.useState)(!hookToDisableInternalState ? defaultTab || 0 : null),
54
56
  _useState2 = _slicedToArray(_useState, 2),
@@ -80,7 +82,9 @@ function TabWrapper(_ref) {
80
82
  needPadding: needPadding,
81
83
  needAppearance: needAppearance,
82
84
  hookToDisableInternalState: hookToDisableInternalState,
83
- align: align
85
+ align: align,
86
+ alignBorderPosition: alignBorderPosition,
87
+ borderPosition: borderPosition
84
88
  }));
85
89
  }));
86
90
  }
package/lib/Tab/Tabs.js CHANGED
@@ -25,8 +25,12 @@ var _ResizeObserver = _interopRequireDefault(require("../Responsive/ResizeObserv
25
25
 
26
26
  var _ListItem = _interopRequireDefault(require("../ListItem/ListItem"));
27
27
 
28
+ var _ListItemWithIcon = _interopRequireDefault(require("../ListItem/ListItemWithIcon"));
29
+
28
30
  var _icons = require("@zohodesk/icons");
29
31
 
32
+ var _cssUtility = require("@dot-system/css-utility");
33
+
30
34
  var _TabsModule = _interopRequireDefault(require("./Tabs.module.css"));
31
35
 
32
36
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
@@ -39,6 +43,8 @@ var _CustomResponsive = require("../Responsive/CustomResponsive");
39
43
 
40
44
  var _tabConfigs = require("./utils/tabConfigs");
41
45
 
46
+ var _utils = require("@zohodesk/utils");
47
+
42
48
  var _semanticButtonModule = _interopRequireDefault(require("../semantic/Button/semanticButton.module.css"));
43
49
 
44
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -538,16 +544,16 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
538
544
  value: function renderEmptyState() {
539
545
  var searchErrorText = this.props.searchErrorText;
540
546
  return /*#__PURE__*/_react["default"].createElement("div", {
541
- className: _TabsModule["default"].emptyStateContainer
547
+ className: (0, _cssUtility.cn)(_TabsModule["default"].emptyStateContainer)
542
548
  }, /*#__PURE__*/_react["default"].createElement(_EmptySearch["default"], {
543
549
  size: "small"
544
550
  }), /*#__PURE__*/_react["default"].createElement("div", {
545
- className: _TabsModule["default"].emptyStateTitle
551
+ className: (0, _cssUtility.cn)(_TabsModule["default"].emptyStateTitle)
546
552
  }, searchErrorText));
547
553
  }
548
554
  }, {
549
555
  key: "renderTabs",
550
- value: function renderTabs(mainTabs, moreTabs, isVirtual) {
556
+ value: function renderTabs(mainTabs, moreTabs, isVirtual, borderPosition) {
551
557
  var _this8 = this;
552
558
 
553
559
  var _this$props9 = this.props,
@@ -571,6 +577,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
571
577
  needTabBorder = _this$props9.needTabBorder,
572
578
  needAppearance = _this$props9.needAppearance,
573
579
  iconSize = _this$props9.iconSize,
580
+ renderMoreTarget = _this$props9.renderMoreTarget,
574
581
  getTargetRef = _this$props9.getTargetRef,
575
582
  position = _this$props9.position,
576
583
  customProps = _this$props9.customProps,
@@ -598,6 +605,10 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
598
605
  moreTabs: moreTabs
599
606
  });
600
607
  var hasSearch = moreTabs.length > 4;
608
+ var isDefaultType = type === 'default';
609
+ var defaultMoreClass = isDefaultType ? _TabsModule["default"].defaultMoreButton : '';
610
+ var defaultMoreActiveClass = isDefaultType ? _TabsModule["default"].defaultMoreButtonActive : '';
611
+ var effectiveMenuItemClass = isDefaultType ? "".concat(_TabsModule["default"].defaultMenuListItem).concat(menuItemClass ? " ".concat(menuItemClass) : '') : menuItemClass;
601
612
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(mainTabs, function (child) {
602
613
  if (!child) {
603
614
  return null;
@@ -625,13 +636,14 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
625
636
  needBorder: needTabBorder,
626
637
  needAppearance: needAppearance,
627
638
  align: align,
628
- isVirtual: isVirtual
639
+ isVirtual: isVirtual,
640
+ borderPosition: borderPosition
629
641
  }, classProps));
630
642
  }), _react["default"].Children.count(moreTabs) ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
631
643
  className: "".concat(_TabsModule["default"].menu, " "),
632
644
  dataSelectorId: "".concat(dataSelectorId, "_moreIcon")
633
645
  }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, _extends({
634
- className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(moreButtonClass, " ").concat(isPopupOpen ? moreButtonActiveClass : ''),
646
+ className: "".concat(_semanticButtonModule["default"].buttonReset, " ").concat(defaultMoreClass, " ").concat(moreButtonClass, " ").concat(isPopupOpen ? "".concat(defaultMoreActiveClass, " ").concat(moreButtonActiveClass) : ''),
635
647
  align: "both",
636
648
  onClick: this.togglePopup,
637
649
  dataId: "moreTabs",
@@ -640,7 +652,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
640
652
  "aria-label": "MoreTabs",
641
653
  role: "link",
642
654
  tagName: "button"
643
- }), /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
655
+ }), (0, _utils.isRenderable)(renderMoreTarget) ? (0, _utils.renderNode)(renderMoreTarget) : /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
644
656
  name: iconName,
645
657
  size: iconSize
646
658
  })), isPopupOpen && /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
@@ -699,8 +711,36 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
699
711
  isLink = data.isLink,
700
712
  href = data.href,
701
713
  children = data.children,
702
- dataId = data.dataId;
714
+ dataId = data.dataId,
715
+ variant = data.variant,
716
+ iconName = data.iconName,
717
+ iconSize = data.iconSize,
718
+ renderBefore = data.renderBefore,
719
+ renderAfter = data.renderAfter;
703
720
  var value = text ? text : showTitleInMoreOptions ? title : null;
721
+ var showIconInDropdown = variant !== _tabConfigs.VARIANT.TEXT && iconName;
722
+
723
+ if (showIconInDropdown) {
724
+ return /*#__PURE__*/_react["default"].createElement(_ListItemWithIcon["default"], _extends({
725
+ key: id,
726
+ value: value,
727
+ onClick: _this8.moreTabSelect,
728
+ id: id,
729
+ title: title || text,
730
+ isLink: isLink,
731
+ href: href,
732
+ autoHover: true,
733
+ iconName: iconName,
734
+ iconSize: iconSize,
735
+ renderLeftValuePlaceholderNode: renderBefore,
736
+ renderValueRightPlaceholderNode: (0, _utils.isRenderable)(renderAfter) ? renderAfter : !showTitleInMoreOptions ? children : null,
737
+ customClass: effectiveMenuItemClass,
738
+ customTitleBoxClass: _TabsModule["default"].listItemTitleBox,
739
+ target: "self",
740
+ dataId: "".concat(dataId, "_Tab")
741
+ }, ListItemProps));
742
+ }
743
+
704
744
  return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], _extends({
705
745
  key: id,
706
746
  value: value,
@@ -710,12 +750,16 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
710
750
  isLink: isLink,
711
751
  href: href,
712
752
  autoHover: true,
753
+ renderBeforeChildren: renderBefore,
754
+ renderValueRightPlaceholderNode: (0, _utils.isRenderable)(renderAfter) ? renderAfter : !showTitleInMoreOptions ? children : null,
713
755
  customClass: {
714
- customListItem: menuItemClass
756
+ customListItem: effectiveMenuItemClass,
757
+ customTitleBox: _TabsModule["default"].listItemTitleBox,
758
+ customLeftValuePlaceholder: _TabsModule["default"].listItemLeftValuePlaceholder
715
759
  },
716
760
  target: "self",
717
761
  dataId: "".concat(dataId, "_Tab")
718
- }, ListItemProps), !showTitleInMoreOptions ? children : null);
762
+ }, ListItemProps));
719
763
  }) : _this8.renderEmptyState()));
720
764
  })) : null);
721
765
  }
@@ -733,10 +777,14 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
733
777
  needBorder = _this$props10.needBorder,
734
778
  needPadding = _this$props10.needPadding,
735
779
  align = _this$props10.align,
780
+ alignBorderPosition = _this$props10.alignBorderPosition,
736
781
  needAppearance = _this$props10.needAppearance,
737
782
  children = _this$props10.children,
738
783
  containerClass = _this$props10.containerClass,
739
- dataSelectorId = _this$props10.dataSelectorId;
784
+ dataSelectorId = _this$props10.dataSelectorId,
785
+ borderPosition = _this$props10.borderPosition;
786
+ var effectiveBorderPosition = alignBorderPosition && (needBorder || needTabBorder) ? _tabConfigs.BORDER_POSITION_BY_ALIGN[align] : borderPosition;
787
+ var isVerticalAlign = _tabConfigs.TAB_DIRECTION_MAPPING[align] === 'column';
740
788
  var _this$state2 = this.state,
741
789
  totalDimension = _this$state2.totalDimension,
742
790
  tabDimensions = _this$state2.tabDimensions,
@@ -747,7 +795,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
747
795
  moreTabs = _this$responsiveTab.moreTabs,
748
796
  otherTabs = _this$responsiveTab.otherTabs;
749
797
 
750
- var appearanceClass = (0, _Common.cs)([_TabsModule["default"][type], needBorder && _TabsModule["default"]["".concat(type, "_border")], needPadding && _TabsModule["default"]["".concat(type, "_padding")]]);
798
+ var appearanceClass = (0, _Common.cs)([_TabsModule["default"][type], needBorder && _TabsModule["default"]["".concat(type, "_border")], needBorder && _TabsModule["default"].border, needBorder && effectiveBorderPosition && _TabsModule["default"]["".concat(effectiveBorderPosition, "_borderContainer")], needPadding && _TabsModule["default"]["".concat(type, "_").concat(isVerticalAlign ? 'block' : 'inline')]]);
751
799
  var tabsClass = (0, _Common.cs)([_TabsModule["default"].tab, className, needAppearance && appearanceClass]);
752
800
  var hlClass = (0, _Common.cs)([_TabsModule["default"].highlight, highlightClass, isAnimate && _TabsModule["default"].lineAnimate]);
753
801
  return /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
@@ -763,10 +811,10 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
763
811
  }, renderVirtualTabs && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
764
812
  alignBox: _tabConfigs.TAB_DIRECTION_MAPPING[align] === 'column' ? 'row' : 'column',
765
813
  className: _TabsModule["default"].hidden
766
- }, this.renderTabs(children, [], true)), /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
814
+ }, this.renderTabs(children, [], true, effectiveBorderPosition)), /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
767
815
  alignBox: _tabConfigs.TAB_DIRECTION_MAPPING[align] === 'column' ? 'row' : 'column'
768
- }, this.renderTabs(mainTabs, moreTabs, false))), otherTabs.length ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, otherTabs) : null, isAnimate && needTabBorder && needAppearance && /*#__PURE__*/_react["default"].createElement("div", {
769
- className: hlClass,
816
+ }, this.renderTabs(mainTabs, moreTabs, false, effectiveBorderPosition))), otherTabs.length ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, otherTabs) : null, isAnimate && needTabBorder && needAppearance && /*#__PURE__*/_react["default"].createElement("div", {
817
+ className: (0, _cssUtility.cn)(hlClass),
770
818
  ref: this.getHighlightRef,
771
819
  "data-id": dataId,
772
820
  "data-test-id": dataId
@@ -9,14 +9,16 @@
9
9
  background-color: var(--zdt_tabs_alpha_bg);
10
10
  }
11
11
 
12
- .alpha_padding {
13
- padding-inline-start: var(--zd_size15) ;
12
+ .alpha_inline { padding-block-start: var(--zd_size15) ; }
13
+ .alpha_block { padding-inline-start: var(--zd_size15) ; }
14
+
15
+ .border {
16
+ border-width: 0;
17
+ border-style: solid;
14
18
  }
15
19
 
16
20
  .alpha_border {
17
- border-width: 0 0 1px 0;
18
21
  border-color: var(--zdt_tabs_alpha_border);
19
- border-style: solid;
20
22
  }
21
23
 
22
24
  .alpha::after {
@@ -61,12 +63,11 @@
61
63
  background-color: var(--zdt_tabs_alpha_bg);
62
64
  }
63
65
 
64
- .beta_padding {
65
- padding-inline-start: var(--zd_size13) ;
66
- }
66
+ .beta_inline { padding-block-start: var(--zd_size13) ; }
67
+ .beta_block { padding-inline-start: var(--zd_size13) ; }
67
68
 
68
69
  .beta_border {
69
- border-bottom: 1px solid var(--zdt_tabs_alpha_border);
70
+ border-color: var(--zdt_tabs_alpha_border);
70
71
  }
71
72
 
72
73
  .delta {
@@ -74,12 +75,55 @@
74
75
  background-color: var(--zdt_tabs_alpha_bg);
75
76
  }
76
77
 
77
- .delta_padding {
78
- padding-inline-start: var(--zd_size10) ;
79
- }
78
+ .delta_inline { padding-block-start: var(--zd_size10) ; }
79
+ .delta_block { padding-inline-start: var(--zd_size10) ; }
80
80
 
81
81
  .delta_border {
82
- border-bottom: 1px dotted var(--zdt_tabs_alpha_border);
82
+ border-color: var(--zdt_tabs_alpha_border);
83
+ }
84
+
85
+ .default {
86
+ height: var(--zd_size35) ;
87
+ transition: padding var(--zd_transition3);
88
+ z-index: 2;
89
+ background-color: var(--zd-bg-secondary);
90
+ }
91
+
92
+ .default_inline { padding-block-start: var(--zd_size10) ; }
93
+ .default_block { padding-inline-start: var(--zd_size10) ; }
94
+
95
+ .default_border {
96
+ border-color: var(--zd-border-primary);
97
+ }
98
+
99
+ .defaultMoreButton {
100
+ max-height: var(--zd_size28) ;
101
+ color: var(--zd-text-secondary);
102
+ padding: var(--zd_size6) ;
103
+ border: 1px solid var(--zd-border-transparent);
104
+ border-radius: 4px;
105
+ margin-top: var(--zd_size3) ;
106
+ cursor: pointer;
107
+ }
108
+
109
+ .defaultMoreButton:hover {
110
+ border-color: var(--zdt_rippleeffect_navy_border);
111
+ }
112
+
113
+ .defaultMoreButtonActive {
114
+ border-color: var(--zdt_cta_secondary_light_border);
115
+ background: var(--zd-bg-brandLight);
116
+ }
117
+
118
+ .defaultMoreButtonActive:hover {
119
+ border-color: var(--zdt_cta_secondary_light_border);
120
+ background: var(--zd-bg-brandLight);
121
+ }
122
+
123
+ .defaultMenuListItem {
124
+ font-size: var(--zd_font_size11) ;
125
+ text-transform: uppercase;
126
+ letter-spacing: 0.4px;
83
127
  }
84
128
 
85
129
  .delta .highlight {
@@ -93,7 +137,7 @@
93
137
  .highlight {
94
138
  position: absolute;
95
139
  bottom: 0 ;
96
- border-bottom: 1px solid var(--zdt_tabs_highlight_border);
140
+ border-block-end: 1px solid var(--zdt_tabs_highlight_border);
97
141
  }
98
142
 
99
143
  .lineAnimate {
@@ -126,7 +170,7 @@
126
170
 
127
171
  .search {
128
172
  padding-block: var(--zd_size6) 0 ;
129
- padding-inline:var(--zd_size20) ;
173
+ padding-inline: var(--zd_size20) ;
130
174
  }
131
175
 
132
176
  .emptyStateContainer {
@@ -153,5 +197,30 @@
153
197
 
154
198
  .listWrapper {
155
199
  padding-block: var(--zd_size10) ;
156
- padding-inline:0 ;
200
+ padding-inline: 0 ;
201
+ }
202
+
203
+ .listItemTitleBox {
204
+ gap: var(--zd_size4) ;
157
205
  }
206
+
207
+ .left_borderContainer {
208
+ border-inline-start-width: 1px;
209
+ }
210
+
211
+ .right_borderContainer {
212
+ border-inline-end-width: 1px;
213
+ }
214
+
215
+ .top_borderContainer {
216
+ border-block-start-width: 1px;
217
+ }
218
+
219
+ .bottom_borderContainer {
220
+ border-block-end-width: 1px;
221
+ }
222
+
223
+ .listItemLeftValuePlaceholder {
224
+ height: auto ;
225
+ margin: 0 ;
226
+ }
@@ -8,6 +8,8 @@ var _Tab = _interopRequireDefault(require("../Tab"));
8
8
 
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
10
 
11
+ var noop = function noop() {};
12
+
11
13
  describe('Tab', function () {
12
14
  test('rendering the defult props', function () {
13
15
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], null)),
@@ -15,4 +17,90 @@ describe('Tab', function () {
15
17
 
16
18
  expect(asFragment()).toMatchSnapshot();
17
19
  });
20
+ describe('variant-based label rendering', function () {
21
+ test('variant="text" renders text only', function () {
22
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
23
+ id: "t1",
24
+ text: "Home",
25
+ variant: "text",
26
+ onSelect: noop
27
+ })),
28
+ asFragment = _render2.asFragment;
29
+
30
+ expect(asFragment()).toMatchSnapshot();
31
+ });
32
+ test('variant="icon" renders icon and suppresses text label', function () {
33
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
34
+ id: "t2",
35
+ text: "Home",
36
+ variant: "icon",
37
+ iconName: "ZD-TB-menu",
38
+ onSelect: noop
39
+ })),
40
+ asFragment = _render3.asFragment;
41
+
42
+ expect(asFragment()).toMatchSnapshot();
43
+ });
44
+ test('variant="iconWithText" renders icon followed by text', function () {
45
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
46
+ id: "t3",
47
+ text: "Home",
48
+ variant: "iconWithText",
49
+ iconName: "ZD-TB-menu",
50
+ onSelect: noop
51
+ })),
52
+ asFragment = _render4.asFragment;
53
+
54
+ expect(asFragment()).toMatchSnapshot();
55
+ });
56
+ });
57
+ describe('renderBefore / renderAfter slots', function () {
58
+ test('renderBefore renders a node to the left of the label', function () {
59
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
60
+ id: "t6",
61
+ text: "Home",
62
+ renderBefore: /*#__PURE__*/_react["default"].createElement("span", null, "\u25C0"),
63
+ onSelect: noop
64
+ })),
65
+ asFragment = _render5.asFragment;
66
+
67
+ expect(asFragment()).toMatchSnapshot();
68
+ });
69
+ test('renderAfter renders a node to the right of the label', function () {
70
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
71
+ id: "t7",
72
+ text: "Home",
73
+ renderAfter: /*#__PURE__*/_react["default"].createElement("span", null, "3"),
74
+ onSelect: noop
75
+ })),
76
+ asFragment = _render6.asFragment;
77
+
78
+ expect(asFragment()).toMatchSnapshot();
79
+ });
80
+ test('renderBefore and renderAfter both render around the label', function () {
81
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
82
+ id: "t8",
83
+ text: "Home",
84
+ renderBefore: /*#__PURE__*/_react["default"].createElement("span", null, "\u25C0"),
85
+ renderAfter: /*#__PURE__*/_react["default"].createElement("span", null, "\u25B6"),
86
+ onSelect: noop
87
+ })),
88
+ asFragment = _render7.asFragment;
89
+
90
+ expect(asFragment()).toMatchSnapshot();
91
+ });
92
+ test('renderBefore as function renders custom node', function () {
93
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
94
+ id: "t9",
95
+ text: "Home",
96
+ renderBefore: function renderBefore() {
97
+ return /*#__PURE__*/_react["default"].createElement("span", null, "\u25C0");
98
+ },
99
+ onSelect: noop
100
+ })),
101
+ asFragment = _render8.asFragment;
102
+
103
+ expect(asFragment()).toMatchSnapshot();
104
+ });
105
+ });
18
106
  });