@zohodesk/components 1.0.0-temp-256.1 → 1.0.0-temp-259.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 (270) hide show
  1. package/CHANGELOG.md +2038 -0
  2. package/README.md +2 -2048
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +0 -2
  4. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +5 -20
  5. package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +12 -13
  6. package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +12 -13
  7. package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +12 -13
  8. package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +12 -13
  9. package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +12 -13
  10. package/assets/Appearance/light/mode/Component_LightMode.module.css +0 -2
  11. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +5 -20
  12. package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +12 -13
  13. package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +12 -13
  14. package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +12 -13
  15. package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +12 -13
  16. package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +12 -13
  17. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +0 -2
  18. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +5 -20
  19. package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +12 -13
  20. package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +12 -13
  21. package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +12 -13
  22. package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +12 -13
  23. package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +12 -13
  24. package/es/Accordion/Accordion.js +1 -6
  25. package/es/Accordion/AccordionItem.js +1 -6
  26. package/es/Animation/Animation.js +1 -8
  27. package/es/AppContainer/AppContainer.js +1 -6
  28. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  29. package/es/Avatar/Avatar.js +1 -6
  30. package/es/AvatarTeam/AvatarTeam.js +1 -7
  31. package/es/Button/Button.js +1 -6
  32. package/es/Buttongroup/Buttongroup.js +1 -14
  33. package/es/Card/Card.js +1 -9
  34. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  35. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  36. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  37. package/es/CheckBox/CheckBox.js +1 -6
  38. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  39. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +45 -45
  40. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +24 -24
  41. package/es/DateTime/DateWidget.js +0 -10
  42. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  43. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +87 -87
  44. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  45. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +5 -5
  46. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -6
  47. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  48. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +25 -25
  49. package/es/DropDown/DropDownHeading.js +1 -6
  50. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  51. package/es/Heading/Heading.js +1 -6
  52. package/es/Label/Label.js +1 -6
  53. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  54. package/es/ListItem/ListContainer.js +1 -6
  55. package/es/ListItem/ListItem.js +2 -8
  56. package/es/ListItem/ListItemWithAvatar.js +4 -15
  57. package/es/ListItem/ListItemWithCheckBox.js +4 -15
  58. package/es/ListItem/ListItemWithIcon.js +3 -14
  59. package/es/ListItem/ListItemWithRadio.js +4 -15
  60. package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +0 -19
  61. package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +0 -19
  62. package/es/ListItem/__tests__/ListItemWithIcon.spec.js +0 -17
  63. package/es/ListItem/__tests__/ListItemWithRadio.spec.js +0 -19
  64. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  65. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  66. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -149
  67. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -274
  68. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -149
  69. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -272
  70. package/es/ListItem/props/defaultProps.js +0 -1
  71. package/es/ListItem/props/propTypes.js +3 -12
  72. package/es/Modal/Modal.js +1 -8
  73. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  74. package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
  75. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  76. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  77. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  78. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +31 -31
  79. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +6 -6
  80. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  81. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  82. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  83. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  84. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  85. package/es/RippleEffect/RippleEffect.js +1 -6
  86. package/es/Select/GroupSelect.js +1 -8
  87. package/es/Select/Select.js +1 -10
  88. package/es/Select/SelectWithAvatar.js +1 -9
  89. package/es/Select/SelectWithIcon.js +1 -7
  90. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -6
  91. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +756 -756
  92. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  93. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +9 -9
  94. package/es/Switch/Switch.js +1 -6
  95. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  96. package/es/Tab/Tab.js +14 -62
  97. package/es/Tab/Tab.module.css +4 -72
  98. package/es/Tab/TabWrapper.js +2 -6
  99. package/es/Tab/Tabs.js +14 -60
  100. package/es/Tab/Tabs.module.css +15 -84
  101. package/es/Tab/__tests__/Tab.spec.js +0 -87
  102. package/es/Tab/__tests__/Tabs.spec.js +0 -11
  103. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -289
  104. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  105. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  106. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +36 -36
  107. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  108. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -36
  109. package/es/Tab/props/defaultProps.js +3 -10
  110. package/es/Tab/props/propTypes.js +4 -26
  111. package/es/Tab/utils/tabConfigs.js +0 -11
  112. package/es/Tag/Tag.js +1 -6
  113. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +46 -46
  114. package/es/TextBox/TextBox.js +1 -8
  115. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  116. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +164 -164
  117. package/es/Textarea/Textarea.js +1 -8
  118. package/es/Tooltip/Tooltip.js +1 -8
  119. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  120. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  121. package/es/semantic/Button/Button.js +1 -6
  122. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +10 -10
  123. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  124. package/es/v1/Button/Button.js +160 -108
  125. package/es/v1/Button/README.md +3 -2
  126. package/es/v1/Button/__tests__/Button.spec.js +14 -6
  127. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +298 -218
  128. package/es/v1/Button/constants/index.js +26 -20
  129. package/es/v1/Button/constants/presets.js +158 -0
  130. package/es/v1/Button/css/Button_v1.module.css +37 -16
  131. package/es/v1/Button/css/cssJSLogic.js +47 -28
  132. package/es/v1/Button/props/defaultProps.js +5 -6
  133. package/es/v1/Button/props/propTypes.js +26 -8
  134. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  135. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  136. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +40 -40
  137. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +25 -25
  138. package/es/v1/helpers/colorHelpers/colorHelper.js +114 -138
  139. package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
  140. package/es/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
  141. package/es/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +5 -5
  142. package/es/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  143. package/{lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → es/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  144. package/lib/Accordion/Accordion.js +1 -6
  145. package/lib/Accordion/AccordionItem.js +1 -6
  146. package/lib/Animation/Animation.js +1 -8
  147. package/lib/AppContainer/AppContainer.js +1 -6
  148. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  149. package/lib/Avatar/Avatar.js +1 -6
  150. package/lib/AvatarTeam/AvatarTeam.js +1 -7
  151. package/lib/Button/Button.js +1 -7
  152. package/lib/Buttongroup/Buttongroup.js +1 -14
  153. package/lib/Card/Card.js +1 -8
  154. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  155. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  156. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  157. package/lib/CheckBox/CheckBox.js +1 -6
  158. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  159. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +45 -45
  160. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +24 -24
  161. package/lib/DateTime/DateWidget.js +0 -10
  162. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  163. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +87 -87
  164. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  165. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +5 -5
  166. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -6
  167. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  168. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +25 -25
  169. package/lib/DropDown/DropDownHeading.js +1 -6
  170. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  171. package/lib/Heading/Heading.js +1 -6
  172. package/lib/Label/Label.js +1 -6
  173. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  174. package/lib/ListItem/ListContainer.js +1 -7
  175. package/lib/ListItem/ListItem.js +2 -9
  176. package/lib/ListItem/ListItemWithAvatar.js +4 -17
  177. package/lib/ListItem/ListItemWithCheckBox.js +4 -17
  178. package/lib/ListItem/ListItemWithIcon.js +3 -14
  179. package/lib/ListItem/ListItemWithRadio.js +4 -17
  180. package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +0 -23
  181. package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +0 -23
  182. package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +0 -21
  183. package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +0 -23
  184. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  185. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  186. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -149
  187. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -274
  188. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -149
  189. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -272
  190. package/lib/ListItem/props/defaultProps.js +0 -1
  191. package/lib/ListItem/props/propTypes.js +4 -12
  192. package/lib/Modal/Modal.js +1 -8
  193. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  194. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
  195. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  196. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  197. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  198. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +31 -31
  199. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +6 -6
  200. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  201. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  202. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  203. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  204. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  205. package/lib/RippleEffect/RippleEffect.js +1 -6
  206. package/lib/Select/GroupSelect.js +1 -9
  207. package/lib/Select/Select.js +1 -11
  208. package/lib/Select/SelectWithAvatar.js +1 -9
  209. package/lib/Select/SelectWithIcon.js +1 -7
  210. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -6
  211. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +756 -756
  212. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  213. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +9 -9
  214. package/lib/Switch/Switch.js +1 -6
  215. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  216. package/lib/Tab/Tab.js +12 -65
  217. package/lib/Tab/Tab.module.css +4 -72
  218. package/lib/Tab/TabWrapper.js +2 -6
  219. package/lib/Tab/Tabs.js +11 -57
  220. package/lib/Tab/Tabs.module.css +15 -84
  221. package/lib/Tab/__tests__/Tab.spec.js +0 -88
  222. package/lib/Tab/__tests__/Tabs.spec.js +0 -12
  223. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -289
  224. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  225. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  226. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +36 -36
  227. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  228. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -36
  229. package/lib/Tab/props/defaultProps.js +3 -10
  230. package/lib/Tab/props/propTypes.js +4 -28
  231. package/lib/Tab/utils/tabConfigs.js +2 -15
  232. package/lib/Tag/Tag.js +1 -6
  233. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +46 -46
  234. package/lib/TextBox/TextBox.js +1 -8
  235. package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
  236. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +164 -164
  237. package/lib/Textarea/Textarea.js +1 -8
  238. package/lib/Tooltip/Tooltip.js +1 -8
  239. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  240. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  241. package/lib/semantic/Button/Button.js +1 -6
  242. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +10 -10
  243. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  244. package/lib/v1/Button/Button.js +179 -120
  245. package/lib/v1/Button/README.md +3 -2
  246. package/lib/v1/Button/__tests__/Button.spec.js +66 -52
  247. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +298 -218
  248. package/lib/v1/Button/constants/index.js +31 -28
  249. package/lib/v1/Button/constants/presets.js +176 -0
  250. package/lib/v1/Button/css/Button_v1.module.css +37 -16
  251. package/lib/v1/Button/css/cssJSLogic.js +32 -19
  252. package/lib/v1/Button/props/defaultProps.js +4 -5
  253. package/lib/v1/Button/props/propTypes.js +41 -7
  254. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  255. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  256. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +40 -40
  257. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +25 -25
  258. package/lib/v1/helpers/colorHelpers/colorHelper.js +125 -153
  259. package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
  260. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +35 -35
  261. package/lib/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +8 -8
  262. package/lib/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  263. package/{es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → lib/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  264. package/package.json +13 -13
  265. /package/es/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  266. /package/es/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  267. /package/es/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
  268. /package/lib/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  269. /package/lib/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  270. /package/lib/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
@@ -117,11 +117,4 @@ export default class Textarea extends React.Component {
117
117
 
118
118
  }
119
119
  Textarea.defaultProps = defaultProps;
120
- Textarea.propTypes = propTypes; // if (__DOCS__) {
121
- // Textarea.docs = {
122
- // componentGroup: 'Form Elements',
123
- // folderName: 'Style Guide',
124
- // external: true,
125
- // description: ' '
126
- // };
127
- // }
120
+ Textarea.propTypes = propTypes;
@@ -521,11 +521,4 @@ export default class Tooltip extends React.Component {
521
521
 
522
522
  }
523
523
  Tooltip.propTypes = propTypes;
524
- Tooltip.defaultProps = defaultProps; // if (__DOCS__) {
525
- // Tooltip.docs = {
526
- // componentGroup: 'Atom',
527
- // folderName: 'Style Guide',
528
- // description: ' ',
529
- // external: true
530
- // };
531
- // }
524
+ Tooltip.defaultProps = defaultProps;
@@ -70,8 +70,4 @@ export default class VelocityAnimation extends React.Component {
70
70
  }
71
71
  VelocityAnimation.defaultProps = defaultProps;
72
72
  VelocityAnimation.propTypes = propTypes;
73
- VelocityAnimation.contextType = LibraryContext; // if (__DOCS__) {
74
- // VelocityAnimation.docs = {
75
- // componentGroup: 'Animation'
76
- // };
77
- // }
73
+ VelocityAnimation.contextType = LibraryContext;
@@ -137,8 +137,4 @@ VelocityAnimationGroup.defaultProps = { ...defaultProps,
137
137
  component: React.Fragment
138
138
  };
139
139
  VelocityAnimationGroup.propTypes = propTypes;
140
- VelocityAnimationGroup.contextType = LibraryContext; // if (__DOCS__) {
141
- // VelocityAnimationGroup.docs = {
142
- // componentGroup: 'Animation'
143
- // };
144
- // }
140
+ VelocityAnimationGroup.contextType = LibraryContext;
@@ -53,9 +53,4 @@ export default class Button extends React.Component {
53
53
 
54
54
  }
55
55
  Button.defaultProps = defaultProps;
56
- Button.propTypes = propTypes; // if (__DOCS__) {
57
- // Button.docs = {
58
- // componentGroup: 'semantic',
59
- // folderName: 'DefaultComponents'
60
- // };
61
- // }
56
+ Button.propTypes = propTypes;
@@ -4,7 +4,7 @@ exports[`ArrowIcon Should be render isActive is true 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
6
  aria-hidden="true"
7
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon active"
7
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon active"
8
8
  data-id="undefined_downIcon"
9
9
  data-selector-id="container"
10
10
  data-test-id="undefined_downIcon"
@@ -25,7 +25,7 @@ exports[`ArrowIcon Should be render isDisabled is true 1`] = `
25
25
  <DocumentFragment>
26
26
  <div
27
27
  aria-hidden="true"
28
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon disabled"
28
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon disabled"
29
29
  data-id="undefined_downIcon"
30
30
  data-selector-id="container"
31
31
  data-test-id="undefined_downIcon"
@@ -46,7 +46,7 @@ exports[`ArrowIcon Should be render isReadOnly is true 1`] = `
46
46
  <DocumentFragment>
47
47
  <div
48
48
  aria-hidden="true"
49
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon readonly"
49
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon readonly"
50
50
  data-id="undefined_downIcon"
51
51
  data-selector-id="container"
52
52
  data-test-id="undefined_downIcon"
@@ -67,7 +67,7 @@ exports[`ArrowIcon Should be render isRotated is true 1`] = `
67
67
  <DocumentFragment>
68
68
  <div
69
69
  aria-hidden="true"
70
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon rotated"
70
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon rotated"
71
71
  data-id="undefined_downIcon"
72
72
  data-selector-id="container"
73
73
  data-test-id="undefined_downIcon"
@@ -88,7 +88,7 @@ exports[`ArrowIcon Should be render with a11yAttributes 1`] = `
88
88
  <DocumentFragment>
89
89
  <div
90
90
  aria-hidden="true"
91
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon"
91
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon"
92
92
  data-a11y-focus="true"
93
93
  data-id="undefined_downIcon"
94
94
  data-selector-id="container"
@@ -110,7 +110,7 @@ exports[`ArrowIcon Should be render with customClass 1`] = `
110
110
  <DocumentFragment>
111
111
  <div
112
112
  aria-hidden="true"
113
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon arrowIcon_containerClass"
113
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon arrowIcon_containerClass"
114
114
  data-id="undefined_downIcon"
115
115
  data-selector-id="container"
116
116
  data-test-id="undefined_downIcon"
@@ -131,7 +131,7 @@ exports[`ArrowIcon Should be render with customProps 1`] = `
131
131
  <DocumentFragment>
132
132
  <div
133
133
  aria-hidden="true"
134
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon"
134
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon"
135
135
  data-id="undefined_downIcon"
136
136
  data-selector-id="container"
137
137
  data-test-id="hereIsTestId"
@@ -152,7 +152,7 @@ exports[`ArrowIcon Should be render with dataId 1`] = `
152
152
  <DocumentFragment>
153
153
  <div
154
154
  aria-hidden="true"
155
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon"
155
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon"
156
156
  data-id="ArrowIcon-test-dataId_downIcon"
157
157
  data-selector-id="container"
158
158
  data-test-id="ArrowIcon-test-dataId_downIcon"
@@ -181,7 +181,7 @@ exports[`ArrowIcon Should be render with tagAttributes 1`] = `
181
181
  <DocumentFragment>
182
182
  <div
183
183
  aria-hidden="true"
184
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon"
184
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon"
185
185
  data-id="undefined_downIcon"
186
186
  data-selector-id="container"
187
187
  data-test-id="undefined_downIcon"
@@ -203,7 +203,7 @@ exports[`ArrowIcon rendering the defult props 1`] = `
203
203
  <DocumentFragment>
204
204
  <div
205
205
  aria-hidden="true"
206
- class="inlineFlex column alignItems_center justifyContent_center arrowIcon"
206
+ class="d-inline-flex d-flex-col d-items-center d-justify-center arrowIcon"
207
207
  data-id="undefined_downIcon"
208
208
  data-selector-id="container"
209
209
  data-test-id="undefined_downIcon"
@@ -3,7 +3,7 @@
3
3
  exports[`InputFieldLine Should be render hasEffect is false 1`] = `
4
4
  <DocumentFragment>
5
5
  <div
6
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
6
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
7
7
  data-selector-id="container"
8
8
  data-title=""
9
9
  />
@@ -13,7 +13,7 @@ exports[`InputFieldLine Should be render hasEffect is false 1`] = `
13
13
  exports[`InputFieldLine Should be render hasPadding is true 1`] = `
14
14
  <DocumentFragment>
15
15
  <div
16
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
16
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
17
17
  data-selector-id="container"
18
18
  data-title=""
19
19
  />
@@ -23,7 +23,7 @@ exports[`InputFieldLine Should be render hasPadding is true 1`] = `
23
23
  exports[`InputFieldLine Should be render isActive is true 1`] = `
24
24
  <DocumentFragment>
25
25
  <div
26
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder active"
26
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder active"
27
27
  data-selector-id="container"
28
28
  data-title=""
29
29
  />
@@ -33,7 +33,7 @@ exports[`InputFieldLine Should be render isActive is true 1`] = `
33
33
  exports[`InputFieldLine Should be render isDisabled is true 1`] = `
34
34
  <DocumentFragment>
35
35
  <div
36
- class="flex row varClass customContainer border_bottom disabled borderColor_default hasBorder"
36
+ class="d-flex d-flex-row varClass customContainer border_bottom disabled borderColor_default hasBorder"
37
37
  data-selector-id="container"
38
38
  data-title=""
39
39
  />
@@ -43,7 +43,7 @@ exports[`InputFieldLine Should be render isDisabled is true 1`] = `
43
43
  exports[`InputFieldLine Should be render isReadOnly is true 1`] = `
44
44
  <DocumentFragment>
45
45
  <div
46
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
46
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
47
47
  data-selector-id="container"
48
48
  data-title=""
49
49
  />
@@ -53,7 +53,7 @@ exports[`InputFieldLine Should be render isReadOnly is true 1`] = `
53
53
  exports[`InputFieldLine Should be render with title 1`] = `
54
54
  <DocumentFragment>
55
55
  <div
56
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
56
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
57
57
  data-selector-id="container"
58
58
  data-title="InputFieldLine Test Title"
59
59
  />
@@ -63,7 +63,7 @@ exports[`InputFieldLine Should be render with title 1`] = `
63
63
  exports[`InputFieldLine Should render border - all 1`] = `
64
64
  <DocumentFragment>
65
65
  <div
66
- class="flex row varClass customContainer border_all effect borderColor_default hasBorder"
66
+ class="d-flex d-flex-row varClass customContainer border_all effect borderColor_default hasBorder"
67
67
  data-selector-id="container"
68
68
  data-title=""
69
69
  />
@@ -73,7 +73,7 @@ exports[`InputFieldLine Should render border - all 1`] = `
73
73
  exports[`InputFieldLine Should render border - bottom 1`] = `
74
74
  <DocumentFragment>
75
75
  <div
76
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
76
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
77
77
  data-selector-id="container"
78
78
  data-title=""
79
79
  />
@@ -83,7 +83,7 @@ exports[`InputFieldLine Should render border - bottom 1`] = `
83
83
  exports[`InputFieldLine Should render border - none 1`] = `
84
84
  <DocumentFragment>
85
85
  <div
86
- class="flex row varClass customContainer effect"
86
+ class="d-flex d-flex-row varClass customContainer effect"
87
87
  data-selector-id="container"
88
88
  data-title=""
89
89
  />
@@ -93,7 +93,7 @@ exports[`InputFieldLine Should render border - none 1`] = `
93
93
  exports[`InputFieldLine Should render borderColor - dark 1`] = `
94
94
  <DocumentFragment>
95
95
  <div
96
- class="flex row varClass customContainer border_bottom effect borderColor_dark hasBorder"
96
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_dark hasBorder"
97
97
  data-selector-id="container"
98
98
  data-title=""
99
99
  />
@@ -103,7 +103,7 @@ exports[`InputFieldLine Should render borderColor - dark 1`] = `
103
103
  exports[`InputFieldLine Should render borderColor - default 1`] = `
104
104
  <DocumentFragment>
105
105
  <div
106
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
106
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
107
107
  data-selector-id="container"
108
108
  data-title=""
109
109
  />
@@ -113,7 +113,7 @@ exports[`InputFieldLine Should render borderColor - default 1`] = `
113
113
  exports[`InputFieldLine Should render borderColor - error 1`] = `
114
114
  <DocumentFragment>
115
115
  <div
116
- class="flex row varClass customContainer border_bottom effect borderColor_error hasBorder"
116
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_error hasBorder"
117
117
  data-selector-id="container"
118
118
  data-title=""
119
119
  />
@@ -123,7 +123,7 @@ exports[`InputFieldLine Should render borderColor - error 1`] = `
123
123
  exports[`InputFieldLine Should render borderColor - transparent 1`] = `
124
124
  <DocumentFragment>
125
125
  <div
126
- class="flex row varClass customContainer border_bottom effect borderColor_transparent hasBorder"
126
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_transparent hasBorder"
127
127
  data-selector-id="container"
128
128
  data-title=""
129
129
  />
@@ -133,7 +133,7 @@ exports[`InputFieldLine Should render borderColor - transparent 1`] = `
133
133
  exports[`InputFieldLine Should render customClass 1`] = `
134
134
  <DocumentFragment>
135
135
  <div
136
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder inputFieldLine-custom-class"
136
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder inputFieldLine-custom-class"
137
137
  data-selector-id="container"
138
138
  data-title=""
139
139
  />
@@ -143,7 +143,7 @@ exports[`InputFieldLine Should render customClass 1`] = `
143
143
  exports[`InputFieldLine Should render customProps 1`] = `
144
144
  <DocumentFragment>
145
145
  <div
146
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
146
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
147
147
  data-selector-id="container"
148
148
  data-test="inputFieldLine-test"
149
149
  data-title=""
@@ -154,7 +154,7 @@ exports[`InputFieldLine Should render customProps 1`] = `
154
154
  exports[`InputFieldLine Should render dataId 1`] = `
155
155
  <DocumentFragment>
156
156
  <div
157
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
157
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
158
158
  data-id="inputFieldLine-test-id"
159
159
  data-selector-id="container"
160
160
  data-test-id="inputFieldLine-test-id"
@@ -166,7 +166,7 @@ exports[`InputFieldLine Should render dataId 1`] = `
166
166
  exports[`InputFieldLine Should render size - medium 1`] = `
167
167
  <DocumentFragment>
168
168
  <div
169
- class="flex row scroll_vertical varClass customContainer medium padding_medium border_bottom effect borderColor_default hasBorder"
169
+ class="d-flex d-flex-row d-overflow-y-auto d-overflow-x-hidden varClass customContainer medium padding_medium border_bottom effect borderColor_default hasBorder"
170
170
  data-selector-id="container"
171
171
  data-title=""
172
172
  />
@@ -176,7 +176,7 @@ exports[`InputFieldLine Should render size - medium 1`] = `
176
176
  exports[`InputFieldLine Should render size - xmedium 1`] = `
177
177
  <DocumentFragment>
178
178
  <div
179
- class="flex row scroll_vertical varClass customContainer xmedium padding_xmedium border_bottom effect borderColor_default hasBorder"
179
+ class="d-flex d-flex-row d-overflow-y-auto d-overflow-x-hidden varClass customContainer xmedium padding_xmedium border_bottom effect borderColor_default hasBorder"
180
180
  data-selector-id="container"
181
181
  data-title=""
182
182
  />
@@ -186,7 +186,7 @@ exports[`InputFieldLine Should render size - xmedium 1`] = `
186
186
  exports[`InputFieldLine rendering the defult props 1`] = `
187
187
  <DocumentFragment>
188
188
  <div
189
- class="flex row varClass customContainer border_bottom effect borderColor_default hasBorder"
189
+ class="d-flex d-flex-row varClass customContainer border_bottom effect borderColor_default hasBorder"
190
190
  data-selector-id="container"
191
191
  data-title=""
192
192
  />
@@ -6,31 +6,32 @@ import React, { forwardRef, memo, useMemo } from 'react';
6
6
  import { withComponentRegistrar } from '@zohodesk/dotkit/es/react/ComponentRegistry';
7
7
  import Icon from '@zohodesk/icons/es/Icon';
8
8
  import Flex from '@zohodesk/layout/es/Flex/Flex';
9
- import Typography from "../../Typography/Typography";
10
9
  import { isRenderable } from '@zohodesk/utils/es/renderNode';
11
10
  import renderNode from '@zohodesk/utils/es/renderNode';
12
- import propTypes from "./props/propTypes";
13
- import defaultProps from "./props/defaultProps";
14
11
  import { DUMMY_OBJECT } from '@zohodesk/dotkit/es/utils/constants';
15
12
  import { ICON_PLACEMENT, LOADER_PLACEMENT, STATUS, TYPOGRAPHY_SIZE_MAP, VARIANT } from "./constants";
16
- import Loader from "../shared/Loader/Loader";
13
+ import Typography from "../../Typography/Typography";
14
+ import Spinner from "../shared/Spinner/Spinner";
17
15
  import SuccessTick from "../shared/SuccessTick/SuccessTick";
18
16
  import cssJSLogic from "./css/cssJSLogic";
17
+ import propTypes from "./props/propTypes";
18
+ import defaultProps from "./props/defaultProps";
19
19
 
20
20
  const getTypographySize = size => TYPOGRAPHY_SIZE_MAP[size] || '13';
21
21
 
22
- const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
22
+ export const ButtonPresentational = /*#__PURE__*/forwardRef(function ButtonPresentational(props, ref) {
23
23
  const {
24
- palette,
25
- bgAppearance,
26
- borderAppearance,
24
+ isLoading,
25
+ isSuccess,
26
+ isDisabled,
27
+ isDisabledState,
28
+ overlayActive,
27
29
  variant,
28
- status,
30
+ iconPlacement,
29
31
  loaderPlacement,
30
32
  size,
31
33
  iconName,
32
34
  iconSize,
33
- iconPlacement,
34
35
  renderIcon,
35
36
  renderBefore,
36
37
  renderAfter,
@@ -38,104 +39,87 @@ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
38
39
  renderSuccess,
39
40
  children,
40
41
  type,
41
- onClick,
42
- isDisabled,
43
- isReadOnly,
44
42
  isSelected,
45
- shape,
46
- paletteShade,
47
- disabledAppearance,
48
43
  title,
49
44
  customProps,
50
45
  customAttributes,
51
46
  a11yAttributes,
52
47
  customId,
53
- testId
48
+ testId,
49
+ dataSelectorId,
50
+ handleClick,
51
+ classNames
54
52
  } = props;
55
- const isLoading = status === STATUS.LOADING;
56
- const isSuccess = status === STATUS.SUCCESS;
57
- const isDisabledState = isDisabled || isLoading;
58
- const isInteractionDisabled = isDisabledState || isReadOnly;
59
- const overlayActive = (isLoading || isSuccess) && loaderPlacement === LOADER_PLACEMENT.OVERLAY;
60
- const {
61
- text: contentProps = DUMMY_OBJECT,
62
- icon: iconProps = DUMMY_OBJECT
63
- } = customProps;
64
- const iconTagAttributes = useMemo(() => ({ ...(iconProps.tagAttributes || DUMMY_OBJECT),
65
- 'data-test-id': testId ? `${testId}_icon` : undefined
66
- }), [iconProps.tagAttributes, testId]);
67
- const classes = useMemo(() => cssJSLogic({
68
- props
69
- }), [palette, bgAppearance, borderAppearance, paletteShade, size, variant, status, isDisabled, isReadOnly, isSelected, shape, loaderPlacement, disabledAppearance, props.customClass]);
70
53
  const {
71
54
  loaderOverlayClass,
72
55
  successOverlayClass,
73
56
  contentWrapperClass,
74
57
  textClassName,
75
58
  buttonClassName,
76
- iconClassName
77
- } = classes;
78
- const showIcon = variant !== VARIANT.TEXT && (renderIcon || iconName);
79
-
80
- const _handleClick = event => {
81
- if (isInteractionDisabled) {
82
- return;
83
- }
84
-
85
- onClick(event);
59
+ iconClassName,
60
+ loaderClassName,
61
+ successClassName
62
+ } = classNames;
63
+ const {
64
+ text: contentProps = DUMMY_OBJECT,
65
+ icon: iconProps = DUMMY_OBJECT
66
+ } = customProps || DUMMY_OBJECT;
67
+ const {
68
+ button: buttonAttributes = DUMMY_OBJECT,
69
+ contentWrapper: contentWrapperAttributes = DUMMY_OBJECT,
70
+ loader: loaderAttributes = DUMMY_OBJECT,
71
+ success: successAttributes = DUMMY_OBJECT,
72
+ icon: iconAttributes = DUMMY_OBJECT,
73
+ text: textAttributes = DUMMY_OBJECT
74
+ } = customAttributes || DUMMY_OBJECT;
75
+ const iconTagAttributes = { ...iconAttributes,
76
+ 'data-test-id': testId ? `${testId}_icon` : undefined
86
77
  };
78
+ const showIcon = variant !== VARIANT.TEXT && (renderIcon || iconName);
87
79
 
88
80
  const _renderLoader = () => {
89
- if (!isLoading) {
90
- return null;
91
- }
92
-
93
- if (isRenderable(renderLoader)) {
94
- return renderNode(renderLoader, {
95
- status
96
- });
97
- }
98
-
99
- const loaderClassName = loaderPlacement === LOADER_PLACEMENT.OVERLAY ? loaderOverlayClass : '';
100
- return /*#__PURE__*/React.createElement(Flex, {
81
+ if (!isLoading) return null;
82
+ const isOverlay = loaderPlacement === LOADER_PLACEMENT.OVERLAY;
83
+ const hasCustomLoader = isRenderable(renderLoader);
84
+ if (hasCustomLoader && !isOverlay) return renderNode(renderLoader, {
85
+ status: STATUS.LOADING
86
+ });
87
+ return /*#__PURE__*/React.createElement(Flex, _extends({
101
88
  $ui_displayMode: "flex",
102
89
  $ui_alignItems: "center",
103
90
  $ui_justifyContent: "center",
104
- $ui_className: loaderClassName,
91
+ $ui_className: isOverlay ? loaderOverlayClass : '',
105
92
  testId: testId ? `${testId}_loader` : undefined
106
- }, /*#__PURE__*/React.createElement(Loader, null));
93
+ }, hasCustomLoader ? undefined : loaderAttributes), hasCustomLoader ? renderNode(renderLoader, {
94
+ status: STATUS.LOADING
95
+ }) : /*#__PURE__*/React.createElement(Spinner, {
96
+ customClass: loaderClassName
97
+ }));
107
98
  };
108
99
 
109
100
  const _renderSuccess = () => {
110
- if (!isSuccess) {
111
- return null;
112
- }
113
-
114
- if (isRenderable(renderSuccess)) {
115
- return renderNode(renderSuccess, {
116
- status
117
- });
118
- }
119
-
120
- const successClassName = loaderPlacement === LOADER_PLACEMENT.OVERLAY ? successOverlayClass : '';
121
- return /*#__PURE__*/React.createElement(Flex, {
101
+ if (!isSuccess) return null;
102
+ const isOverlay = loaderPlacement === LOADER_PLACEMENT.OVERLAY;
103
+ const hasCustomSuccess = isRenderable(renderSuccess);
104
+ if (hasCustomSuccess && !isOverlay) return renderNode(renderSuccess, {
105
+ status: STATUS.SUCCESS
106
+ });
107
+ return /*#__PURE__*/React.createElement(Flex, _extends({
122
108
  $ui_displayMode: "flex",
123
109
  $ui_alignItems: "center",
124
110
  $ui_justifyContent: "center",
125
- $ui_className: successClassName,
111
+ $ui_className: isOverlay ? successOverlayClass : '',
126
112
  testId: testId ? `${testId}_success` : undefined
127
- }, /*#__PURE__*/React.createElement(SuccessTick, null));
113
+ }, hasCustomSuccess ? undefined : successAttributes), hasCustomSuccess ? renderNode(renderSuccess, {
114
+ status: STATUS.SUCCESS
115
+ }) : /*#__PURE__*/React.createElement(SuccessTick, {
116
+ customClass: successClassName
117
+ }));
128
118
  };
129
119
 
130
120
  const _renderIconNode = () => {
131
- if (!showIcon) {
132
- return null;
133
- }
134
-
135
- if (isRenderable(renderIcon)) {
136
- return renderNode(renderIcon);
137
- }
138
-
121
+ if (!showIcon) return null;
122
+ if (isRenderable(renderIcon)) return renderNode(renderIcon);
139
123
  return /*#__PURE__*/React.createElement(Icon, _extends({}, iconProps, {
140
124
  iconClass: iconClassName,
141
125
  name: iconName,
@@ -145,58 +129,126 @@ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
145
129
  }));
146
130
  };
147
131
 
148
- const _renderBeforeNode = () => {
149
- if (!isRenderable(renderBefore)) {
150
- return null;
151
- }
152
-
153
- return renderNode(renderBefore, props);
154
- };
155
-
156
- const _renderAfterNode = () => {
157
- if (!isRenderable(renderAfter)) {
158
- return null;
159
- }
160
-
161
- return renderNode(renderAfter, props);
162
- };
163
-
164
132
  const _renderContent = () => {
165
- const shouldShowText = variant !== VARIANT.ICON && children !== undefined && children !== null;
133
+ const shouldShowText = variant !== VARIANT.ICON && children != null && (typeof children !== 'string' || children.trim() !== '');
166
134
  const showLoaderStart = isLoading && loaderPlacement === LOADER_PLACEMENT.START;
167
135
  const showLoaderAfter = isLoading && loaderPlacement === LOADER_PLACEMENT.END;
168
136
  const showSuccessStart = isSuccess && loaderPlacement === LOADER_PLACEMENT.START;
169
137
  const showSuccessAfter = isSuccess && loaderPlacement === LOADER_PLACEMENT.END;
170
- return /*#__PURE__*/React.createElement(Flex, {
138
+ return /*#__PURE__*/React.createElement(Flex, _extends({
171
139
  $ui_displayMode: "flex",
172
140
  $ui_direction: "row",
173
141
  $flag_shrink: true,
174
142
  $ui_alignItems: "center",
175
143
  $ui_justifyContent: "center",
176
144
  $ui_className: contentWrapperClass
177
- }, showLoaderStart ? _renderLoader() : null, showSuccessStart ? _renderSuccess() : null, _renderBeforeNode(), iconPlacement === ICON_PLACEMENT.LEFT ? _renderIconNode() : null, shouldShowText ? /*#__PURE__*/React.createElement(Typography, _extends({}, contentProps, {
145
+ }, 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({
146
+ $ui_size: getTypographySize(size)
147
+ }, contentProps, {
148
+ tagAttributes: textAttributes,
178
149
  $ui_className: textClassName,
179
- $ui_size: getTypographySize(size),
180
150
  $flag_dotted: variant !== VARIANT.ICON
181
- }), children) : null, iconPlacement === ICON_PLACEMENT.RIGHT ? _renderIconNode() : null, _renderAfterNode(), showLoaderAfter ? _renderLoader() : null, showSuccessAfter ? _renderSuccess() : null);
151
+ }), children) : children : null, iconPlacement === ICON_PLACEMENT.RIGHT ? _renderIconNode() : null, isRenderable(renderAfter) ? renderNode(renderAfter, props) : null, showLoaderAfter ? _renderLoader() : null, showSuccessAfter ? _renderSuccess() : null);
182
152
  };
183
153
 
184
- const containerAttributes = { ...customAttributes,
185
- 'data-id': customId,
186
- 'data-test-id': testId,
154
+ const containerAttributes = { ...buttonAttributes,
155
+ 'data-id': isDisabled ? `${customId}_disabled` : customId,
156
+ 'data-test-id': isDisabled ? `${testId}_disabled` : testId,
157
+ 'data-selector-id': dataSelectorId,
187
158
  'data-title': title
188
159
  };
189
- return /*#__PURE__*/React.createElement("button", _extends({}, containerAttributes, a11yAttributes, {
160
+ return /*#__PURE__*/React.createElement("button", _extends({}, containerAttributes, {
161
+ "aria-busy": isLoading,
162
+ disabled: isDisabledState,
163
+ "aria-pressed": isSelected
164
+ }, a11yAttributes, {
190
165
  ref: ref,
191
166
  type: type,
192
167
  className: cn(buttonClassName),
193
- "aria-busy": isLoading,
194
- "aria-disabled": isDisabledState,
195
- "aria-readonly": isReadOnly,
196
- "aria-pressed": isSelected,
197
- onClick: _handleClick
168
+ onClick: handleClick
198
169
  }), _renderContent(), overlayActive ? isLoading ? _renderLoader() : _renderSuccess() : null);
199
170
  });
171
+ ButtonPresentational.displayName = 'ButtonPresentational';
172
+ const Button = /*#__PURE__*/forwardRef(function Button(props, ref) {
173
+ const {
174
+ palette,
175
+ appearance,
176
+ hoverAppearance,
177
+ selectedAppearance,
178
+ variant,
179
+ status,
180
+ loaderPlacement,
181
+ size,
182
+ iconName,
183
+ iconSize,
184
+ iconPlacement,
185
+ renderIcon,
186
+ renderBefore,
187
+ renderAfter,
188
+ renderLoader,
189
+ renderSuccess,
190
+ children,
191
+ type,
192
+ onClick,
193
+ isDisabled,
194
+ isSelected,
195
+ shape,
196
+ disabledAppearance,
197
+ title,
198
+ customProps,
199
+ customAttributes,
200
+ a11yAttributes,
201
+ customId,
202
+ testId,
203
+ dataSelectorId
204
+ } = props;
205
+ const isLoading = status === STATUS.LOADING;
206
+ const isSuccess = status === STATUS.SUCCESS;
207
+ const isDisabledState = isDisabled || isLoading;
208
+ const overlayActive = (isLoading || isSuccess) && loaderPlacement === LOADER_PLACEMENT.OVERLAY;
209
+ const classNames = useMemo(() => cssJSLogic({
210
+ props
211
+ }), [palette, appearance, hoverAppearance, selectedAppearance, size, variant, status, isDisabled, isSelected, shape, loaderPlacement, disabledAppearance, props.customClass]);
212
+
213
+ const handleClick = event => {
214
+ if (isDisabledState) return;
215
+ onClick(event);
216
+ };
217
+
218
+ const essentials = {
219
+ isLoading,
220
+ isSuccess,
221
+ isDisabled,
222
+ isDisabledState,
223
+ overlayActive,
224
+ variant,
225
+ iconPlacement,
226
+ loaderPlacement,
227
+ size,
228
+ iconName,
229
+ iconSize,
230
+ renderIcon,
231
+ renderBefore,
232
+ renderAfter,
233
+ renderLoader,
234
+ renderSuccess,
235
+ children,
236
+ type,
237
+ isSelected,
238
+ title,
239
+ customProps,
240
+ customAttributes,
241
+ a11yAttributes,
242
+ customId,
243
+ testId,
244
+ dataSelectorId,
245
+ handleClick
246
+ };
247
+ return /*#__PURE__*/React.createElement(ButtonPresentational, _extends({}, essentials, {
248
+ classNames: classNames,
249
+ ref: ref
250
+ }));
251
+ });
200
252
  Button.propTypes = propTypes;
201
253
  Button.defaultProps = defaultProps;
202
254
  Button.displayName = 'Button';