@zohodesk/components 1.0.0-temp-256 → 1.0.0-temp-257.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 (379) hide show
  1. package/README.md +34 -1
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +321 -330
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +64 -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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  14. package/assets/Appearance/light/mode/Component_LightMode.module.css +321 -330
  15. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +64 -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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  26. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +321 -330
  27. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +64 -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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  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 +13 -13
  38. package/es/Accordion/Accordion.js +2 -1
  39. package/es/Accordion/AccordionItem.js +3 -2
  40. package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  41. package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  42. package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  43. package/es/AppContainer/AppContainer.js +2 -1
  44. package/es/AppContainer/AppContainer.module.css +9 -3
  45. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  46. package/es/Avatar/Avatar.js +5 -4
  47. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  48. package/es/AvatarTeam/AvatarTeam.js +4 -3
  49. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  50. package/es/Button/Button.js +5 -4
  51. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  52. package/es/Button/css/cssJSLogic.js +6 -6
  53. package/es/Buttongroup/Buttongroup.js +4 -3
  54. package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  55. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  56. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  57. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  58. package/es/CheckBox/CheckBox.js +9 -8
  59. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  60. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  61. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  62. package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +2 -1
  63. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  64. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  65. package/es/DateTime/CalendarView.js +4 -3
  66. package/es/DateTime/DateTime.js +5 -4
  67. package/es/DateTime/DateTimePopupFooter.js +2 -1
  68. package/es/DateTime/DateWidget.js +4 -3
  69. package/es/DateTime/Time.js +2 -1
  70. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  71. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  72. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  73. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  74. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  75. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  76. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  77. package/es/DropBox/DropBox.js +13 -5
  78. package/es/DropBox/DropBoxElement/DropBoxElement.js +21 -8
  79. package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  80. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -6
  81. package/es/DropBox/DropBoxElement/props/propTypes.js +2 -1
  82. package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  83. package/es/DropDown/DropDown.js +2 -1
  84. package/es/DropDown/DropDownHeading.js +2 -1
  85. package/es/DropDown/DropDownItem.js +6 -5
  86. package/es/DropDown/DropDownSearch.js +2 -1
  87. package/es/DropDown/DropDownSeparator.js +2 -1
  88. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  89. package/es/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  90. package/es/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  91. package/es/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  92. package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  93. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  94. package/es/Label/Label.js +3 -2
  95. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  96. package/es/Layout/Box.js +1 -115
  97. package/es/Layout/Container.js +1 -132
  98. package/es/Layout/props/defaultProps.js +1 -16
  99. package/es/Layout/props/propTypes.js +1 -46
  100. package/es/ListItem/ListItemWithAvatar.js +2 -1
  101. package/es/ListItem/ListItemWithCheckBox.js +2 -1
  102. package/es/ListItem/ListItemWithIcon.js +3 -2
  103. package/es/ListItem/ListItemWithRadio.js +2 -1
  104. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  105. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  106. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +42 -42
  107. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +70 -77
  108. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +42 -42
  109. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +63 -70
  110. package/es/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  111. package/es/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  112. package/es/MultiSelect/AdvancedGroupMultiSelect.js +8 -7
  113. package/es/MultiSelect/AdvancedMultiSelect.js +8 -5
  114. package/es/MultiSelect/EmptyState.js +5 -4
  115. package/es/MultiSelect/MobileHeader/MobileHeader.js +2 -1
  116. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  117. package/es/MultiSelect/MultiSelect.js +18 -13
  118. package/es/MultiSelect/MultiSelectWithAvatar.js +7 -4
  119. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  120. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  121. package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  122. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  123. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  124. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  125. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  126. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  127. package/es/MultiSelect/props/defaultProps.js +3 -0
  128. package/es/MultiSelect/props/propTypes.js +1 -0
  129. package/es/PopOver/PopOver.js +3 -2
  130. package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  131. package/es/Radio/Radio.js +5 -4
  132. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  133. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  134. package/es/Ribbon/Ribbon.js +8 -20
  135. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  136. package/es/RippleEffect/RippleEffect.js +1 -1
  137. package/es/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  138. package/es/Select/GroupSelect.js +9 -6
  139. package/es/Select/Select.js +13 -8
  140. package/es/Select/SelectWithAvatar.js +9 -6
  141. package/es/Select/SelectWithIcon.js +8 -5
  142. package/es/Select/__tests__/SelectWithIcon.spec.js +3 -1
  143. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  144. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  145. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  146. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  147. package/es/Select/props/defaultProps.js +4 -0
  148. package/es/Select/props/propTypes.js +3 -0
  149. package/es/Stencils/Stencils.js +2 -1
  150. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  151. package/es/Switch/Switch.js +4 -3
  152. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  153. package/es/Tab/Tab.js +11 -62
  154. package/es/Tab/Tab.module.css +0 -25
  155. package/es/Tab/Tabs.js +10 -40
  156. package/es/Tab/Tabs.module.css +3 -48
  157. package/es/Tab/__tests__/Tab.spec.js +0 -112
  158. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +3 -319
  159. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  160. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  161. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  162. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  163. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +5 -5
  164. package/es/Tab/props/defaultProps.js +2 -3
  165. package/es/Tab/props/propTypes.js +3 -12
  166. package/es/Tab/utils/tabConfigs.js +0 -5
  167. package/es/Tag/Tag.js +6 -6
  168. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  169. package/es/TextBox/TextBox.js +2 -1
  170. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  171. package/es/TextBoxIcon/TextBoxIcon.js +1 -1
  172. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  173. package/es/Textarea/Textarea.js +2 -1
  174. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  175. package/es/Tooltip/Tooltip.js +5 -4
  176. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  177. package/es/Typography/css/cssJSLogic.js +2 -2
  178. package/es/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  179. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  180. package/es/common/basic.module.css +9 -8
  181. package/es/css.js +0 -1
  182. package/es/deprecated/Switch/Switch.js +4 -3
  183. package/es/semantic/Button/Button.js +2 -1
  184. package/es/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  185. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  186. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  187. package/es/v1/Button/Button.js +166 -107
  188. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  189. package/es/v1/Button/css/Button_v1.module.css +28 -16
  190. package/es/v1/Button/css/cssJSLogic.js +18 -3
  191. package/es/v1/Button/props/propTypes.js +14 -3
  192. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  193. package/es/v1/Switch/Switch.js +4 -3
  194. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  195. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +35 -35
  196. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +20 -20
  197. package/es/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
  198. package/es/v1/shared/Loader/Loader.js +4 -3
  199. package/es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  200. package/es/v1/shared/SuccessTick/SuccessTick.js +2 -1
  201. package/es/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  202. package/lib/Accordion/Accordion.js +3 -1
  203. package/lib/Accordion/AccordionItem.js +4 -2
  204. package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  205. package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  206. package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  207. package/lib/AppContainer/AppContainer.js +3 -1
  208. package/lib/AppContainer/AppContainer.module.css +9 -3
  209. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
  210. package/lib/Avatar/Avatar.js +6 -4
  211. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
  212. package/lib/AvatarTeam/AvatarTeam.js +4 -2
  213. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
  214. package/lib/Button/Button.js +6 -4
  215. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
  216. package/lib/Button/css/cssJSLogic.js +3 -3
  217. package/lib/Buttongroup/Buttongroup.js +5 -3
  218. package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
  219. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
  220. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
  221. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
  222. package/lib/CheckBox/CheckBox.js +10 -8
  223. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
  224. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
  225. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
  226. package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +3 -1
  227. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
  228. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
  229. package/lib/DateTime/CalendarView.js +5 -3
  230. package/lib/DateTime/DateTime.js +6 -4
  231. package/lib/DateTime/DateTimePopupFooter.js +3 -1
  232. package/lib/DateTime/DateWidget.js +5 -3
  233. package/lib/DateTime/Time.js +3 -1
  234. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
  235. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
  236. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
  237. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
  238. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
  239. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
  240. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
  241. package/lib/DropBox/DropBox.js +14 -5
  242. package/lib/DropBox/DropBoxElement/DropBoxElement.js +28 -8
  243. package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  244. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +2 -2
  245. package/lib/DropBox/DropBoxElement/props/propTypes.js +2 -1
  246. package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  247. package/lib/DropDown/DropDown.js +3 -1
  248. package/lib/DropDown/DropDownHeading.js +3 -1
  249. package/lib/DropDown/DropDownItem.js +7 -5
  250. package/lib/DropDown/DropDownSearch.js +3 -1
  251. package/lib/DropDown/DropDownSeparator.js +3 -1
  252. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
  253. package/lib/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
  254. package/lib/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
  255. package/lib/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
  256. package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
  257. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
  258. package/lib/Label/Label.js +3 -1
  259. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
  260. package/lib/Layout/Box.js +7 -120
  261. package/lib/Layout/Container.js +7 -137
  262. package/lib/Layout/props/defaultProps.js +14 -19
  263. package/lib/Layout/props/propTypes.js +13 -52
  264. package/lib/ListItem/ListItemWithAvatar.js +3 -1
  265. package/lib/ListItem/ListItemWithCheckBox.js +3 -1
  266. package/lib/ListItem/ListItemWithIcon.js +4 -2
  267. package/lib/ListItem/ListItemWithRadio.js +3 -1
  268. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
  269. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
  270. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +42 -42
  271. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +70 -77
  272. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +42 -42
  273. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +63 -70
  274. package/lib/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  275. package/lib/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  276. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -6
  277. package/lib/MultiSelect/AdvancedMultiSelect.js +8 -4
  278. package/lib/MultiSelect/EmptyState.js +6 -4
  279. package/lib/MultiSelect/MobileHeader/MobileHeader.js +3 -1
  280. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
  281. package/lib/MultiSelect/MultiSelect.js +57 -50
  282. package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -4
  283. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
  284. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
  285. package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
  286. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
  287. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
  288. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
  289. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
  290. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
  291. package/lib/MultiSelect/props/defaultProps.js +3 -0
  292. package/lib/MultiSelect/props/propTypes.js +1 -0
  293. package/lib/PopOver/PopOver.js +4 -2
  294. package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  295. package/lib/Radio/Radio.js +6 -4
  296. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
  297. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
  298. package/lib/Ribbon/Ribbon.js +8 -19
  299. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
  300. package/lib/RippleEffect/RippleEffect.js +1 -1
  301. package/lib/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  302. package/lib/Select/GroupSelect.js +10 -6
  303. package/lib/Select/Select.js +14 -8
  304. package/lib/Select/SelectWithAvatar.js +10 -6
  305. package/lib/Select/SelectWithIcon.js +9 -5
  306. package/lib/Select/__tests__/SelectWithIcon.spec.js +3 -1
  307. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
  308. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
  309. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
  310. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
  311. package/lib/Select/props/defaultProps.js +5 -2
  312. package/lib/Select/props/propTypes.js +3 -0
  313. package/lib/Stencils/Stencils.js +3 -1
  314. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
  315. package/lib/Switch/Switch.js +5 -3
  316. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
  317. package/lib/Tab/Tab.js +9 -62
  318. package/lib/Tab/Tab.module.css +0 -25
  319. package/lib/Tab/Tabs.js +8 -37
  320. package/lib/Tab/Tabs.module.css +3 -48
  321. package/lib/Tab/__tests__/Tab.spec.js +0 -115
  322. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +3 -319
  323. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
  324. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
  325. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
  326. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
  327. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +5 -5
  328. package/lib/Tab/props/defaultProps.js +2 -3
  329. package/lib/Tab/props/propTypes.js +3 -14
  330. package/lib/Tab/utils/tabConfigs.js +1 -7
  331. package/lib/Tag/Tag.js +7 -5
  332. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
  333. package/lib/TextBox/TextBox.js +3 -1
  334. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
  335. package/lib/TextBoxIcon/TextBoxIcon.js +1 -1
  336. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
  337. package/lib/Textarea/Textarea.js +3 -1
  338. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
  339. package/lib/Tooltip/Tooltip.js +6 -4
  340. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
  341. package/lib/Typography/css/cssJSLogic.js +1 -1
  342. package/lib/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  343. package/lib/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  344. package/lib/common/basic.module.css +9 -8
  345. package/lib/css.js +0 -2
  346. package/lib/deprecated/Switch/Switch.js +5 -3
  347. package/lib/semantic/Button/Button.js +3 -1
  348. package/lib/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
  349. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
  350. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
  351. package/lib/v1/Button/Button.js +185 -119
  352. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
  353. package/lib/v1/Button/css/Button_v1.module.css +28 -16
  354. package/lib/v1/Button/css/cssJSLogic.js +19 -7
  355. package/lib/v1/Button/props/propTypes.js +14 -3
  356. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  357. package/lib/v1/Switch/Switch.js +5 -3
  358. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  359. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +35 -35
  360. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +20 -20
  361. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
  362. package/lib/v1/shared/Loader/Loader.js +5 -3
  363. package/lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
  364. package/lib/v1/shared/SuccessTick/SuccessTick.js +3 -1
  365. package/lib/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
  366. package/package.json +28 -26
  367. package/ut.config.js +106 -0
  368. package/es/Layout/Layout.module.css +0 -336
  369. package/es/Layout/__tests__/Box.spec.js +0 -11
  370. package/es/Layout/__tests__/Container.spec.js +0 -11
  371. package/es/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  372. package/es/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  373. package/es/Layout/utils.js +0 -29
  374. package/lib/Layout/Layout.module.css +0 -336
  375. package/lib/Layout/__tests__/Box.spec.js +0 -18
  376. package/lib/Layout/__tests__/Container.spec.js +0 -18
  377. package/lib/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
  378. package/lib/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
  379. package/lib/Layout/utils.js +0 -59
