@zohodesk/components 1.6.24 → 1.6.26

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 (261) hide show
  1. package/CHANGELOG.md +2042 -0
  2. package/README.md +16 -2027
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +321 -330
  4. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +64 -79
  5. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
  6. package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +13 -13
  7. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
  8. package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +13 -13
  9. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
  10. package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +13 -13
  11. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
  12. package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +13 -13
  13. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
  14. package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +13 -13
  15. package/assets/Appearance/light/mode/Component_LightMode.module.css +321 -330
  16. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +64 -79
  17. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
  18. package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +13 -13
  19. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
  20. package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +13 -13
  21. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
  22. package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +13 -13
  23. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
  24. package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +13 -13
  25. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
  26. package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +13 -13
  27. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +321 -330
  28. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +64 -79
  29. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
  30. package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  31. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
  32. package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  33. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
  34. package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  35. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
  36. package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  37. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
  38. package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +13 -13
  39. package/es/Accordion/Accordion.js +1 -6
  40. package/es/Accordion/AccordionItem.js +1 -6
  41. package/es/Animation/Animation.js +1 -8
  42. package/es/AppContainer/AppContainer.js +1 -6
  43. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  44. package/es/Avatar/Avatar.js +1 -6
  45. package/es/AvatarTeam/AvatarTeam.js +1 -7
  46. package/es/Button/Button.js +1 -6
  47. package/es/Buttongroup/Buttongroup.js +1 -14
  48. package/es/Card/Card.js +1 -9
  49. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  50. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  51. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  52. package/es/CheckBox/CheckBox.js +1 -6
  53. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  54. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  55. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  56. package/es/DateTime/DateWidget.js +0 -10
  57. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  58. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  59. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  60. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  61. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  62. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  63. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  64. package/es/DropDown/DropDownHeading.js +1 -6
  65. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  66. package/es/Heading/Heading.js +1 -6
  67. package/es/Label/Label.js +1 -6
  68. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  69. package/es/ListItem/ListContainer.js +1 -6
  70. package/es/ListItem/ListItem.js +1 -6
  71. package/es/ListItem/ListItemWithAvatar.js +1 -6
  72. package/es/ListItem/ListItemWithCheckBox.js +1 -6
  73. package/es/ListItem/ListItemWithIcon.js +1 -6
  74. package/es/ListItem/ListItemWithRadio.js +1 -6
  75. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  76. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  77. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  78. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  79. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  80. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  81. package/es/Modal/Modal.js +1 -8
  82. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  83. package/es/MultiSelect/AdvancedMultiSelect.js +1 -9
  84. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  85. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  86. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  87. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  88. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  89. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  90. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  91. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  92. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  93. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  94. package/es/RippleEffect/RippleEffect.js +1 -6
  95. package/es/Select/GroupSelect.js +1 -8
  96. package/es/Select/Select.js +1 -10
  97. package/es/Select/SelectWithAvatar.js +1 -9
  98. package/es/Select/SelectWithIcon.js +1 -7
  99. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  100. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  101. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  102. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  103. package/es/Switch/Switch.js +1 -6
  104. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  105. package/es/Tab/Tab.js +1 -6
  106. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  107. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  108. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  109. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  110. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  111. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  112. package/es/Tag/Tag.js +1 -6
  113. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  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 +167 -167
  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 +20 -20
  123. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  124. package/es/v1/Button/Button.js +198 -114
  125. package/es/v1/Button/README.md +110 -44
  126. package/es/v1/Button/__tests__/Button.spec.js +139 -48
  127. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  128. package/es/v1/Button/constants/index.js +29 -23
  129. package/es/v1/Button/constants/presets.js +160 -0
  130. package/es/v1/Button/css/Button_v1.module.css +33 -16
  131. package/es/v1/Button/css/cssJSLogic.js +56 -29
  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/__tests__/colorHelper.spec.js +357 -0
  137. package/es/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  138. package/es/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  139. package/es/v1/helpers/colorHelpers/colorHelper.js +120 -139
  140. package/es/v1/helpers/colorHelpers/constants/index.js +45 -4
  141. package/es/v1/helpers/colorHelpers/index.js +0 -1
  142. package/es/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  143. package/es/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  144. package/es/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +5 -5
  145. package/es/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  146. package/{lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → es/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  147. package/lib/Accordion/Accordion.js +1 -6
  148. package/lib/Accordion/AccordionItem.js +1 -6
  149. package/lib/Animation/Animation.js +1 -8
  150. package/lib/AppContainer/AppContainer.js +1 -6
  151. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +16 -16
  152. package/lib/Avatar/Avatar.js +1 -6
  153. package/lib/AvatarTeam/AvatarTeam.js +1 -7
  154. package/lib/Button/Button.js +1 -7
  155. package/lib/Buttongroup/Buttongroup.js +1 -14
  156. package/lib/Card/Card.js +1 -8
  157. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +17 -17
  158. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +12 -12
  159. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +4 -4
  160. package/lib/CheckBox/CheckBox.js +1 -6
  161. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +88 -88
  162. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +48 -48
  163. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +30 -30
  164. package/lib/DateTime/DateWidget.js +0 -10
  165. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +49 -49
  166. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +93 -93
  167. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  168. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +8 -8
  169. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +7 -7
  170. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  171. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +28 -28
  172. package/lib/DropDown/DropDownHeading.js +1 -6
  173. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +2 -2
  174. package/lib/Heading/Heading.js +1 -6
  175. package/lib/Label/Label.js +1 -6
  176. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +4 -4
  177. package/lib/ListItem/ListContainer.js +1 -7
  178. package/lib/ListItem/ListItem.js +1 -6
  179. package/lib/ListItem/ListItemWithAvatar.js +1 -6
  180. package/lib/ListItem/ListItemWithCheckBox.js +1 -6
  181. package/lib/ListItem/ListItemWithIcon.js +1 -6
  182. package/lib/ListItem/ListItemWithRadio.js +1 -6
  183. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +2 -2
  184. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +16 -16
  185. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +41 -41
  186. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +62 -62
  187. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +41 -41
  188. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +62 -62
  189. package/lib/Modal/Modal.js +1 -8
  190. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1 -7
  191. package/lib/MultiSelect/AdvancedMultiSelect.js +1 -9
  192. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +3 -3
  193. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +6 -6
  194. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +50 -50
  195. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +35 -35
  196. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +7 -7
  197. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +8 -8
  198. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +4 -4
  199. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +47 -47
  200. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +94 -94
  201. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  202. package/lib/RippleEffect/RippleEffect.js +1 -6
  203. package/lib/Select/GroupSelect.js +1 -9
  204. package/lib/Select/Select.js +1 -11
  205. package/lib/Select/SelectWithAvatar.js +1 -9
  206. package/lib/Select/SelectWithIcon.js +1 -7
  207. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +7 -7
  208. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +831 -831
  209. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +2 -2
  210. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +10 -10
  211. package/lib/Switch/Switch.js +1 -6
  212. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +44 -44
  213. package/lib/Tab/Tab.js +1 -6
  214. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +2 -2
  215. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  216. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  217. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +40 -40
  218. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  219. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +4 -4
  220. package/lib/Tag/Tag.js +1 -6
  221. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +94 -94
  222. package/lib/TextBox/TextBox.js +1 -8
  223. package/lib/TextBoxIcon/TextBoxIcon.js +1 -8
  224. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +167 -167
  225. package/lib/Textarea/Textarea.js +1 -8
  226. package/lib/Tooltip/Tooltip.js +1 -8
  227. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -5
  228. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -5
  229. package/lib/semantic/Button/Button.js +1 -6
  230. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +20 -20
  231. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +19 -19
  232. package/lib/v1/Button/Button.js +208 -124
  233. package/lib/v1/Button/README.md +110 -44
  234. package/lib/v1/Button/__tests__/Button.spec.js +195 -88
  235. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1236 -340
  236. package/lib/v1/Button/constants/index.js +34 -31
  237. package/lib/v1/Button/constants/presets.js +179 -0
  238. package/lib/v1/Button/css/Button_v1.module.css +33 -16
  239. package/lib/v1/Button/css/cssJSLogic.js +45 -25
  240. package/lib/v1/Button/props/defaultProps.js +4 -5
  241. package/lib/v1/Button/props/propTypes.js +41 -7
  242. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +24 -24
  243. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +14 -14
  244. package/lib/v1/helpers/colorHelpers/__tests__/colorHelper.spec.js +363 -0
  245. package/lib/v1/helpers/colorHelpers/background/backgroundColor.module.css +38 -534
  246. package/lib/v1/helpers/colorHelpers/border/borderColor.module.css +28 -412
  247. package/lib/v1/helpers/colorHelpers/colorHelper.js +130 -153
  248. package/lib/v1/helpers/colorHelpers/constants/index.js +45 -4
  249. package/lib/v1/helpers/colorHelpers/index.js +2 -24
  250. package/lib/v1/helpers/colorHelpers/paletteUtilities.README.md +141 -336
  251. package/lib/v1/helpers/colorHelpers/text/textColor.module.css +79 -295
  252. package/lib/v1/shared/{Loader/Loader.js → Spinner/Spinner.js} +8 -8
  253. package/lib/v1/shared/{Loader/__tests__/Loader.spec.js → Spinner/__tests__/Spinner.spec.js} +4 -4
  254. package/{es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap → lib/v1/shared/Spinner/__tests__/__snapshots__/Spinner.spec.js.snap} +2 -2
  255. package/package.json +19 -19
  256. /package/es/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  257. /package/es/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  258. /package/es/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
  259. /package/lib/v1/shared/{Loader/Loader_v1.module.css → Spinner/Spinner_v1.module.css} +0 -0
  260. /package/lib/v1/shared/{Loader → Spinner}/props/defaultProps.js +0 -0
  261. /package/lib/v1/shared/{Loader → Spinner}/props/propTypes.js +0 -0
@@ -1,12 +1,16 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
1
3
  import React from 'react';
2
- import { cleanup, render, screen } from '@testing-library/react';
4
+ import { cleanup, render } from '@testing-library/react';
3
5
  import userEvent from '@testing-library/user-event';
4
- import Button from "../Button";
6
+ import Button from "../index";
5
7
  import '@testing-library/jest-dom';
8
+ import { PALETTE, VARIANT, SIZE, STATUS, LOADER_PLACEMENT, SHAPE, DISABLED_APPEARANCE, BUTTON_TYPE } from "../constants";
9
+ import { BRAND_GHOST, BRAND_TEXT_ONLY, BRAND_TINTED_OUTLINE, SUCCESS_GHOST, SUCCESS_TEXT_ONLY, SUCCESS_TINTED_OUTLINE, SECONDARY_GHOST_BRAND_TINTED_ONSELECT, SECONDARY_GHOST_CANCEL, BLACK_TEXT_BRAND_ONHOVER, BRAND_BG_ONSELECT, BRAND_TEXT_TINTED_HOVER, BRAND_TEXT_TINTED_DANGER_HOVER } from "../constants/presets";
6
10
  afterEach(() => {
7
11
  cleanup();
8
12
  });
9
- describe('Button - Component', () => {
13
+ describe('Button', () => {
10
14
  test('Should render with the basic set of default props', () => {
11
15
  const {
12
16
  asFragment
@@ -19,8 +23,7 @@ describe('Button - Component', () => {
19
23
  } = render( /*#__PURE__*/React.createElement(Button, null, "Click Me"));
20
24
  expect(asFragment()).toMatchSnapshot();
21
25
  });
22
- const palette = ['default', 'primary', 'secondary', 'danger', 'success'];
23
- test.each(palette)('Should render palette of buttons - %s', palette => {
26
+ test.each(Object.values(PALETTE))('Should render palette of buttons - %s', palette => {
24
27
  const {
25
28
  asFragment
26
29
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -28,26 +31,46 @@ describe('Button - Component', () => {
28
31
  }));
29
32
  expect(asFragment()).toMatchSnapshot();
30
33
  });
31
- const bgAppearance = ['default', 'onHover', 'none'];
32
- test.each(bgAppearance)('Should render bgAppearance of buttons - %s', bg => {
34
+ const appearanceCombos = [{
35
+ bg: true,
36
+ text: 'black'
37
+ }, {
38
+ border: true
39
+ }, {
40
+ text: true
41
+ }, {
42
+ bg: false,
43
+ border: true
44
+ }, {}];
45
+ test.each(appearanceCombos.map(combo => [combo]))('Should render appearance of buttons - %o', appearance => {
33
46
  const {
34
47
  asFragment
35
48
  } = render( /*#__PURE__*/React.createElement(Button, {
36
- bgAppearance: bg
49
+ palette: PALETTE.BRAND,
50
+ appearance: appearance
37
51
  }));
38
52
  expect(asFragment()).toMatchSnapshot();
39
53
  });
40
- const borderAppearance = ['default', 'onHover', 'none'];
41
- test.each(borderAppearance)('Should render borderAppearance of buttons - %s', border => {
54
+ test.each(appearanceCombos.map(combo => [combo]))('Should render hoverAppearance of buttons - %o', appearance => {
42
55
  const {
43
56
  asFragment
44
57
  } = render( /*#__PURE__*/React.createElement(Button, {
45
- borderAppearance: border
58
+ palette: PALETTE.BRAND,
59
+ hoverAppearance: appearance
46
60
  }));
47
61
  expect(asFragment()).toMatchSnapshot();
48
62
  });
49
- const variant = ['text', 'icon', 'iconWithText'];
50
- test.each(variant)('Should render variant of buttons - %s', variant => {
63
+ test.each(appearanceCombos.map(combo => [combo]))('Should render selectedAppearance of buttons - %o', appearance => {
64
+ const {
65
+ asFragment
66
+ } = render( /*#__PURE__*/React.createElement(Button, {
67
+ palette: PALETTE.BRAND,
68
+ isSelected: true,
69
+ selectedAppearance: appearance
70
+ }));
71
+ expect(asFragment()).toMatchSnapshot();
72
+ });
73
+ test.each(Object.values(VARIANT))('Should render variant of buttons - %s', variant => {
51
74
  const {
52
75
  asFragment
53
76
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -55,8 +78,7 @@ describe('Button - Component', () => {
55
78
  }));
56
79
  expect(asFragment()).toMatchSnapshot();
57
80
  });
58
- const size = ['small', 'medium', 'large', 'full'];
59
- test.each(size)('Should render Sizes of buttons - %s', size => {
81
+ test.each(Object.values(SIZE))('Should render Sizes of buttons - %s', size => {
60
82
  const {
61
83
  asFragment
62
84
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -64,8 +86,7 @@ describe('Button - Component', () => {
64
86
  }));
65
87
  expect(asFragment()).toMatchSnapshot();
66
88
  });
67
- const status = ['default', 'loading', 'success'];
68
- test.each(status)('Should render Status of buttons - %s', status => {
89
+ test.each(Object.values(STATUS))('Should render Status of buttons - %s', status => {
69
90
  const {
70
91
  asFragment
71
92
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -73,8 +94,7 @@ describe('Button - Component', () => {
73
94
  }));
74
95
  expect(asFragment()).toMatchSnapshot();
75
96
  });
76
- const loaderPlacement = ['start', 'end', 'overlay'];
77
- test.each(loaderPlacement)('Should render loaderPlacement of buttons - %s', loaderPlacement => {
97
+ test.each(Object.values(LOADER_PLACEMENT))('Should render loaderPlacement of buttons - %s', loaderPlacement => {
78
98
  const {
79
99
  asFragment
80
100
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -83,7 +103,7 @@ describe('Button - Component', () => {
83
103
  }));
84
104
  expect(asFragment()).toMatchSnapshot();
85
105
  });
86
- test('Should render with iconName and iconSize ', () => {
106
+ test('Should render with iconName and iconSize', () => {
87
107
  const {
88
108
  asFragment
89
109
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -93,13 +113,13 @@ describe('Button - Component', () => {
93
113
  }));
94
114
  expect(asFragment()).toMatchSnapshot();
95
115
  });
96
- test('Should render with iconPlacement ', () => {
116
+ test('Should render with iconPlacement', () => {
97
117
  const {
98
118
  asFragment
99
119
  } = render( /*#__PURE__*/React.createElement(Button, {
100
120
  variant: "iconWithText",
101
121
  iconName: "ZD-plus",
102
- iconPlacement: "right"
122
+ iconPlacement: "end"
103
123
  }, "Button"));
104
124
  expect(asFragment()).toMatchSnapshot();
105
125
  });
@@ -139,8 +159,7 @@ describe('Button - Component', () => {
139
159
  }));
140
160
  expect(asFragment()).toMatchSnapshot();
141
161
  });
142
- const type = ['button', 'submit', 'reset'];
143
- test.each(type)('Should render type of buttons - %s', type => {
162
+ test.each(Object.values(BUTTON_TYPE))('Should render type of buttons - %s', type => {
144
163
  const {
145
164
  asFragment
146
165
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -166,14 +185,6 @@ describe('Button - Component', () => {
166
185
  }));
167
186
  expect(asFragment()).toMatchSnapshot();
168
187
  });
169
- test('Should render with readOnly style when isReadOnly prop is true', () => {
170
- const {
171
- asFragment
172
- } = render( /*#__PURE__*/React.createElement(Button, {
173
- isReadOnly: true
174
- }));
175
- expect(asFragment()).toMatchSnapshot();
176
- });
177
188
  test('Should render with selected style when isSelected prop is true', () => {
178
189
  const {
179
190
  asFragment
@@ -182,8 +193,7 @@ describe('Button - Component', () => {
182
193
  }));
183
194
  expect(asFragment()).toMatchSnapshot();
184
195
  });
185
- const shape = ['pill', 'rectangle', 'roundedRectangle'];
186
- test.each(shape)('Should render shape of buttons - %s', shape => {
196
+ test.each(Object.values(SHAPE))('Should render shape of buttons - %s', shape => {
187
197
  const {
188
198
  asFragment
189
199
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -191,17 +201,7 @@ describe('Button - Component', () => {
191
201
  }));
192
202
  expect(asFragment()).toMatchSnapshot();
193
203
  });
194
- const paletteShade = ['default', 'lighter'];
195
- test.each(paletteShade)('Should render paletteShade of buttons - %s', shade => {
196
- const {
197
- asFragment
198
- } = render( /*#__PURE__*/React.createElement(Button, {
199
- paletteShade: shade
200
- }));
201
- expect(asFragment()).toMatchSnapshot();
202
- });
203
- const disabledAppearance = ['none', 'dull', 'strike'];
204
- test.each(disabledAppearance)('Should render disabledAppearance of buttons - %s', style => {
204
+ test.each(Object.values(DISABLED_APPEARANCE))('Should render disabledAppearance of buttons - %s', style => {
205
205
  const {
206
206
  asFragment
207
207
  } = render( /*#__PURE__*/React.createElement(Button, {
@@ -239,9 +239,6 @@ describe('Button - Component', () => {
239
239
  variant: "iconWithText",
240
240
  iconName: "check",
241
241
  customProps: {
242
- wrapper: {
243
- 'data-wrapper': 'wrapperProps'
244
- },
245
242
  text: {
246
243
  'data-text': 'textProps'
247
244
  },
@@ -252,6 +249,21 @@ describe('Button - Component', () => {
252
249
  }, "Button"));
253
250
  expect(asFragment()).toMatchSnapshot();
254
251
  });
252
+ test('Should apply customAttributes to button elements', () => {
253
+ const {
254
+ asFragment
255
+ } = render( /*#__PURE__*/React.createElement(Button, {
256
+ customAttributes: {
257
+ button: {
258
+ 'data-wrapper': 'wrapperAttr'
259
+ },
260
+ text: {
261
+ 'data-text': 'textAttr'
262
+ }
263
+ }
264
+ }, "Button"));
265
+ expect(asFragment()).toMatchSnapshot();
266
+ });
255
267
  test('Should render with customId and testId', () => {
256
268
  const {
257
269
  asFragment
@@ -272,4 +284,83 @@ describe('Button - Component', () => {
272
284
  }, "Button"));
273
285
  expect(asFragment()).toMatchSnapshot();
274
286
  });
287
+ test('Should render renderBefore slot content in DOM', () => {
288
+ const {
289
+ getByText
290
+ } = render( /*#__PURE__*/React.createElement(Button, {
291
+ renderBefore: () => /*#__PURE__*/React.createElement("span", null, "BeforeSlot")
292
+ }, "Button"));
293
+ expect(getByText('BeforeSlot')).toBeInTheDocument();
294
+ });
295
+ test('Should render renderAfter slot content in DOM', () => {
296
+ const {
297
+ getByText
298
+ } = render( /*#__PURE__*/React.createElement(Button, {
299
+ renderAfter: () => /*#__PURE__*/React.createElement("span", null, "AfterSlot")
300
+ }, "Button"));
301
+ expect(getByText('AfterSlot')).toBeInTheDocument();
302
+ });
303
+ test('Should render renderIcon slot content in DOM', () => {
304
+ const {
305
+ getByText
306
+ } = render( /*#__PURE__*/React.createElement(Button, {
307
+ variant: "icon",
308
+ renderIcon: () => /*#__PURE__*/React.createElement("span", null, "IconSlot")
309
+ }));
310
+ expect(getByText('IconSlot')).toBeInTheDocument();
311
+ });
312
+ test('Should not call onClick when button is disabled', () => {
313
+ const onClick = jest.fn();
314
+ const {
315
+ getByRole
316
+ } = render( /*#__PURE__*/React.createElement(Button, {
317
+ isDisabled: true,
318
+ onClick: onClick
319
+ }));
320
+ userEvent.click(getByRole('button'));
321
+ expect(onClick).not.toHaveBeenCalled();
322
+ });
323
+ test('Should render loader overlay when status is loading and loaderPlacement is overlay', () => {
324
+ const {
325
+ asFragment
326
+ } = render( /*#__PURE__*/React.createElement(Button, {
327
+ status: "loading",
328
+ loaderPlacement: "overlay"
329
+ }));
330
+ expect(asFragment()).toMatchSnapshot();
331
+ });
332
+ test('Should render success overlay when status is success and loaderPlacement is overlay', () => {
333
+ const {
334
+ asFragment
335
+ } = render( /*#__PURE__*/React.createElement(Button, {
336
+ status: "success",
337
+ loaderPlacement: "overlay"
338
+ }));
339
+ expect(asFragment()).toMatchSnapshot();
340
+ });
341
+ test('Should render with dataSelectorId', () => {
342
+ const {
343
+ asFragment
344
+ } = render( /*#__PURE__*/React.createElement(Button, {
345
+ dataSelectorId: "selectorId"
346
+ }));
347
+ expect(asFragment()).toMatchSnapshot();
348
+ });
349
+ describe('Presets', () => {
350
+ const presets = [['BRAND_GHOST', BRAND_GHOST], ['BRAND_TEXT_ONLY', BRAND_TEXT_ONLY], ['BRAND_TINTED_OUTLINE', BRAND_TINTED_OUTLINE], ['SUCCESS_GHOST', SUCCESS_GHOST], ['SUCCESS_TEXT_ONLY', SUCCESS_TEXT_ONLY], ['SUCCESS_TINTED_OUTLINE', SUCCESS_TINTED_OUTLINE], ['SECONDARY_GHOST_BRAND_TINTED_ONSELECT', SECONDARY_GHOST_BRAND_TINTED_ONSELECT], ['SECONDARY_GHOST_CANCEL', SECONDARY_GHOST_CANCEL], ['BLACK_TEXT_BRAND_ONHOVER', BLACK_TEXT_BRAND_ONHOVER], ['BRAND_BG_ONSELECT', BRAND_BG_ONSELECT], ['BRAND_TEXT_TINTED_HOVER', BRAND_TEXT_TINTED_HOVER], ['BRAND_TEXT_TINTED_DANGER_HOVER', BRAND_TEXT_TINTED_DANGER_HOVER]];
351
+ test.each(presets)('Should render preset %s', (_name, preset) => {
352
+ const {
353
+ asFragment
354
+ } = render( /*#__PURE__*/React.createElement(Button, preset, "Button"));
355
+ expect(asFragment()).toMatchSnapshot();
356
+ });
357
+ test.each(presets)('Should render preset %s in selected state', (_name, preset) => {
358
+ const {
359
+ asFragment
360
+ } = render( /*#__PURE__*/React.createElement(Button, _extends({}, preset, {
361
+ isSelected: true
362
+ }), "Button"));
363
+ expect(asFragment()).toMatchSnapshot();
364
+ });
365
+ });
275
366
  });