@zohodesk/components 1.6.25 → 1.6.27

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 (218) hide show
  1. package/CHANGELOG.md +2046 -0
  2. package/README.md +16 -2031
  3. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +5 -20
  4. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +5 -20
  5. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +5 -20
  6. package/es/Accordion/Accordion.js +1 -6
  7. package/es/Accordion/AccordionItem.js +1 -6
  8. package/es/Animation/Animation.js +1 -8
  9. package/es/AppContainer/AppContainer.js +1 -6
  10. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  11. package/es/Avatar/Avatar.js +1 -6
  12. package/es/AvatarTeam/AvatarTeam.js +1 -7
  13. package/es/Button/Button.js +1 -6
  14. package/es/Buttongroup/Buttongroup.js +1 -14
  15. package/es/Card/Card.js +1 -9
  16. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  17. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  18. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  19. package/es/CheckBox/CheckBox.js +1 -6
  20. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  21. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  22. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  23. package/es/DateTime/DateWidget.js +1 -11
  24. package/es/DateTime/DateWidget.module.css +3 -0
  25. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  26. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  27. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  28. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  29. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  30. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  31. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  32. package/es/DropDown/DropDownHeading.js +1 -6
  33. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  34. package/es/Heading/Heading.js +1 -6
  35. package/es/Label/Label.js +1 -6
  36. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  37. package/es/ListItem/ListContainer.js +1 -6
  38. package/es/ListItem/ListItem.js +1 -6
  39. package/es/ListItem/ListItemWithAvatar.js +1 -6
  40. package/es/ListItem/ListItemWithCheckBox.js +1 -6
  41. package/es/ListItem/ListItemWithIcon.js +1 -6
  42. package/es/ListItem/ListItemWithRadio.js +1 -6
  43. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  44. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  45. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  46. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  47. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  48. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  49. package/es/Modal/Modal.js +1 -8
  50. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  51. package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
  52. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  53. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  54. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  55. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  56. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  57. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  58. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  59. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  60. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  61. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  62. package/es/RippleEffect/RippleEffect.js +1 -6
  63. package/es/Select/GroupSelect.js +1 -8
  64. package/es/Select/Select.js +1 -10
  65. package/es/Select/SelectWithAvatar.js +1 -9
  66. package/es/Select/SelectWithIcon.js +1 -7
  67. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  68. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  69. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  70. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  71. package/es/Switch/Switch.js +1 -6
  72. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  73. package/es/Tab/Tab.js +1 -6
  74. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  75. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  76. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  77. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  78. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  79. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  80. package/es/Tag/Tag.js +1 -6
  81. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  82. package/es/TextBox/TextBox.js +1 -8
  83. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  84. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  85. package/es/Textarea/Textarea.js +1 -8
  86. package/es/Tooltip/Tooltip.js +1 -8
  87. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  88. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  89. package/es/semantic/Button/Button.js +1 -6
  90. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  91. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  92. package/es/v1/Button/Button.js +197 -113
  93. package/es/v1/Button/README.md +110 -44
  94. package/es/v1/Button/__tests__/Button.spec.js +139 -48
  95. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  96. package/es/v1/Button/constants/index.js +29 -23
  97. package/es/v1/Button/constants/presets.js +160 -0
  98. package/es/v1/Button/css/Button_v1.module.css +33 -16
  99. package/es/v1/Button/css/cssJSLogic.js +56 -29
  100. package/es/v1/Button/props/defaultProps.js +5 -6
  101. package/es/v1/Button/props/propTypes.js +26 -8
  102. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  103. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  104. package/es/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +357 -0
  105. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  106. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  107. package/es/v1/helpers/colorHelpers/colorHelper.js +120 -139
  108. package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
  109. package/es/v1/helpers/colorHelpers/index.js +0 -1
  110. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  111. package/es/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  112. package/lib/Accordion/Accordion.js +1 -6
  113. package/lib/Accordion/AccordionItem.js +1 -6
  114. package/lib/Animation/Animation.js +1 -8
  115. package/lib/AppContainer/AppContainer.js +1 -6
  116. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  117. package/lib/Avatar/Avatar.js +1 -6
  118. package/lib/AvatarTeam/AvatarTeam.js +1 -7
  119. package/lib/Button/Button.js +1 -7
  120. package/lib/Buttongroup/Buttongroup.js +1 -14
  121. package/lib/Card/Card.js +1 -8
  122. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  123. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  124. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  125. package/lib/CheckBox/CheckBox.js +1 -6
  126. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  127. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  128. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  129. package/lib/DateTime/DateWidget.js +1 -11
  130. package/lib/DateTime/DateWidget.module.css +3 -0
  131. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  132. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  133. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  134. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  135. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  136. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  137. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  138. package/lib/DropDown/DropDownHeading.js +1 -6
  139. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  140. package/lib/Heading/Heading.js +1 -6
  141. package/lib/Label/Label.js +1 -6
  142. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  143. package/lib/ListItem/ListContainer.js +1 -7
  144. package/lib/ListItem/ListItem.js +1 -6
  145. package/lib/ListItem/ListItemWithAvatar.js +1 -6
  146. package/lib/ListItem/ListItemWithCheckBox.js +1 -6
  147. package/lib/ListItem/ListItemWithIcon.js +1 -6
  148. package/lib/ListItem/ListItemWithRadio.js +1 -6
  149. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  150. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  151. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  152. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  153. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  154. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  155. package/lib/Modal/Modal.js +1 -8
  156. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  157. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
  158. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  159. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  160. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  161. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  162. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  163. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  164. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  165. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  166. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  167. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  168. package/lib/RippleEffect/RippleEffect.js +1 -6
  169. package/lib/Select/GroupSelect.js +1 -9
  170. package/lib/Select/Select.js +1 -11
  171. package/lib/Select/SelectWithAvatar.js +1 -9
  172. package/lib/Select/SelectWithIcon.js +1 -7
  173. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  174. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  175. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  176. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  177. package/lib/Switch/Switch.js +1 -6
  178. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  179. package/lib/Tab/Tab.js +1 -6
  180. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  181. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  182. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  183. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  184. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  185. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  186. package/lib/Tag/Tag.js +1 -6
  187. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  188. package/lib/TextBox/TextBox.js +1 -8
  189. package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
  190. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  191. package/lib/Textarea/Textarea.js +1 -8
  192. package/lib/Tooltip/Tooltip.js +1 -8
  193. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  194. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  195. package/lib/semantic/Button/Button.js +1 -6
  196. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  197. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  198. package/lib/v1/Button/Button.js +207 -123
  199. package/lib/v1/Button/README.md +110 -44
  200. package/lib/v1/Button/__tests__/Button.spec.js +195 -88
  201. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  202. package/lib/v1/Button/constants/index.js +34 -31
  203. package/lib/v1/Button/constants/presets.js +179 -0
  204. package/lib/v1/Button/css/Button_v1.module.css +33 -16
  205. package/lib/v1/Button/css/cssJSLogic.js +45 -25
  206. package/lib/v1/Button/props/defaultProps.js +4 -5
  207. package/lib/v1/Button/props/propTypes.js +41 -7
  208. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  209. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  210. package/lib/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +363 -0
  211. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  212. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  213. package/lib/v1/helpers/colorHelpers/colorHelper.js +130 -153
  214. package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
  215. package/lib/v1/helpers/colorHelpers/index.js +2 -24
  216. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  217. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  218. package/package.json +16 -16
