@zohodesk/components 1.6.7 → 1.6.11-exp-6

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 (123) hide show
  1. package/README.md +15 -0
  2. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +68 -0
  3. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +68 -0
  4. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +68 -0
  5. package/es/Buttongroup/Buttongroup.module.css +10 -30
  6. package/es/CheckBox/CheckBox.module.css +3 -10
  7. package/es/DateTime/DateTime.module.css +22 -35
  8. package/es/DateTime/YearView.module.css +8 -10
  9. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +3 -2
  10. package/es/DropDown/DropDown.module.css +2 -1
  11. package/es/DropDown/DropDownItem.module.css +1 -8
  12. package/es/DropDown/DropDownSeparator.module.css +2 -1
  13. package/es/ListItem/ListItem.module.css +4 -15
  14. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +3 -2
  15. package/es/MultiSelect/MultiSelect.module.css +21 -34
  16. package/es/MultiSelect/SelectedOptions.module.css +6 -10
  17. package/es/Radio/Radio.module.css +3 -3
  18. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  19. package/es/Ribbon/Ribbon.module.css +9 -12
  20. package/es/Select/Select.module.css +22 -17
  21. package/es/Switch/Switch.module.css +1 -8
  22. package/es/Tab/Tab.module.css +8 -15
  23. package/es/Tab/Tabs.module.css +12 -22
  24. package/es/Tag/Tag.module.css +4 -3
  25. package/es/Tooltip/Tooltip.module.css +3 -2
  26. package/es/Typography/Typography.js +18 -8
  27. package/es/Typography/__tests__/Typography.spec.js +198 -6
  28. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1235 -2
  29. package/es/Typography/css/Typography.module.css +4 -0
  30. package/es/Typography/css/cssJSLogic.js +53 -21
  31. package/es/Typography/props/defaultProps.js +4 -3
  32. package/es/Typography/props/propTypes.js +68 -26
  33. package/es/Typography/utils/textHighlighter.js +4 -2
  34. package/es/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  35. package/es/v1/Button/Button.js +201 -0
  36. package/es/v1/Button/README.md +110 -0
  37. package/es/v1/Button/__tests__/Button.spec.js +272 -0
  38. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  39. package/es/v1/Button/_shared/Loader/Loader.js +33 -0
  40. package/es/v1/Button/_shared/Loader/Loader.module.css +42 -0
  41. package/es/v1/Button/_shared/Loader/__tests__/Loader.spec.js +21 -0
  42. package/es/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  43. package/es/v1/Button/_shared/Loader/props/defaultProps.js +4 -0
  44. package/es/v1/Button/_shared/Loader/props/propTypes.js +7 -0
  45. package/es/v1/Button/_shared/SuccessTick/SuccessTick.js +25 -0
  46. package/es/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  47. package/es/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +21 -0
  48. package/es/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  49. package/es/v1/Button/_shared/SuccessTick/props/defaultProps.js +4 -0
  50. package/es/v1/Button/_shared/SuccessTick/props/propTypes.js +7 -0
  51. package/es/v1/Button/constants/index.js +82 -0
  52. package/es/v1/Button/css/Button_v1.module.css +119 -0
  53. package/es/v1/Button/css/cssJSLogic.js +96 -0
  54. package/es/v1/Button/index.js +2 -0
  55. package/es/v1/Button/props/defaultProps.js +26 -0
  56. package/es/v1/Button/props/propTypes.js +43 -0
  57. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  58. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  59. package/es/v1/helpers/colorHelpers/colorHelper.js +176 -0
  60. package/es/v1/helpers/colorHelpers/constants/index.js +79 -0
  61. package/es/v1/helpers/colorHelpers/index.js +4 -0
  62. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  63. package/es/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  64. package/lib/Buttongroup/Buttongroup.module.css +10 -30
  65. package/lib/CheckBox/CheckBox.module.css +3 -10
  66. package/lib/DateTime/DateTime.module.css +22 -35
  67. package/lib/DateTime/YearView.module.css +8 -10
  68. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +3 -2
  69. package/lib/DropDown/DropDown.module.css +2 -1
  70. package/lib/DropDown/DropDownItem.module.css +1 -8
  71. package/lib/DropDown/DropDownSeparator.module.css +2 -1
  72. package/lib/ListItem/ListItem.module.css +4 -15
  73. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +3 -2
  74. package/lib/MultiSelect/MultiSelect.module.css +21 -34
  75. package/lib/MultiSelect/SelectedOptions.module.css +6 -10
  76. package/lib/Radio/Radio.module.css +3 -3
  77. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  78. package/lib/Ribbon/Ribbon.module.css +9 -12
  79. package/lib/Select/Select.module.css +22 -17
  80. package/lib/Switch/Switch.module.css +1 -8
  81. package/lib/Tab/Tab.module.css +8 -15
  82. package/lib/Tab/Tabs.module.css +12 -22
  83. package/lib/Tag/Tag.module.css +4 -3
  84. package/lib/Tooltip/Tooltip.module.css +3 -2
  85. package/lib/Typography/Typography.js +15 -5
  86. package/lib/Typography/__tests__/Typography.spec.js +284 -92
  87. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +1235 -2
  88. package/lib/Typography/css/Typography.module.css +4 -0
  89. package/lib/Typography/css/cssJSLogic.js +38 -6
  90. package/lib/Typography/props/defaultProps.js +6 -3
  91. package/lib/Typography/props/propTypes.js +67 -23
  92. package/lib/Typography/utils/textHighlighter.js +6 -3
  93. package/lib/shared/ArrowIcon/ArrowIcon.module.css +3 -2
  94. package/lib/v1/Button/Button.js +239 -0
  95. package/lib/v1/Button/README.md +110 -0
  96. package/lib/v1/Button/__tests__/Button.spec.js +293 -0
  97. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1160 -0
  98. package/lib/v1/Button/_shared/Loader/Loader.js +43 -0
  99. package/lib/v1/Button/_shared/Loader/Loader.module.css +42 -0
  100. package/lib/v1/Button/_shared/Loader/__tests__/Loader.spec.js +28 -0
  101. package/lib/v1/Button/_shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +49 -0
  102. package/lib/v1/Button/_shared/Loader/props/defaultProps.js +11 -0
  103. package/lib/v1/Button/_shared/Loader/props/propTypes.js +18 -0
  104. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.js +35 -0
  105. package/lib/v1/Button/_shared/SuccessTick/SuccessTick.module.css +21 -0
  106. package/lib/v1/Button/_shared/SuccessTick/__tests__/SuccessTick.spec.js +28 -0
  107. package/lib/v1/Button/_shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +31 -0
  108. package/lib/v1/Button/_shared/SuccessTick/props/defaultProps.js +11 -0
  109. package/lib/v1/Button/_shared/SuccessTick/props/propTypes.js +18 -0
  110. package/lib/v1/Button/constants/index.js +114 -0
  111. package/lib/v1/Button/css/Button_v1.module.css +119 -0
  112. package/lib/v1/Button/css/cssJSLogic.js +88 -0
  113. package/lib/v1/Button/index.js +21 -0
  114. package/lib/v1/Button/props/defaultProps.js +36 -0
  115. package/lib/v1/Button/props/propTypes.js +56 -0
  116. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +629 -0
  117. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +489 -0
  118. package/lib/v1/helpers/colorHelpers/colorHelper.js +190 -0
  119. package/lib/v1/helpers/colorHelpers/constants/index.js +87 -0
  120. package/lib/v1/helpers/colorHelpers/index.js +57 -0
  121. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +415 -0
  122. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +368 -0
  123. package/package.json +9 -9
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _react2 = require("@testing-library/react");
6
+
7
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
8
+
9
+ var _Button = _interopRequireDefault(require("../Button"));
10
+
11
+ require("@testing-library/jest-dom");
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+
15
+ afterEach(function () {
16
+ (0, _react2.cleanup)();
17
+ });
18
+ describe('Button - Component', function () {
19
+ test('Should render with the basic set of default props', function () {
20
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], null)),
21
+ asFragment = _render.asFragment;
22
+
23
+ expect(asFragment()).toMatchSnapshot();
24
+ });
25
+ test('Should render with children', function () {
26
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], null, "Click Me")),
27
+ asFragment = _render2.asFragment;
28
+
29
+ expect(asFragment()).toMatchSnapshot();
30
+ });
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"], {
34
+ palette: palette
35
+ })),
36
+ asFragment = _render3.asFragment;
37
+
38
+ expect(asFragment()).toMatchSnapshot();
39
+ });
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
44
+ })),
45
+ asFragment = _render4.asFragment;
46
+
47
+ expect(asFragment()).toMatchSnapshot();
48
+ });
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
53
+ })),
54
+ asFragment = _render5.asFragment;
55
+
56
+ expect(asFragment()).toMatchSnapshot();
57
+ });
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
62
+ })),
63
+ asFragment = _render6.asFragment;
64
+
65
+ expect(asFragment()).toMatchSnapshot();
66
+ });
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
71
+ })),
72
+ asFragment = _render7.asFragment;
73
+
74
+ expect(asFragment()).toMatchSnapshot();
75
+ });
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
80
+ })),
81
+ asFragment = _render8.asFragment;
82
+
83
+ expect(asFragment()).toMatchSnapshot();
84
+ });
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"], {
88
+ status: "loading",
89
+ loaderPlacement: loaderPlacement
90
+ })),
91
+ asFragment = _render9.asFragment;
92
+
93
+ expect(asFragment()).toMatchSnapshot();
94
+ });
95
+ test('Should render with iconName and iconSize ', function () {
96
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
97
+ variant: "icon",
98
+ iconName: "ZD-plus",
99
+ iconSize: 20
100
+ })),
101
+ asFragment = _render10.asFragment;
102
+
103
+ expect(asFragment()).toMatchSnapshot();
104
+ });
105
+ test('Should render with iconPlacement ', function () {
106
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
107
+ variant: "iconWithText",
108
+ iconName: "ZD-plus",
109
+ iconPlacement: "right"
110
+ }, "Button")),
111
+ asFragment = _render11.asFragment;
112
+
113
+ expect(asFragment()).toMatchSnapshot();
114
+ });
115
+ test('Should render with renderIcon', function () {
116
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
117
+ variant: "icon",
118
+ renderIcon: function renderIcon() {
119
+ return /*#__PURE__*/_react["default"].createElement("span", null, "CustomIcon");
120
+ }
121
+ })),
122
+ asFragment = _render12.asFragment;
123
+
124
+ expect(asFragment()).toMatchSnapshot();
125
+ });
126
+ test('Should render with renderBefore and renderAfter', function () {
127
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
128
+ renderBefore: function renderBefore() {
129
+ return /*#__PURE__*/_react["default"].createElement("span", null, "Before");
130
+ },
131
+ renderAfter: function renderAfter() {
132
+ return /*#__PURE__*/_react["default"].createElement("span", null, "After");
133
+ }
134
+ }, "Button")),
135
+ asFragment = _render13.asFragment;
136
+
137
+ expect(asFragment()).toMatchSnapshot();
138
+ });
139
+ test('Should render with renderLoader', function () {
140
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
141
+ status: "loading",
142
+ renderLoader: function renderLoader() {
143
+ return /*#__PURE__*/_react["default"].createElement("span", null, "Loading...");
144
+ }
145
+ })),
146
+ asFragment = _render14.asFragment;
147
+
148
+ expect(asFragment()).toMatchSnapshot();
149
+ });
150
+ test('Should render with renderSuccess', function () {
151
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
152
+ status: "success",
153
+ renderSuccess: function renderSuccess() {
154
+ return /*#__PURE__*/_react["default"].createElement("span", null, "Success!");
155
+ }
156
+ })),
157
+ asFragment = _render15.asFragment;
158
+
159
+ expect(asFragment()).toMatchSnapshot();
160
+ });
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"], {
164
+ type: type
165
+ })),
166
+ asFragment = _render16.asFragment;
167
+
168
+ expect(asFragment()).toMatchSnapshot();
169
+ });
170
+ test('Should trigger onClick function', function () {
171
+ var onClick = jest.fn();
172
+
173
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
174
+ onClick: onClick
175
+ })),
176
+ getByRole = _render17.getByRole;
177
+
178
+ _userEvent["default"].click(getByRole('button'));
179
+
180
+ expect(onClick).toHaveBeenCalled();
181
+ });
182
+ test('Should be disabled when isDisabled prop is true', function () {
183
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
184
+ 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
+ })),
194
+ asFragment = _render19.asFragment;
195
+
196
+ expect(asFragment()).toMatchSnapshot();
197
+ });
198
+ test('Should render with selected style when isSelected prop is true', function () {
199
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
200
+ isSelected: true
201
+ })),
202
+ asFragment = _render20.asFragment;
203
+
204
+ expect(asFragment()).toMatchSnapshot();
205
+ });
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"], {
209
+ shape: shape
210
+ })),
211
+ asFragment = _render21.asFragment;
212
+
213
+ expect(asFragment()).toMatchSnapshot();
214
+ });
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"], {
227
+ isDisabled: true,
228
+ disabledAppearance: style
229
+ })),
230
+ asFragment = _render23.asFragment;
231
+
232
+ expect(asFragment()).toMatchSnapshot();
233
+ });
234
+ test('Should render with title attribute', function () {
235
+ var _render24 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
236
+ title: "Button test title"
237
+ })),
238
+ asFragment = _render24.asFragment;
239
+
240
+ expect(asFragment()).toMatchSnapshot();
241
+ });
242
+ test('Should apply customClass to wrapper and text', function () {
243
+ var _render25 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
244
+ customClass: {
245
+ wrapper: 'customButtonClass',
246
+ text: 'customTextClass'
247
+ }
248
+ }, "Button")),
249
+ asFragment = _render25.asFragment;
250
+
251
+ expect(asFragment()).toMatchSnapshot();
252
+ });
253
+ test('Should apply customProps to wrapper, text and icon', function () {
254
+ var _render26 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
255
+ variant: "iconWithText",
256
+ iconName: "check",
257
+ customProps: {
258
+ wrapper: {
259
+ 'data-wrapper': 'wrapperProps'
260
+ },
261
+ text: {
262
+ 'data-text': 'textProps'
263
+ },
264
+ icon: {
265
+ 'data-icon': 'iconProps'
266
+ }
267
+ }
268
+ }, "Button")),
269
+ asFragment = _render26.asFragment;
270
+
271
+ expect(asFragment()).toMatchSnapshot();
272
+ });
273
+ test('Should render with customId and testId', function () {
274
+ var _render27 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
275
+ customId: "customIdValue",
276
+ testId: "testIdValue"
277
+ })),
278
+ asFragment = _render27.asFragment;
279
+
280
+ expect(asFragment()).toMatchSnapshot();
281
+ });
282
+ test('Should apply a11yAttributes to the button', function () {
283
+ var _render28 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
284
+ a11yAttributes: {
285
+ 'aria-label': 'Smart Button',
286
+ 'aria-describedby': 'button-description'
287
+ }
288
+ }, "Button")),
289
+ asFragment = _render28.asFragment;
290
+
291
+ expect(asFragment()).toMatchSnapshot();
292
+ });
293
+ });