@@ -1,34 +1,37 @@
1
+ import { cn } from "@dot-system/css-utility";
2
+
1
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
4
 
3
5
  import React, { forwardRef, memo, useMemo } from 'react';
4
6
  import { withComponentRegistrar } from '@zohodesk/dotkit/es/react/ComponentRegistry';
5
7
  import Icon from '@zohodesk/icons/es/Icon';
6
8
  import Flex from '@zohodesk/layout/es/Flex/Flex';
7
- import Typography from "../../Typography/Typography";
8
9
  import { isRenderable } from '@zohodesk/utils/es/renderNode';
9
10
  import renderNode from '@zohodesk/utils/es/renderNode';
10
- import propTypes from "./props/propTypes";
11
- import defaultProps from "./props/defaultProps";
12
11
  import { DUMMY_OBJECT } from '@zohodesk/dotkit/es/utils/constants';
13
12
  import { ICON_PLACEMENT, LOADER_PLACEMENT, STATUS, TYPOGRAPHY_SIZE_MAP, VARIANT } from "./constants";
13
+ import Typography from "../../Typography/Typography";
14
14
  import Loader from "../shared/Loader/Loader";
15
15
  import SuccessTick from "../shared/SuccessTick/SuccessTick";
16
16
  import cssJSLogic from "./css/cssJSLogic";