@@ -6,125 +6,153 @@ var _react2 = require("@testing-library/react");
6
6
 
7
7
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
8
8
 
9
- var _Button = _interopRequireDefault(require("../Button"));
9
+ var _index = _interopRequireDefault(require("../index"));
10
10
 
11
11
  require("@testing-library/jest-dom");
12
12
 
13
+ var _constants = require("../constants");
14
+
15
+ var _presets = require("../constants/presets");
16
+
13
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
18
 
19
+ 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); }
20
+
15
21
  afterEach(function () {
16
22
  (0, _react2.cleanup)();
17
23
  });
18
- describe('Button - Component', function () {
24
+ describe('Button', function () {
19
25
  test('Should render with the basic set of default props', function () {
20
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], null)),
26
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], null)),
21
27
  asFragment = _render.asFragment;
22
28
 
23
29
  expect(asFragment()).toMatchSnapshot();
24
30
  });
25
31
  test('Should render with children', function () {
26
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], null, "Click Me")),
32
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], null, "Click Me")),
27
33
  asFragment = _render2.asFragment;
28
34
 
29
35
  expect(asFragment()).toMatchSnapshot();
30
36
  });
31
- var palette = ['default', 'primary', 'secondary', 'danger', 'success'];
32
- test.each(palette)('Should render palette of buttons - %s', function (palette) {
33
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
37
+ test.each(Object.values(_constants.PALETTE))('Should render palette of buttons - %s', function (palette) {
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
34
39
  palette: palette
35
40
  })),
36
41
  asFragment = _render3.asFragment;
37
42
 
38
43
  expect(asFragment()).toMatchSnapshot();
39
44
  });
40
- var bgAppearance = ['default', 'onHover', 'none'];
41
- test.each(bgAppearance)('Should render bgAppearance of buttons - %s', function (bg) {
42
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
43
- bgAppearance: bg
45
+ var appearanceCombos = [{
46
+ bg: true,
47
+ text: 'black'
48
+ }, {
49
+ border: true
50
+ }, {
51
+ text: true
52
+ }, {
53
+ bg: false,
54
+ border: true
55
+ }, {}];
56
+ test.each(appearanceCombos.map(function (combo) {
57
+ return [combo];
58
+ }))('Should render appearance of buttons - %o', function (appearance) {
59
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
60
+ palette: _constants.PALETTE.BRAND,
61
+ appearance: appearance
44
62
  })),
45
63
  asFragment = _render4.asFragment;
46
64
 
47
65
  expect(asFragment()).toMatchSnapshot();
48
66
  });
49
- var borderAppearance = ['default', 'onHover', 'none'];
50
- test.each(borderAppearance)('Should render borderAppearance of buttons - %s', function (border) {
51
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
52
- borderAppearance: border
67
+ test.each(appearanceCombos.map(function (combo) {
68
+ return [combo];
69
+ }))('Should render hoverAppearance of buttons - %o', function (appearance) {
70
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
71
+ palette: _constants.PALETTE.BRAND,
72
+ hoverAppearance: appearance
53
73
  })),
54
74
  asFragment = _render5.asFragment;
55
75
 
56
76
  expect(asFragment()).toMatchSnapshot();
57
77
  });
58
- var variant = ['text', 'icon', 'iconWithText'];
59
- test.each(variant)('Should render variant of buttons - %s', function (variant) {
60
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
61
- variant: variant
78
+ test.each(appearanceCombos.map(function (combo) {
79
+ return [combo];
80
+ }))('Should render selectedAppearance of buttons - %o', function (appearance) {
81
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
82
+ palette: _constants.PALETTE.BRAND,
83
+ isSelected: true,
84
+ selectedAppearance: appearance
62
85
  })),
63
86
  asFragment = _render6.asFragment;
64
87
 
65
88
  expect(asFragment()).toMatchSnapshot();
66
89
  });
67
- var size = ['small', 'medium', 'large', 'full'];
68
- test.each(size)('Should render Sizes of buttons - %s', function (size) {
69
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
70
- size: size
90
+ test.each(Object.values(_constants.VARIANT))('Should render variant of buttons - %s', function (variant) {
91
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
92
+ variant: variant
71
93
  })),
72
94
  asFragment = _render7.asFragment;
73
95
 
74
96
  expect(asFragment()).toMatchSnapshot();
75
97
  });
76
- var status = ['default', 'loading', 'success'];
77
- test.each(status)('Should render Status of buttons - %s', function (status) {
78
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
79
- status: status
98
+ test.each(Object.values(_constants.SIZE))('Should render Sizes of buttons - %s', function (size) {
99
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
100
+ size: size
80
101
  })),
81
102
  asFragment = _render8.asFragment;
82
103
 
83
104
  expect(asFragment()).toMatchSnapshot();
84
105
  });
85
- var loaderPlacement = ['start', 'end', 'overlay'];
86
- test.each(loaderPlacement)('Should render loaderPlacement of buttons - %s', function (loaderPlacement) {
87
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
106
+ test.each(Object.values(_constants.STATUS))('Should render Status of buttons - %s', function (status) {
107
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
108
+ status: status
109
+ })),
110
+ asFragment = _render9.asFragment;
111
+
112
+ expect(asFragment()).toMatchSnapshot();
113
+ });
114
+ test.each(Object.values(_constants.LOADER_PLACEMENT))('Should render loaderPlacement of buttons - %s', function (loaderPlacement) {
115
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
88
116
  status: "loading",
89
117
  loaderPlacement: loaderPlacement
90
118
  })),
91
- asFragment = _render9.asFragment;
119
+ asFragment = _render10.asFragment;
92
120
 
93
121
  expect(asFragment()).toMatchSnapshot();
94
122
  });
95
- test('Should render with iconName and iconSize ', function () {
96
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
123
+ test('Should render with iconName and iconSize', function () {
124
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
97
125
  variant: "icon",
98
126
  iconName: "ZD-plus",
99
127
  iconSize: 20
100
128
  })),
101
- asFragment = _render10.asFragment;
129
+ asFragment = _render11.asFragment;
102
130
 
103
131
  expect(asFragment()).toMatchSnapshot();
104
132
  });