17
+ import propTypes from "./props/propTypes";
18
+ import defaultProps from "./props/defaultProps";
17
19
 
18
20
  const getTypographySize = size => TYPOGRAPHY_SIZE_MAP[size] || '13';
19
21
 
20
- const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
22
+ export const ButtonPresentational = /*#__PURE__*/forwardRef(function ButtonPresentational(props, ref) {
21
23
  const {
22
- palette,
23
- bgAppearance,
24
- borderAppearance,
24
+ isLoading,
25
+ isSuccess,
26
+ isDisabled,
27
+ isDisabledState,
28
+ overlayActive,
25
29
  variant,
26
- status,
30
+ iconPlacement,
27
31
  loaderPlacement,
28
32
  size,
29
33
  iconName,
30
34
  iconSize,
31
- iconPlacement,
32
35
  renderIcon,
33
36
  renderBefore,
34
37
  renderAfter,
@@ -36,104 +39,88 @@ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
36
39
  renderSuccess,
37
40
  children,
38
41
  type,
39
- onClick,
40
- isDisabled,
41
42
  isReadOnly,
42
43
  isSelected,
43
- shape,
44
- paletteShade,
45
- disabledAppearance,
46
44
  title,
47
45
  customProps,
48
46
  customAttributes,
49
47
  a11yAttributes,
50
48
  customId,
51
- testId
49
+ testId,
50
+ dataSelectorId,
51
+ handleClick,
52
+ classNames
52
53
  } = props;
53
- const isLoading = status === STATUS.LOADING;
54
- const isSuccess = status === STATUS.SUCCESS;
55
- const isDisabledState = isDisabled || isLoading;
56
- const isInteractionDisabled = isDisabledState || isReadOnly;
57
- const overlayActive = (isLoading || isSuccess) && loaderPlacement === LOADER_PLACEMENT.OVERLAY;
58
- const {
59
- text: contentProps = DUMMY_OBJECT,
60
- icon: iconProps = DUMMY_OBJECT
61
- } = customProps;
62
- const iconTagAttributes = useMemo(() => ({ ...(iconProps.tagAttributes || DUMMY_OBJECT),
63
- 'data-test-id': testId ? `${testId}_icon` : undefined
64
- }), [iconProps.tagAttributes, testId]);
65
- const classes = useMemo(() => cssJSLogic({
66
- props
67
- }), [palette, bgAppearance, borderAppearance, paletteShade, size, variant, status, isDisabled, isReadOnly, isSelected, shape, loaderPlacement, disabledAppearance, props.customClass]);
68
54
  const {
69
55
  loaderOverlayClass,
70
56
  successOverlayClass,
71
57
  contentWrapperClass,
72
58
  textClassName,
73
59
  buttonClassName,
74
- iconClassName
75
- } = classes;
76
- const showIcon = variant !== VARIANT.TEXT && (renderIcon || iconName);
77
-
78
- const _handleClick = event => {
79
- if (isInteractionDisabled) {
80
- return;
81
- }
82
-
83
- onClick(event);
60
+ iconClassName,
61
+ loaderClassName,
62
+ successClassName
63
+ } = classNames;
64
+ const {
65
+ text: contentProps = DUMMY_OBJECT,
66
+ icon: iconProps = DUMMY_OBJECT
67
+ } = customProps || DUMMY_OBJECT;
68
+ const {
69
+ button: buttonAttributes = DUMMY_OBJECT,
70
+ contentWrapper: contentWrapperAttributes = DUMMY_OBJECT,
71
+ loader: loaderAttributes = DUMMY_OBJECT,
72
+ success: successAttributes = DUMMY_OBJECT,
73
+ icon: iconAttributes = DUMMY_OBJECT,
74
+ text: textAttributes = DUMMY_OBJECT
75
+ } = customAttributes || DUMMY_OBJECT;
76
+ const iconTagAttributes = { ...iconAttributes,
77
+ 'data-test-id': testId ? `${testId}_icon` : undefined
84
78
  };
79
+ const showIcon = variant !== VARIANT.TEXT && (renderIcon || iconName);
85
80
 
86
81
  const _renderLoader = () => {
87
- if (!isLoading) {
88
- return null;
89
- }
90
-
91
- if (isRenderable(renderLoader)) {
92
- return renderNode(renderLoader, {
93
- status
94
- });
95
- }
96
-
97
- const loaderClassName = loaderPlacement === LOADER_PLACEMENT.OVERLAY ? loaderOverlayClass : '';
98
- return /*#__PURE__*/React.createElement(Flex, {
82
+ if (!isLoading) return null;
83
+ const isOverlay = loaderPlacement === LOADER_PLACEMENT.OVERLAY;
84
+ const hasCustomLoader = isRenderable(renderLoader);
85
+ if (hasCustomLoader && !isOverlay) return renderNode(renderLoader, {
86
+ status: STATUS.LOADING
87
+ });
88
+ return /*#__PURE__*/React.createElement(Flex, _extends({
99
89
  $ui_displayMode: "flex",
100
90
  $ui_alignItems: "center",
101
91
  $ui_justifyContent: "center",
102
- $ui_className: loaderClassName,
92
+ $ui_className: isOverlay ? loaderOverlayClass : '',
103
93
  testId: testId ? `${testId}_loader` : undefined
104
- }, /*#__PURE__*/React.createElement(Loader, null));
94
+ }, hasCustomLoader ? undefined : loaderAttributes), hasCustomLoader ? renderNode(renderLoader, {
95
+ status: STATUS.LOADING
96
+ }) : /*#__PURE__*/React.createElement(Loader, {
97
+ customClass: loaderClassName
98
+ }));
105
99
  };
106
100
 
107
101
  const _renderSuccess = () => {
108
- if (!isSuccess) {
109
- return null;
110
- }
111
-
112
- if (isRenderable(renderSuccess)) {
113
- return renderNode(renderSuccess, {
114
- status
115
- });
116
- }
117
-
118
- const successClassName = loaderPlacement === LOADER_PLACEMENT.OVERLAY ? successOverlayClass : '';
119
- return /*#__PURE__*/React.createElement(Flex, {
102
+ if (!isSuccess) return null;
103
+ const isOverlay = loaderPlacement === LOADER_PLACEMENT.OVERLAY;
104
+ const hasCustomSuccess = isRenderable(renderSuccess);
105
+ if (hasCustomSuccess && !isOverlay) return renderNode(renderSuccess, {
106
+ status: STATUS.SUCCESS
107
+ });
108
+ return /*#__PURE__*/React.createElement(Flex, _extends({
120
109
  $ui_displayMode: "flex",
121
110
  $ui_alignItems: "center",
122
111
  $ui_justifyContent: "center",
123
- $ui_className: successClassName,
112
+ $ui_className: isOverlay ? successOverlayClass : '',
124
113
  testId: testId ? `${testId}_success` : undefined
125
- }, /*#__PURE__*/React.createElement(SuccessTick, null));
114
+ }, hasCustomSuccess ? undefined : successAttributes), hasCustomSuccess ? renderNode(renderSuccess, {
115
+ status: STATUS.SUCCESS
116
+ }) : /*#__PURE__*/React.createElement(SuccessTick, {
117
+ customClass: successClassName
118
+ }));
126
119
  };
127
120
 
128
121
  const _renderIconNode = () => {
129
- if (!showIcon) {
130
- return null;
131
- }
132
-
133
- if (isRenderable(renderIcon)) {
134
- return renderNode(renderIcon);
135
- }
136
-
122
+ if (!showIcon) return null;
123
+ if (isRenderable(renderIcon)) return renderNode(renderIcon);
137
124
  return /*#__PURE__*/React.createElement(Icon, _extends({}, iconProps, {
138
125
  iconClass: iconClassName,
139
126
  name: iconName,
@@ -143,58 +130,130 @@ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
143
130
  }));
144
131
  };
145
132
 
146
- const _renderBeforeNode = () => {
147
- if (!isRenderable(renderBefore)) {
148
- return null;
149
- }
150
-
151
- return renderNode(renderBefore, props);
152
- };
153
-
154
- const _renderAfterNode = () => {
155
- if (!isRenderable(renderAfter)) {
156
- return null;
157
- }
158
-
159
- return renderNode(renderAfter, props);
160
- };
161
-
162
133
  const _renderContent = () => {
163
- const shouldShowText = variant !== VARIANT.ICON && children !== undefined && children !== null;
134
+ const shouldShowText = variant !== VARIANT.ICON && children != null && (typeof children !== 'string' || children.trim() !== '');
164
135
  const showLoaderStart = isLoading && loaderPlacement === LOADER_PLACEMENT.START;
165
136
  const showLoaderAfter = isLoading && loaderPlacement === LOADER_PLACEMENT.END;
166
137
  const showSuccessStart = isSuccess && loaderPlacement === LOADER_PLACEMENT.START;
167
138
  const showSuccessAfter = isSuccess && loaderPlacement === LOADER_PLACEMENT.END;
168
- return /*#__PURE__*/React.createElement(Flex, {
139
+ return /*#__PURE__*/React.createElement(Flex, _extends({
169
140
  $ui_displayMode: "flex",
170
141
  $ui_direction: "row",
171
142
  $flag_shrink: true,
172
143
  $ui_alignItems: "center",
173
144
  $ui_justifyContent: "center",
174
145
  $ui_className: contentWrapperClass
175
- }, showLoaderStart ? _renderLoader() : null, showSuccessStart ? _renderSuccess() : null, _renderBeforeNode(), iconPlacement === ICON_PLACEMENT.LEFT ? _renderIconNode() : null, shouldShowText ? /*#__PURE__*/React.createElement(Typography, _extends({}, contentProps, {
146
+ }, contentWrapperAttributes), showLoaderStart ? _renderLoader() : null, showSuccessStart ? _renderSuccess() : null, isRenderable(renderBefore) ? renderNode(renderBefore, props) : null, iconPlacement === ICON_PLACEMENT.LEFT ? _renderIconNode() : null, shouldShowText ? typeof children === 'string' ? /*#__PURE__*/React.createElement(Typography, _extends({
147
+ $ui_size: getTypographySize(size)
148
+ }, contentProps, {
149
+ tagAttributes: textAttributes,
176
150
  $ui_className: textClassName,
177
- $ui_size: getTypographySize(size),
178
151
  $flag_dotted: variant !== VARIANT.ICON
179
- }), children) : null, iconPlacement === ICON_PLACEMENT.RIGHT ? _renderIconNode() : null, _renderAfterNode(), showLoaderAfter ? _renderLoader() : null, showSuccessAfter ? _renderSuccess() : null);
152
+ }), children) : children : null, iconPlacement === ICON_PLACEMENT.RIGHT ? _renderIconNode() : null, isRenderable(renderAfter) ? renderNode(renderAfter, props) : null, showLoaderAfter ? _renderLoader() : null, showSuccessAfter ? _renderSuccess() : null);
180
153
  };
181
154
 
182
- const containerAttributes = { ...customAttributes,
183
- 'data-id': customId,
184
- 'data-test-id': testId,
155
+ const containerAttributes = { ...buttonAttributes,
156
+ 'data-id': isDisabled ? `${customId}_disabled` : customId,
157
+ 'data-test-id': isDisabled ? `${testId}_disabled` : testId,
158
+ 'data-selector-id': dataSelectorId,
185
159
  'data-title': title
186
160
  };
187
- return /*#__PURE__*/React.createElement("button", _extends({}, containerAttributes, a11yAttributes, {
188
- ref: ref,
189
- type: type,
190
- className: buttonClassName,
161
+ return /*#__PURE__*/React.createElement("button", _extends({}, containerAttributes, {
191
162
  "aria-busy": isLoading,
192
- "aria-disabled": isDisabledState,
163
+ disabled: isDisabledState,
193
164
  "aria-readonly": isReadOnly,
194
- "aria-pressed": isSelected,
195
- onClick: _handleClick
165
+ "aria-pressed": isSelected
166
+ }, a11yAttributes, {
167
+ ref: ref,
168
+ type: type,
169
+ className: cn(buttonClassName),
170
+ onClick: handleClick
196
171
  }), _renderContent(), overlayActive ? isLoading ? _renderLoader() : _renderSuccess() : null);
197
172
  });
173
+ ButtonPresentational.displayName = 'ButtonPresentational';
174
+ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
175
+ const {
176
+ palette,
177
+ bgAppearance,
178
+ borderAppearance,
179
+ variant,
180
+ status,
181
+ loaderPlacement,
182
+ size,
183
+ iconName,
184
+ iconSize,
185
+ iconPlacement,
186
+ renderIcon,
187
+ renderBefore,
188
+ renderAfter,
189
+ renderLoader,
190
+ renderSuccess,
191
+ children,
192
+ type,
193
+ onClick,
194
+ isDisabled,
195
+ isReadOnly,
196
+ isSelected,
197
+ shape,
198
+ paletteShade,
199
+ disabledAppearance,
200
+ title,
201
+ customProps,
202
+ customAttributes,
203
+ a11yAttributes,
204
+ customId,
205
+ testId,
206
+ dataSelectorId
207
+ } = props;
208
+ const isLoading = status === STATUS.LOADING;
209
+ const isSuccess = status === STATUS.SUCCESS;
210
+ const isDisabledState = isDisabled || isLoading;
211
+ const isInteractionDisabled = isDisabledState || isReadOnly;
212
+ const overlayActive = (isLoading || isSuccess) && loaderPlacement === LOADER_PLACEMENT.OVERLAY;
213
+ const classNames = useMemo(() => cssJSLogic({
214
+ props
215
+ }), [palette, bgAppearance, borderAppearance, paletteShade, size, variant, status, isDisabled, isReadOnly, isSelected, shape, loaderPlacement, disabledAppearance, props.customClass]);
216
+
217
+ const handleClick = event => {
218
+ if (isInteractionDisabled) return;
219
+ onClick(event);
220
+ };
221
+
222
+ const essentials = {
223
+ isLoading,
224
+ isSuccess,
225
+ isDisabled,
226
+ isDisabledState,
227
+ overlayActive,
228
+ variant,
229
+ iconPlacement,
230
+ loaderPlacement,
231
+ size,
232
+ iconName,
233
+ iconSize,
234
+ renderIcon,
235
+ renderBefore,
236
+ renderAfter,
237
+ renderLoader,
238
+ renderSuccess,
239
+ children,
240
+ type,
241
+ isReadOnly,
242
+ isSelected,
243
+ title,
244
+ customProps,
245
+ customAttributes,
246
+ a11yAttributes,
247
+ customId,
248
+ testId,
249
+ dataSelectorId,
250
+ handleClick
251
+ };
252
+ return /*#__PURE__*/React.createElement(ButtonPresentational, _extends({}, essentials, {
253
+ classNames: classNames,
254
+ ref: ref
255
+ }));
256
+ });
198
257
  Button.propTypes = propTypes;
199
258
  Button.defaultProps = defaultProps;
200
259
  Button.displayName = 'Button';
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Button - Component Should apply a11yAttributes to the button 1`] = `
4
4
  <DocumentFragment>
@@ -44,7 +44,7 @@ exports[`Button - Component Should apply customClass to wrapper, text and icon 1
44
44
  >
45
45
  <i
46
46
  aria-hidden="true"
47
- class="zd_font_icons basic icon-plus customIconClass "
47
+ class="zd_font_icons basic icon-plus customIconClass"
48
48
  data-id="fontIcon"
49
49
  data-selector-id="fontIcon"
50
50
  style="--zd-iconfont-size: var(--zd_font_size16);"
@@ -220,7 +220,7 @@ exports[`Button - Component Should render Status of buttons - loading 1`] = `
220
220
  >
221
221
  <svg
222
222
  aria-hidden="true"
223
- class="spinner "
223
+ class="spinner"
224
224
  role="img"
225
225
  viewBox="0 0 24 24"
226
226
  >
@@ -264,7 +264,7 @@ exports[`Button - Component Should render Status of buttons - success 1`] = `
264
264
  >
265
265
  <svg
266
266
  aria-hidden="true"
267
- class="tick "
267
+ class="tick"
268
268
  role="img"
269
269
  viewBox="0 0 24 24"
270
270
  >
@@ -470,7 +470,7 @@ exports[`Button - Component Should render loaderPlacement of buttons - end 1`] =
470
470
  >
471
471
  <svg
472
472
  aria-hidden="true"
473
- class="spinner "
473
+ class="spinner"
474
474
  role="img"
475
475
  viewBox="0 0 24 24"
476
476
  >
@@ -515,7 +515,7 @@ exports[`Button - Component Should render loaderPlacement of buttons - overlay 1
515
515
  >
516
516
  <svg
517
517
  aria-hidden="true"
518
- class="spinner "
518
+ class="spinner"
519
519
  role="img"
520
520
  viewBox="0 0 24 24"
521
521
  >
@@ -559,7 +559,7 @@ exports[`Button - Component Should render loaderPlacement of buttons - start 1`]
559
559
  >
560
560
  <svg
561
561
  aria-hidden="true"
562
- class="spinner "
562
+ class="spinner"
563
563
  role="img"
564
564
  viewBox="0 0 24 24"
565
565
  >
@@ -949,7 +949,7 @@ exports[`Button - Component Should render with iconName and iconSize 1`] = `
949
949
  >
950
950
  <i
951
951
  aria-hidden="true"
952
- class="zd_font_icons basic icon-plus "
952
+ class="zd_font_icons basic icon-plus"
953
953
  data-id="fontIcon"
954
954
  data-selector-id="fontIcon"
955
955
  style="--zd-iconfont-size: var(--zd_font_size20);"
@@ -981,7 +981,7 @@ exports[`Button - Component Should render with iconPlacement 1`] = `
981
981
  </div>
982
982
  <i
983
983
  aria-hidden="true"
984
- class="zd_font_icons basic icon-plus "
984
+ class="zd_font_icons basic icon-plus"
985
985
  data-id="fontIcon"
986
986
  data-selector-id="fontIcon"
987
987
  style="--zd-iconfont-size: var(--zd_font_size16);"
@@ -5,13 +5,15 @@
5
5
  --local-button-gap: var(--zd_size8);
6
6
  --local-button-padding-block: var(--zd_size6);
7
7
  --local-button-padding-inline: var(--zd_size15);
8
- --local-button-font-size: var(--zd_font_size13);
9
8
  --local-loader-size: 16px;
10
9
  --local-tick-size: 16px;
11
10
  --local-button-height: auto;
12
11
  --local-button-width: auto;
13
- --local-button-overlay-opacity: 0.48;
14
- --local-button-transition-duration: var(--zd_transition3);
12
+ --local-button-min-width: var(--zd_size90);
13
+ --local-button-overlay-opacity: 0.4;
14
+ --local-button-transition-duration: var(--zd_transition2);
15
+ --local-button-cursor: pointer;
16
+ --local-button-strike-color: currentColor;
15
17
  }
16
18
 
17
19
  .button {
@@ -19,19 +21,20 @@
19
21
  composes: posrel pointer from '../../../common/common.module.css';
20
22
  padding-block: var(--local-button-padding-block);
21
23
  padding-inline: var(--local-button-padding-inline);
22
- font-size: var(--local-button-font-size);
23
24
  height: var(--local-button-height);
24
25
  width: var(--local-button-width);
26
+ min-width: var(--local-button-min-width);
25
27
  border-radius: var(--local-button-radius);
26
28
  border-style: var(--local-button-border-style);
27
29
  border-width: var(--local-button-border-width);
28
30
  transition-duration: var(--local-button-transition-duration);
29
31
  transition-timing-function: ease;
32
+ cursor: var(--local-button-cursor);
30
33
  background-image: none;
31
34
  }
32
35
 
33
36
  .disabledPointer {
34
- cursor: not-allowed;
37
+ --local-button-cursor: not-allowed;
35
38
  }
36
39
 
37
40
  .disabledOpac {
@@ -39,7 +42,8 @@
39
42
  }
40
43
 
41
44
  .loading {
42
- cursor: progress;
45
+ --local-button-cursor: progress;
46
+ composes: disabledOpac;
43
47
  }
44
48
 
45
49
  .sizeSmall {
@@ -68,6 +72,18 @@
68
72
  --local-button-width: 100%;
69
73
  }
70
74
 
75
+ .variantText {
76
+ --local-button-min-width: var(--zd_size90);
77
+ }
78
+
79
+ .variantIcon {
80
+ --local-button-min-width: var(--zd_size28);
81
+ }
82
+
83
+ .variantIconWithText {
84
+ --local-button-min-width: var(--zd_size118);
85
+ }
86
+
71
87
  .shapeRoundedRectangle {
72
88
  --local-button-radius: 4px;
73
89
  }
@@ -80,9 +96,11 @@
80
96
  --local-button-radius: 0;
81
97
  }
82
98
 
83
- .loaderOverlay {
99
+ .strike::after,
100
+ .loaderOverlay,
101
+ .successOverlay {
84
102
  inset: 0 ;
85
- composes: posab from '../../../common/common.module.css';
103
+ position: absolute;
86
104
  }
87
105
 
88
106
  .contentWrapper {
@@ -98,22 +116,16 @@
98
116
 
99
117
  .strike::after {
100
118
  content: '';
101
- position: absolute;
102
- inset: 0 ;
103
119
  pointer-events: none;
104
120
  border-radius: var(--local-button-radius);
105
121
  }
106
122
 
107
123
  [dir=ltr] .strike::after {
108
- background-image: repeating-linear-gradient(120deg, currentColor 0 1px, var(--dot_mirror) 1px 8px);
124
+ background-image: repeating-linear-gradient(120deg, var(--local-button-strike-color) 0 1px, var(--zd-bg-transparent) 1px 8px);
109
125
  }
110
126
 
111
127
  [dir=rtl] .strike::after {
112
- background-image: repeating-linear-gradient(-120deg, currentColor 0 1px, var(--dot_mirror) 1px 8px);
128
+ background-image: repeating-linear-gradient(-120deg, var(--local-button-strike-color) 0 1px, var(--zd-bg-transparent) 1px 8px);
113
129
  }
114
130
 
115
- .successOverlay {
116
- inset: 0 ;
117
- composes: posab from '../../../common/common.module.css';
118
- }
119
131
 
@@ -16,6 +16,7 @@ export default function cssJSLogic({
16
16
  borderAppearance,
17
17
  paletteShade,
18
18
  size,
19
+ variant,
19
20
  status,
20
21
  isDisabled,
21
22
  isReadOnly,
@@ -28,11 +29,13 @@ export default function cssJSLogic({
28
29
  const {
29
30
  wrapper: wrapperClass = '',
30
31
  text: textClassCustom = '',
31
- icon: iconClassCustom = ''
32
+ icon: iconClassCustom = '',
33
+ loader: loaderClassCustom = '',
34
+ success: successClassCustom = ''
32
35
  } = customClass;
33
36
  const isLoading = status === STATUS.LOADING;
34
37
  const isSuccess = status === STATUS.SUCCESS;
35
- const isInteractive = !isDisabled && !isReadOnly;
38
+ const isInteractive = !isDisabled && !isReadOnly && !isLoading;
36
39
  const overlayActive = (isLoading || isSuccess) && loaderPlacement === LOADER_PLACEMENT.OVERLAY;
37
40
  const {
38
41
  bg,
@@ -56,6 +59,7 @@ export default function cssJSLogic({
56
59
  });
57
60
  const sizeClass = size ? style[`size${capitalize(size)}`] : '';
58
61
  const shapeClass = shape ? style[`shape${capitalize(shape)}`] : '';
62
+ const variantClass = variant ? style[`variant${capitalize(variant)}`] : '';
59
63
  const shouldStrike = disabledAppearance === DISABLED_APPEARANCE.STRIKE && isDisabled;
60
64
  const buttonClassName = compileClassNames({
61
65
  [buttonResetStyle.buttonReset]: true,
@@ -74,6 +78,7 @@ export default function cssJSLogic({
74
78
  [activeBorder]: !!activeBorder && isInteractive,
75
79
  [sizeClass]: !!sizeClass,
76
80
  [shapeClass]: !!shapeClass,
81
+ [variantClass]: !!variantClass,
77
82
  [style.disabledOpac]: isReadOnly || isDisabled && disabledAppearance === DISABLED_APPEARANCE.DULL,
78
83
  [style.disabledPointer]: isReadOnly || isDisabled,
79
84
  [style.loading]: isLoading,
@@ -89,9 +94,19 @@ export default function cssJSLogic({
89
94
  return {
90
95
  buttonClassName,
91
96
  textClassName,
97
+ iconClassName,
92
98
  contentWrapperClass: overlayActive ? style.overlayHidden : style.contentWrapper,
93
99
  loaderOverlayClass: style.loaderOverlay,
94
100
  successOverlayClass: style.successOverlay,
95
- iconClassName
101
+ loaderClassName: {
102
+ wrapper: compileClassNames({
103
+ [loaderClassCustom]: !!loaderClassCustom
104
+ })
105
+ },
106
+ successClassName: {
107
+ wrapper: compileClassNames({
108
+ [successClassCustom]: !!successClassCustom
109
+ })
110
+ }
96
111
  };
97
112
  }
@@ -29,15 +29,26 @@ const propTypes = {
29
29
  title: PropTypes.string,
30
30
  customClass: PropTypes.shape({
31
31
  wrapper: PropTypes.string,
32
- text: PropTypes.string
32
+ text: PropTypes.string,
33
+ icon: PropTypes.string,
34
+ loader: PropTypes.string,
35
+ success: PropTypes.string
33
36
  }),
34
37
  customProps: PropTypes.shape({
35
38
  text: PropTypes.object,
36
39
  icon: PropTypes.object
37
40
  }),
38
- customAttributes: PropTypes.object,
41
+ customAttributes: PropTypes.shape({
42
+ button: PropTypes.object,
43
+ contentWrapper: PropTypes.object,
44
+ loader: PropTypes.object,
45
+ success: PropTypes.object,
46
+ icon: PropTypes.object,
47
+ text: PropTypes.object
48
+ }),
39
49
  a11yAttributes: PropTypes.object,
40
50
  customId: PropTypes.string,
41
- testId: PropTypes.string
51
+ testId: PropTypes.string,
52
+ dataSelectorId: PropTypes.string
42
53
  };
43
54
  export default propTypes;
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Label - Snapshot Render with a11y attributes 1`] = `
4
4
  <DocumentFragment>
@@ -15,6 +15,7 @@ import { ALIGN_ITEMS, ITEMS_DIRECTION, OFF_LABEL_RADIUS, THUMB_RADIUS } from "./
15
15
  import Flex from '@zohodesk/layout/es/Flex/Flex';
16
16
  import Label from "../../Label/Label"; // css
17
17
 
18
+ import { cn } from "@dot-system/css-utility";
18
19
  import defaultStyle from "./css/Switch_v1.module.css";
19
20
 
20
21
  const Switch = props => {
@@ -108,20 +109,20 @@ const Switch = props => {
108
109
  value: value,
109
110
  checked: isChecked,
110
111
  onChange: handleChange,
111
- className: trackClass,
112
+ className: cn(trackClass),
112
113
  "data-title": title,
113
114
  role: "switch",
114
115
  "aria-disabled": ariaDisabled,
115
116
  "aria-label": isReadOnly ? readOnlyAriaLabel : ariaLabel
116
117
  })), /*#__PURE__*/React.createElement("svg", {
117
- className: thumbClass,
118
+ className: cn(thumbClass),
118
119
  xmlns: "http://www.w3.org/2000/svg"
119
120
  }, /*#__PURE__*/React.createElement("circle", {
120
121
  cx: "50%",
121
122
  cy: "50%",
122
123
  r: THUMB_RADIUS[size]
123
124
  })), hasStateIndication ? /*#__PURE__*/React.createElement("svg", {
124
- className: labelIndicationClass,
125
+ className: cn(labelIndicationClass),
125
126
  xmlns: "http://www.w3.org/2000/svg"
126
127
  }, isChecked ? /*#__PURE__*/React.createElement("rect", {
127
128
  width: "100%",
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`Switch - Snapshot Render with a11y attributes 1`] = `
4
4
  <DocumentFragment>