105
- test('Should render with iconPlacement ', function () {
106
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
133
+ test('Should render with iconPlacement', function () {
134
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
107
135
  variant: "iconWithText",
108
136
  iconName: "ZD-plus",
109
- iconPlacement: "right"
137
+ iconPlacement: "end"
110
138
  }, "Button")),
111
- asFragment = _render11.asFragment;
139
+ asFragment = _render12.asFragment;
112
140
 
113
141
  expect(asFragment()).toMatchSnapshot();
114
142
  });
115
143
  test('Should render with renderIcon', function () {
116
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
144
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
117
145
  variant: "icon",
118
146
  renderIcon: function renderIcon() {
119
147
  return /*#__PURE__*/_react["default"].createElement("span", null, "CustomIcon");
120
148
  }
121
149
  })),
122
- asFragment = _render12.asFragment;
150
+ asFragment = _render13.asFragment;
123
151
 
124
152
  expect(asFragment()).toMatchSnapshot();
125
153
  });
126
154
  test('Should render with renderBefore and renderAfter', function () {
127
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
155
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
128
156
  renderBefore: function renderBefore() {
129
157
  return /*#__PURE__*/_react["default"].createElement("span", null, "Before");
130
158
  },
@@ -132,115 +160,95 @@ describe('Button - Component', function () {
132
160
  return /*#__PURE__*/_react["default"].createElement("span", null, "After");
133
161
  }
134
162
  }, "Button")),
135
- asFragment = _render13.asFragment;
163
+ asFragment = _render14.asFragment;
136
164
 
137
165
  expect(asFragment()).toMatchSnapshot();
138
166
  });
139
167
  test('Should render with renderLoader', function () {
140
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
168
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
141
169
  status: "loading",
142
170
  renderLoader: function renderLoader() {
143
171
  return /*#__PURE__*/_react["default"].createElement("span", null, "Loading...");
144
172
  }
145
173
  })),
146
- asFragment = _render14.asFragment;
174
+ asFragment = _render15.asFragment;
147
175
 
148
176
  expect(asFragment()).toMatchSnapshot();
149
177
  });
150
178
  test('Should render with renderSuccess', function () {
151
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
179
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
152
180
  status: "success",
153
181
  renderSuccess: function renderSuccess() {
154
182
  return /*#__PURE__*/_react["default"].createElement("span", null, "Success!");
155
183
  }
156
184
  })),
157
- asFragment = _render15.asFragment;
185
+ asFragment = _render16.asFragment;
158
186
 
159
187
  expect(asFragment()).toMatchSnapshot();
160
188
  });
161
- var type = ['button', 'submit', 'reset'];
162
- test.each(type)('Should render type of buttons - %s', function (type) {
163
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
189
+ test.each(Object.values(_constants.BUTTON_TYPE))('Should render type of buttons - %s', function (type) {
190
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
164
191
  type: type
165
192
  })),
166
- asFragment = _render16.asFragment;
193
+ asFragment = _render17.asFragment;
167
194
 
168
195
  expect(asFragment()).toMatchSnapshot();
169
196
  });
170
197
  test('Should trigger onClick function', function () {
171
198
  var onClick = jest.fn();
172
199
 
173
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
200
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
174
201
  onClick: onClick
175
202
  })),
176
- getByRole = _render17.getByRole;
203
+ getByRole = _render18.getByRole;
177
204
 
178
205
  _userEvent["default"].click(getByRole('button'));
179
206
 
180
207
  expect(onClick).toHaveBeenCalled();
181
208
  });
182
209
  test('Should be disabled when isDisabled prop is true', function () {
183
- var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
210
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
184
211
  isDisabled: true
185
- })),
186
- asFragment = _render18.asFragment;
187
-
188
- expect(asFragment()).toMatchSnapshot();
189
- });
190
- test('Should render with readOnly style when isReadOnly prop is true', function () {
191
- var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
192
- isReadOnly: true
193
212
  })),
194
213
  asFragment = _render19.asFragment;
195
214
 
196
215
  expect(asFragment()).toMatchSnapshot();
197
216
  });
198
217
  test('Should render with selected style when isSelected prop is true', function () {
199
- var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
218
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
200
219
  isSelected: true
201
220
  })),
202
221
  asFragment = _render20.asFragment;
203
222
 
204
223
  expect(asFragment()).toMatchSnapshot();
205
224
  });
206
- var shape = ['pill', 'rectangle', 'roundedRectangle'];
207
- test.each(shape)('Should render shape of buttons - %s', function (shape) {
208
- var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
225
+ test.each(Object.values(_constants.SHAPE))('Should render shape of buttons - %s', function (shape) {
226
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
209
227
  shape: shape
210
228
  })),
211
229
  asFragment = _render21.asFragment;
212
230
 
213
231
  expect(asFragment()).toMatchSnapshot();
214
232
  });
215
- var paletteShade = ['default', 'lighter'];
216
- test.each(paletteShade)('Should render paletteShade of buttons - %s', function (shade) {
217
- var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
218
- paletteShade: shade
219
- })),
220
- asFragment = _render22.asFragment;
221
-
222
- expect(asFragment()).toMatchSnapshot();
223
- });
224
- var disabledAppearance = ['none', 'dull', 'strike'];
225
- test.each(disabledAppearance)('Should render disabledAppearance of buttons - %s', function (style) {
226
- var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
233
+ test.each(Object.values(_constants.DISABLED_APPEARANCE))('Should render disabledAppearance of buttons - %s', function (style) {
234
+ var _render22 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
227
235
  isDisabled: true,
228
236
  disabledAppearance: style
229
237
  })),
230
- asFragment = _render23.asFragment;
238
+ asFragment = _render22.asFragment;
231
239
 
232
240
  expect(asFragment()).toMatchSnapshot();
233
241
  });
234
242
  test('Should render with title attribute', function () {
235
- var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
243
+ var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
236
244
  title: "Button test title"
237
245
  })),
238
- asFragment = _render24.asFragment;
246
+ asFragment = _render23.asFragment;
239
247
 
240
248
  expect(asFragment()).toMatchSnapshot();
241
249
  });
242
250
  test('Should apply customClass to wrapper, text and icon', function () {
243
- var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
251
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
244
252
  variant: "iconWithText",
245
253
  iconName: "ZD-plus",
246
254
  customClass: {
@@ -249,18 +257,15 @@ describe('Button - Component', function () {
249
257
  icon: 'customIconClass'
250
258
  }
251
259
  }, "Button")),
252
- asFragment = _render25.asFragment;
260
+ asFragment = _render24.asFragment;
253
261
 
254
262
  expect(asFragment()).toMatchSnapshot();
255
263
  });
256
264
  test('Should apply customProps to wrapper, text and icon', function () {
257
- var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
265
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
258
266
  variant: "iconWithText",
259
267
  iconName: "check",
260
268
  customProps: {
261
- wrapper: {
262
- 'data-wrapper': 'wrapperProps'
263
- },
264
269
  text: {
265
270
  'data-text': 'textProps'
266
271
  },
@@ -268,13 +273,28 @@ describe('Button - Component', function () {
268
273
  'data-icon': 'iconProps'
269
274
  }
270
275
  }
276
+ }, "Button")),
277
+ asFragment = _render25.asFragment;
278
+
279
+ expect(asFragment()).toMatchSnapshot();
280
+ });
281
+ test('Should apply customAttributes to button elements', function () {
282
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
283
+ customAttributes: {
284
+ button: {
285
+ 'data-wrapper': 'wrapperAttr'
286
+ },
287
+ text: {
288
+ 'data-text': 'textAttr'
289
+ }
290
+ }
271
291
  }, "Button")),
272
292
  asFragment = _render26.asFragment;
273
293
 
274
294
  expect(asFragment()).toMatchSnapshot();
275
295
  });
276
296
  test('Should render with customId and testId', function () {
277
- var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
297
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
278
298
  customId: "customIdValue",
279
299
  testId: "testIdValue"
280
300
  })),
@@ -283,7 +303,7 @@ describe('Button - Component', function () {
283
303
  expect(asFragment()).toMatchSnapshot();
284
304
  });
285
305
  test('Should apply a11yAttributes to the button', function () {
286
- var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
306
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
287
307
  a11yAttributes: {
288
308
  'aria-label': 'Smart Button',
289
309
  'aria-describedby': 'button-description'
@@ -293,4 +313,91 @@ describe('Button - Component', function () {
293
313
 
294
314
  expect(asFragment()).toMatchSnapshot();
295
315
  });
316
+ test('Should render renderBefore slot content in DOM', function () {
317
+ var _render29 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
318
+ renderBefore: function renderBefore() {
319
+ return /*#__PURE__*/_react["default"].createElement("span", null, "BeforeSlot");
320
+ }
321
+ }, "Button")),
322
+ getByText = _render29.getByText;
323
+
324
+ expect(getByText('BeforeSlot')).toBeInTheDocument();
325
+ });
326
+ test('Should render renderAfter slot content in DOM', function () {
327
+ var _render30 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
328
+ renderAfter: function renderAfter() {
329
+ return /*#__PURE__*/_react["default"].createElement("span", null, "AfterSlot");
330
+ }
331
+ }, "Button")),
332
+ getByText = _render30.getByText;
333
+
334
+ expect(getByText('AfterSlot')).toBeInTheDocument();
335
+ });
336
+ test('Should render renderIcon slot content in DOM', function () {
337
+ var _render31 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
338
+ variant: "icon",
339
+ renderIcon: function renderIcon() {
340
+ return /*#__PURE__*/_react["default"].createElement("span", null, "IconSlot");
341
+ }
342
+ })),
343
+ getByText = _render31.getByText;
344
+
345
+ expect(getByText('IconSlot')).toBeInTheDocument();
346
+ });
347
+ test('Should not call onClick when button is disabled', function () {
348
+ var onClick = jest.fn();
349
+
350
+ var _render32 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
351
+ isDisabled: true,
352
+ onClick: onClick
353
+ })),
354
+ getByRole = _render32.getByRole;
355
+
356
+ _userEvent["default"].click(getByRole('button'));
357
+
358
+ expect(onClick).not.toHaveBeenCalled();
359
+ });
360
+ test('Should render loader overlay when status is loading and loaderPlacement is overlay', function () {
361
+ var _render33 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
362
+ status: "loading",
363
+ loaderPlacement: "overlay"
364
+ })),
365
+ asFragment = _render33.asFragment;
366
+
367
+ expect(asFragment()).toMatchSnapshot();
368
+ });
369
+ test('Should render success overlay when status is success and loaderPlacement is overlay', function () {
370
+ var _render34 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
371
+ status: "success",
372
+ loaderPlacement: "overlay"
373
+ })),
374
+ asFragment = _render34.asFragment;
375
+
376
+ expect(asFragment()).toMatchSnapshot();
377
+ });
378
+ test('Should render with dataSelectorId', function () {
379
+ var _render35 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
380
+ dataSelectorId: "selectorId"
381
+ })),
382
+ asFragment = _render35.asFragment;
383
+
384
+ expect(asFragment()).toMatchSnapshot();
385
+ });
386
+ describe('Presets', function () {
387
+ var presets = [['BRAND_GHOST', _presets.BRAND_GHOST], ['BRAND_TEXT_ONLY', _presets.BRAND_TEXT_ONLY], ['BRAND_TINTED_OUTLINE', _presets.BRAND_TINTED_OUTLINE], ['SUCCESS_GHOST', _presets.SUCCESS_GHOST], ['SUCCESS_TEXT_ONLY', _presets.SUCCESS_TEXT_ONLY], ['SUCCESS_TINTED_OUTLINE', _presets.SUCCESS_TINTED_OUTLINE], ['SECONDARY_GHOST_BRAND_TINTED_ONSELECT', _presets.SECONDARY_GHOST_BRAND_TINTED_ONSELECT], ['SECONDARY_GHOST_CANCEL', _presets.SECONDARY_GHOST_CANCEL], ['BLACK_TEXT_BRAND_ONHOVER', _presets.BLACK_TEXT_BRAND_ONHOVER], ['BRAND_BG_ONSELECT', _presets.BRAND_BG_ONSELECT], ['BRAND_TEXT_TINTED_HOVER', _presets.BRAND_TEXT_TINTED_HOVER], ['BRAND_TEXT_TINTED_DANGER_HOVER', _presets.BRAND_TEXT_TINTED_DANGER_HOVER]];
388
+ test.each(presets)('Should render preset %s', function (_name, preset) {
389
+ var _render36 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], preset, "Button")),
390
+ asFragment = _render36.asFragment;
391
+
392
+ expect(asFragment()).toMatchSnapshot();
393
+ });
394
+ test.each(presets)('Should render preset %s in selected state', function (_name, preset) {
395
+ var _render37 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({}, preset, {
396
+ isSelected: true
397
+ }), "Button")),
398
+ asFragment = _render37.asFragment;
399
+
400
+ expect(asFragment()).toMatchSnapshot();
401
+ });
402
+ });
296
403
  });