@simplybusiness/mobius 3.9.3 → 3.9.4

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 +8 -0
  2. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  3. package/package.json +1 -1
  4. package/src/components/NumberField/NumberField.mdx +17 -0
  5. package/dist/esm/components/Accordion/Accordion.stories.js +0 -45
  6. package/dist/esm/components/Accordion/Accordion.stories.js.map +0 -1
  7. package/dist/esm/components/Accordion/Accordion.test.js +0 -65
  8. package/dist/esm/components/Accordion/Accordion.test.js.map +0 -1
  9. package/dist/esm/components/Alert/Alert.stories.js +0 -32
  10. package/dist/esm/components/Alert/Alert.stories.js.map +0 -1
  11. package/dist/esm/components/Alert/Alert.test.js +0 -48
  12. package/dist/esm/components/Alert/Alert.test.js.map +0 -1
  13. package/dist/esm/components/Box/Box.stories.js +0 -20
  14. package/dist/esm/components/Box/Box.stories.js.map +0 -1
  15. package/dist/esm/components/Box/Box.test.js +0 -31
  16. package/dist/esm/components/Box/Box.test.js.map +0 -1
  17. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js +0 -17
  18. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js.map +0 -1
  19. package/dist/esm/components/Breadcrumbs/Breadcrumbs.test.js +0 -33
  20. package/dist/esm/components/Breadcrumbs/Breadcrumbs.test.js.map +0 -1
  21. package/dist/esm/components/Button/Button.stories.js +0 -213
  22. package/dist/esm/components/Button/Button.stories.js.map +0 -1
  23. package/dist/esm/components/Button/Button.test.js +0 -81
  24. package/dist/esm/components/Button/Button.test.js.map +0 -1
  25. package/dist/esm/components/Checkbox/Checkbox.stories.js +0 -98
  26. package/dist/esm/components/Checkbox/Checkbox.stories.js.map +0 -1
  27. package/dist/esm/components/Checkbox/Checkbox.test.js +0 -108
  28. package/dist/esm/components/Checkbox/Checkbox.test.js.map +0 -1
  29. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js +0 -71
  30. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js.map +0 -1
  31. package/dist/esm/components/Checkbox/CheckboxGroup.test.js +0 -44
  32. package/dist/esm/components/Checkbox/CheckboxGroup.test.js.map +0 -1
  33. package/dist/esm/components/Chopin/Actions/Actions.stories.js +0 -56
  34. package/dist/esm/components/Chopin/Actions/Actions.stories.js.map +0 -1
  35. package/dist/esm/components/Chopin/Actions/Actions.test.js +0 -95
  36. package/dist/esm/components/Chopin/Actions/Actions.test.js.map +0 -1
  37. package/dist/esm/components/Chopin/Actions/LinkOrButton.test.js +0 -33
  38. package/dist/esm/components/Chopin/Actions/LinkOrButton.test.js.map +0 -1
  39. package/dist/esm/components/Chopin/Footer/Footer.stories.js +0 -166
  40. package/dist/esm/components/Chopin/Footer/Footer.stories.js.map +0 -1
  41. package/dist/esm/components/Chopin/Footer/Footer.test.js +0 -90
  42. package/dist/esm/components/Chopin/Footer/Footer.test.js.map +0 -1
  43. package/dist/esm/components/Chopin/Header/Header.stories.js +0 -38
  44. package/dist/esm/components/Chopin/Header/Header.stories.js.map +0 -1
  45. package/dist/esm/components/Chopin/Header/Header.test.js +0 -86
  46. package/dist/esm/components/Chopin/Header/Header.test.js.map +0 -1
  47. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js +0 -43
  48. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js.map +0 -1
  49. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js +0 -108
  50. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js.map +0 -1
  51. package/dist/esm/components/Chopin/Question/Question.stories.js +0 -136
  52. package/dist/esm/components/Chopin/Question/Question.stories.js.map +0 -1
  53. package/dist/esm/components/Chopin/Question/Question.test.js +0 -116
  54. package/dist/esm/components/Chopin/Question/Question.test.js.map +0 -1
  55. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js +0 -40
  56. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js.map +0 -1
  57. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.test.js +0 -62
  58. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.test.js.map +0 -1
  59. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.test.js +0 -41
  60. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.test.js.map +0 -1
  61. package/dist/esm/components/Chopin/Section/Section.stories.js +0 -16
  62. package/dist/esm/components/Chopin/Section/Section.stories.js.map +0 -1
  63. package/dist/esm/components/Chopin/Section/Section.test.js +0 -35
  64. package/dist/esm/components/Chopin/Section/Section.test.js.map +0 -1
  65. package/dist/esm/components/Chopin/Steps/Steps.stories.js +0 -12
  66. package/dist/esm/components/Chopin/Steps/Steps.stories.js.map +0 -1
  67. package/dist/esm/components/Chopin/Steps/Steps.test.js +0 -93
  68. package/dist/esm/components/Chopin/Steps/Steps.test.js.map +0 -1
  69. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js +0 -15
  70. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js.map +0 -1
  71. package/dist/esm/components/Chopin/Testimonial/Testimonial.test.js +0 -35
  72. package/dist/esm/components/Chopin/Testimonial/Testimonial.test.js.map +0 -1
  73. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js +0 -26
  74. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js.map +0 -1
  75. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js +0 -37
  76. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js.map +0 -1
  77. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +0 -86
  78. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js.map +0 -1
  79. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +0 -52
  80. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js.map +0 -1
  81. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js +0 -52
  82. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js.map +0 -1
  83. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js +0 -226
  84. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js.map +0 -1
  85. package/dist/esm/components/Container/Container.stories.js +0 -12
  86. package/dist/esm/components/Container/Container.stories.js.map +0 -1
  87. package/dist/esm/components/Container/Container.test.js +0 -37
  88. package/dist/esm/components/Container/Container.test.js.map +0 -1
  89. package/dist/esm/components/DataTable/DataTable.stories.js +0 -174
  90. package/dist/esm/components/DataTable/DataTable.stories.js.map +0 -1
  91. package/dist/esm/components/DataTable/DataTable.test.js +0 -119
  92. package/dist/esm/components/DataTable/DataTable.test.js.map +0 -1
  93. package/dist/esm/components/DatePicker/DatePicker.stories.js +0 -25
  94. package/dist/esm/components/DatePicker/DatePicker.stories.js.map +0 -1
  95. package/dist/esm/components/Divider/Divider.stories.js +0 -12
  96. package/dist/esm/components/Divider/Divider.stories.js.map +0 -1
  97. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js +0 -58
  98. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js.map +0 -1
  99. package/dist/esm/components/DropdownMenu/DropdownMenu.test.js +0 -95
  100. package/dist/esm/components/DropdownMenu/DropdownMenu.test.js.map +0 -1
  101. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js +0 -21
  102. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js.map +0 -1
  103. package/dist/esm/components/ErrorMessage/ErrorMessage.test.js +0 -30
  104. package/dist/esm/components/ErrorMessage/ErrorMessage.test.js.map +0 -1
  105. package/dist/esm/components/Fieldset/Fieldset.stories.js +0 -22
  106. package/dist/esm/components/Fieldset/Fieldset.stories.js.map +0 -1
  107. package/dist/esm/components/Fieldset/Fieldset.test.js +0 -10
  108. package/dist/esm/components/Fieldset/Fieldset.test.js.map +0 -1
  109. package/dist/esm/components/Flex/Flex.stories.js +0 -148
  110. package/dist/esm/components/Flex/Flex.stories.js.map +0 -1
  111. package/dist/esm/components/Flex/Flex.test.js +0 -31
  112. package/dist/esm/components/Flex/Flex.test.js.map +0 -1
  113. package/dist/esm/components/Grid/Grid.stories.js +0 -227
  114. package/dist/esm/components/Grid/Grid.stories.js.map +0 -1
  115. package/dist/esm/components/Grid/Grid.test.js +0 -95
  116. package/dist/esm/components/Grid/Grid.test.js.map +0 -1
  117. package/dist/esm/components/Icon/Icon.stories.js +0 -43
  118. package/dist/esm/components/Icon/Icon.stories.js.map +0 -1
  119. package/dist/esm/components/Icon/Icon.test.js +0 -52
  120. package/dist/esm/components/Icon/Icon.test.js.map +0 -1
  121. package/dist/esm/components/Image/Image.stories.js +0 -17
  122. package/dist/esm/components/Image/Image.stories.js.map +0 -1
  123. package/dist/esm/components/Image/Image.test.js +0 -37
  124. package/dist/esm/components/Image/Image.test.js.map +0 -1
  125. package/dist/esm/components/Label/Label.stories.js +0 -15
  126. package/dist/esm/components/Label/Label.stories.js.map +0 -1
  127. package/dist/esm/components/Label/Label.test.js +0 -35
  128. package/dist/esm/components/Label/Label.test.js.map +0 -1
  129. package/dist/esm/components/Link/Link.stories.js +0 -41
  130. package/dist/esm/components/Link/Link.stories.js.map +0 -1
  131. package/dist/esm/components/Link/Link.test.js +0 -65
  132. package/dist/esm/components/Link/Link.test.js.map +0 -1
  133. package/dist/esm/components/LinkButton/LinkButton.stories.js +0 -42
  134. package/dist/esm/components/LinkButton/LinkButton.stories.js.map +0 -1
  135. package/dist/esm/components/LinkButton/LinkButton.test.js +0 -62
  136. package/dist/esm/components/LinkButton/LinkButton.test.js.map +0 -1
  137. package/dist/esm/components/List/List.stories.js +0 -77
  138. package/dist/esm/components/List/List.stories.js.map +0 -1
  139. package/dist/esm/components/List/List.test.js +0 -93
  140. package/dist/esm/components/List/List.test.js.map +0 -1
  141. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js +0 -50
  142. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js.map +0 -1
  143. package/dist/esm/components/LoadingIndicator/LoadingIndicator.test.js +0 -27
  144. package/dist/esm/components/LoadingIndicator/LoadingIndicator.test.js.map +0 -1
  145. package/dist/esm/components/MaskedField/MaskedField.stories.js +0 -22
  146. package/dist/esm/components/MaskedField/MaskedField.stories.js.map +0 -1
  147. package/dist/esm/components/MaskedField/MaskedField.test.js +0 -64
  148. package/dist/esm/components/MaskedField/MaskedField.test.js.map +0 -1
  149. package/dist/esm/components/Modal/Modal.stories.js +0 -79
  150. package/dist/esm/components/Modal/Modal.stories.js.map +0 -1
  151. package/dist/esm/components/Modal/Modal.test.js +0 -135
  152. package/dist/esm/components/Modal/Modal.test.js.map +0 -1
  153. package/dist/esm/components/NumberField/NumberField.stories.js +0 -103
  154. package/dist/esm/components/NumberField/NumberField.stories.js.map +0 -1
  155. package/dist/esm/components/NumberField/NumberField.test.js +0 -81
  156. package/dist/esm/components/NumberField/NumberField.test.js.map +0 -1
  157. package/dist/esm/components/PasswordField/PasswordField.stories.js +0 -31
  158. package/dist/esm/components/PasswordField/PasswordField.stories.js.map +0 -1
  159. package/dist/esm/components/PasswordField/PasswordField.test.js +0 -29
  160. package/dist/esm/components/PasswordField/PasswordField.test.js.map +0 -1
  161. package/dist/esm/components/Progress/Progress.stories.js +0 -89
  162. package/dist/esm/components/Progress/Progress.stories.js.map +0 -1
  163. package/dist/esm/components/Progress/Progress.test.js +0 -32
  164. package/dist/esm/components/Progress/Progress.test.js.map +0 -1
  165. package/dist/esm/components/Radio/Radio.stories.js +0 -118
  166. package/dist/esm/components/Radio/Radio.stories.js.map +0 -1
  167. package/dist/esm/components/Radio/Radio.test.js +0 -139
  168. package/dist/esm/components/Radio/Radio.test.js.map +0 -1
  169. package/dist/esm/components/Radio/RadioButton.stories.js +0 -88
  170. package/dist/esm/components/Radio/RadioButton.stories.js.map +0 -1
  171. package/dist/esm/components/Radio/RadioButton.test.js +0 -118
  172. package/dist/esm/components/Radio/RadioButton.test.js.map +0 -1
  173. package/dist/esm/components/SVG/SVG.stories.js +0 -19
  174. package/dist/esm/components/SVG/SVG.stories.js.map +0 -1
  175. package/dist/esm/components/SVG/SVG.test.js +0 -26
  176. package/dist/esm/components/SVG/SVG.test.js.map +0 -1
  177. package/dist/esm/components/Segment/Segment.stories.js +0 -112
  178. package/dist/esm/components/Segment/Segment.stories.js.map +0 -1
  179. package/dist/esm/components/Select/Select.stories.js +0 -79
  180. package/dist/esm/components/Select/Select.stories.js.map +0 -1
  181. package/dist/esm/components/Select/Select.test.js +0 -94
  182. package/dist/esm/components/Select/Select.test.js.map +0 -1
  183. package/dist/esm/components/Slider/Slider.stories.js +0 -63
  184. package/dist/esm/components/Slider/Slider.stories.js.map +0 -1
  185. package/dist/esm/components/Slider/Slider.test.js +0 -58
  186. package/dist/esm/components/Slider/Slider.test.js.map +0 -1
  187. package/dist/esm/components/Table/Table.stories.js +0 -15
  188. package/dist/esm/components/Table/Table.stories.js.map +0 -1
  189. package/dist/esm/components/Table/Table.test.js +0 -73
  190. package/dist/esm/components/Table/Table.test.js.map +0 -1
  191. package/dist/esm/components/Text/Text.stories.js +0 -31
  192. package/dist/esm/components/Text/Text.stories.js.map +0 -1
  193. package/dist/esm/components/Text/Text.test.js +0 -31
  194. package/dist/esm/components/Text/Text.test.js.map +0 -1
  195. package/dist/esm/components/TextArea/TextArea.stories.js +0 -80
  196. package/dist/esm/components/TextArea/TextArea.stories.js.map +0 -1
  197. package/dist/esm/components/TextArea/TextArea.test.js +0 -84
  198. package/dist/esm/components/TextArea/TextArea.test.js.map +0 -1
  199. package/dist/esm/components/TextAreaInput/TextAreaInput.test.js +0 -42
  200. package/dist/esm/components/TextAreaInput/TextAreaInput.test.js.map +0 -1
  201. package/dist/esm/components/TextField/TextField.stories.js +0 -103
  202. package/dist/esm/components/TextField/TextField.stories.js.map +0 -1
  203. package/dist/esm/components/TextField/TextField.test.js +0 -123
  204. package/dist/esm/components/TextField/TextField.test.js.map +0 -1
  205. package/dist/esm/components/Title/Title.stories.js +0 -16
  206. package/dist/esm/components/Title/Title.stories.js.map +0 -1
  207. package/dist/esm/components/Title/Title.test.js +0 -20
  208. package/dist/esm/components/Title/Title.test.js.map +0 -1
  209. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js +0 -12
  210. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js.map +0 -1
  211. package/dist/esm/contexts/ThemeContext/ThemeContext.test.js +0 -10
  212. package/dist/esm/contexts/ThemeContext/ThemeContext.test.js.map +0 -1
  213. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js +0 -40
  214. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js.map +0 -1
  215. package/dist/esm/hooks/useBreakpoint/useBreakpoint.test.js +0 -242
  216. package/dist/esm/hooks/useBreakpoint/useBreakpoint.test.js.map +0 -1
  217. package/dist/esm/hooks/useButton/useButton.test.js +0 -141
  218. package/dist/esm/hooks/useButton/useButton.test.js.map +0 -1
@@ -1,81 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import { Button } from ".";
5
- const CLASS_NAME = "mobius/Button";
6
- describe("Button", () => {
7
- it("should render without errors", () => {
8
- const error = jest.spyOn(global.console, "error");
9
- const onPress = jest.fn();
10
- render(_jsx(Button, Object.assign({ onPress: onPress }, { children: "Sample text" })));
11
- expect(error).not.toHaveBeenCalled();
12
- });
13
- it("should call the onPress", async () => {
14
- const onPress = jest.fn();
15
- const { getByText } = render(_jsx(Button, Object.assign({ onPress: onPress }, { children: "Press" })));
16
- await userEvent.click(getByText("Press"));
17
- expect(onPress).toHaveBeenCalled();
18
- });
19
- it("should call the onClick", async () => {
20
- const onClick = jest.fn();
21
- const { getByText } = render(_jsx(Button, Object.assign({ onClick: onClick }, { children: "Click" })));
22
- await userEvent.click(getByText("Click"));
23
- expect(onClick).toHaveBeenCalled();
24
- });
25
- describe("given icon is provided", () => {
26
- it("renders the icon on the left by default", () => {
27
- var _a;
28
- render(_jsx(Button, Object.assign({ icon: "chevronDown" }, { children: "Icon on the left" })));
29
- expect((_a = screen.getByRole("button").firstElementChild) === null || _a === void 0 ? void 0 : _a.tagName).toBe("svg");
30
- });
31
- it("renders the icon after text when position is set to 'right'", () => {
32
- render(_jsx(Button, Object.assign({ icon: "chevronDown", iconPosition: "right" }, { children: "Icon on the right" })));
33
- expect(screen.getByRole("button").children[1].tagName).toBe("svg");
34
- });
35
- });
36
- describe("given the button is set to 'loading'", () => {
37
- it("should only render the loading icon", () => {
38
- render(_jsx(Button, Object.assign({ isLoading: true, icon: "chevronDown", iconPosition: "right" }, { children: "Click me" })));
39
- expect(screen.getByRole("button").firstElementChild).toHaveClass("mobius/ButtonIconWrapper");
40
- expect(screen.getByRole("button").children[1]).toHaveClass("hide-children");
41
- });
42
- });
43
- describe("given the button is set to 'loading' and 'success'", () => {
44
- it("renders 'loading' state", () => {
45
- render(_jsx(Button, { isLoading: true, isSuccess: true }));
46
- expect(screen.getByRole("button")).toHaveClass("--is-loading");
47
- expect(screen.getByRole("button")).not.toHaveClass("--is-success");
48
- });
49
- });
50
- describe("uses correct class names", () => {
51
- it("uses Mobius class", () => {
52
- render(_jsx(Button, {}));
53
- expect(screen.getByRole("button")).toHaveClass("mobius");
54
- });
55
- it("uses base Mobius class", () => {
56
- render(_jsx(Button, {}));
57
- expect(screen.getByRole("button")).toHaveClass(CLASS_NAME);
58
- });
59
- it("includes disabled class name", () => {
60
- render(_jsx(Button, { isDisabled: true }));
61
- expect(screen.getByRole("button")).toHaveClass("--is-disabled");
62
- });
63
- it("includes custom class name", () => {
64
- render(_jsx(Button, { className: "my-class" }));
65
- expect(screen.getByRole("button")).toHaveClass(CLASS_NAME);
66
- expect(screen.getByRole("button")).toHaveClass("my-class");
67
- });
68
- it("includes the focus-visible class name", async () => {
69
- render(_jsx(Button, {}));
70
- await userEvent.tab();
71
- expect(screen.getByRole("button")).toHaveClass("--is-focus-visible");
72
- });
73
- describe("given icon is provided", () => {
74
- it("includes icon class name", () => {
75
- render(_jsx(Button, { icon: "chevronDown" }));
76
- expect(screen.getByRole("button")).toHaveClass("--has-icon");
77
- });
78
- });
79
- });
80
- });
81
- //# sourceMappingURL=Button.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button.test.js","sourceRoot":"","sources":["../../../../src/components/Button/Button.test.tsx"],"names":[],"mappings":"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"}
@@ -1,98 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Checkbox } from ".";
3
- import { excludeControls } from "../../utils/excludeControls";
4
- export default {
5
- title: "Forms/Checkbox",
6
- component: Checkbox,
7
- argTypes: Object.assign({ validationState: {
8
- options: ["valid", "invalid", "neither"],
9
- control: { type: "radio" },
10
- mapping: {
11
- valid: "valid",
12
- invalid: "invalid",
13
- neither: "",
14
- },
15
- }, label: {
16
- control: { type: "text" },
17
- } }, excludeControls("className")),
18
- };
19
- export const Normal = {
20
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
21
- args: {
22
- label: "Value",
23
- isDisabled: false,
24
- isIndeterminate: false,
25
- errorMessage: "",
26
- defaultSelected: false,
27
- isRequired: false,
28
- },
29
- };
30
- export const ControlledValue = {
31
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
32
- args: {
33
- label: "Value",
34
- isDisabled: false,
35
- isIndeterminate: false,
36
- errorMessage: "",
37
- isSelected: true,
38
- isRequired: false,
39
- },
40
- };
41
- export const Disabled = {
42
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
43
- args: {
44
- label: "Value",
45
- isDisabled: true,
46
- isIndeterminate: false,
47
- errorMessage: "",
48
- defaultSelected: false,
49
- isRequired: false,
50
- },
51
- };
52
- export const Indeterminate = {
53
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
54
- args: {
55
- label: "Value",
56
- isDisabled: false,
57
- isIndeterminate: true,
58
- errorMessage: "",
59
- defaultSelected: false,
60
- isRequired: false,
61
- },
62
- };
63
- export const Valid = {
64
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
65
- args: {
66
- label: "Value",
67
- isDisabled: false,
68
- isIndeterminate: false,
69
- errorMessage: "",
70
- validationState: "valid",
71
- defaultSelected: false,
72
- isRequired: false,
73
- },
74
- };
75
- export const Invalid = {
76
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
77
- args: {
78
- label: "Value",
79
- isDisabled: false,
80
- isIndeterminate: false,
81
- validationState: "invalid",
82
- errorMessage: "This is an error message",
83
- defaultSelected: false,
84
- isRequired: false,
85
- },
86
- };
87
- export const LongLabel = {
88
- render: (args) => _jsx(Checkbox, Object.assign({}, args)),
89
- args: {
90
- label: (_jsxs(_Fragment, { children: ["Example", _jsx("br", {}), "of", _jsx("br", {}), "long", _jsx("br", {}), "label", _jsx("br", {}), "text", _jsx("br", {})] })),
91
- isDisabled: false,
92
- isIndeterminate: false,
93
- errorMessage: "",
94
- defaultSelected: false,
95
- isRequired: false,
96
- },
97
- };
98
- //# sourceMappingURL=Checkbox.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.stories.js","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,108 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Fragment } from "react";
3
- import { render, fireEvent, screen } from "@testing-library/react";
4
- import userEvent from "@testing-library/user-event";
5
- import { Checkbox, CheckboxGroup } from ".";
6
- const WRAPPER_CLASS_NAME = "mobius/Checkbox";
7
- const INPUT_CLASS_NAME = "mobius/CheckboxInput";
8
- describe.each([
9
- ["Grouped checkbox", CheckboxGroup, { label: "Checkbox Group" }],
10
- ["Ungrouped checkbox", Fragment, {}],
11
- ])("%s", (_description, Container, containerProps) => {
12
- it("should render without error", () => {
13
- const component = render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
14
- expect(component).toBeTruthy();
15
- });
16
- it("should call onChange when clicked", () => {
17
- const callback = jest.fn();
18
- const component = render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", onChange: callback, value: "value" }) })));
19
- fireEvent.click(component.container.querySelector("input"));
20
- expect(callback).toHaveBeenCalledWith(true);
21
- });
22
- it("should be selectable via keyboard", async () => {
23
- const callback = jest.fn();
24
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", onChange: callback, value: "value" }) })));
25
- await userEvent.tab();
26
- await userEvent.keyboard("[Space]");
27
- expect(callback).toHaveBeenCalledWith(true);
28
- await userEvent.keyboard("[Space]");
29
- expect(callback).toHaveBeenCalledWith(false);
30
- });
31
- it("should set the correct aria-describedby attribute", () => {
32
- const { getByLabelText } = render(_jsx(Checkbox, { label: "I agree", name: "agree", errorMessage: "Required" }));
33
- expect(getByLabelText("I agree")).toHaveAccessibleDescription("Required");
34
- });
35
- describe("isSelected", () => {
36
- beforeAll(() => {
37
- jest.spyOn(console, "error").mockImplementationOnce(() => { });
38
- });
39
- it("should not pass the prop as a DOM attribute", () => {
40
- render(_jsxs(Container, Object.assign({}, containerProps, { children: [_jsx(Checkbox, { label: "I agree", name: "agree", value: "test", isSelected: true }), ","] })));
41
- // eslint-disable-next-line
42
- expect(console.error).not.toHaveBeenCalled();
43
- });
44
- });
45
- describe("isRequired", () => {
46
- it("should set aria-required to true", () => {
47
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value", isRequired: true }) })));
48
- expect(screen.getByLabelText("Checkbox")).toHaveAttribute("aria-required", "true");
49
- });
50
- it("should have className of --is-required when true", () => {
51
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value", isRequired: true }) })));
52
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-required");
53
- });
54
- it("should have className of --is-optional when false", () => {
55
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value", isRequired: false }) })));
56
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-optional");
57
- });
58
- it("should have neither --is-required nor --is-optional when unset", () => {
59
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
60
- expect(screen.getByLabelText("Checkbox")).not.toHaveClass("--is-required");
61
- expect(screen.getByLabelText("Checkbox")).not.toHaveClass("--is-optional");
62
- });
63
- });
64
- describe("uses correct class names", () => {
65
- it("uses mobius Mobius class", () => {
66
- const { container } = render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
67
- expect(container.firstChild).toHaveClass("mobius");
68
- });
69
- it("uses base Mobius class", () => {
70
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
71
- expect(screen.getByLabelText("Checkbox")).toHaveClass(INPUT_CLASS_NAME);
72
- });
73
- it("includes disabled class name", () => {
74
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", isDisabled: true, value: "value" }) })));
75
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-disabled");
76
- });
77
- it("includes valid class name", () => {
78
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", validationState: "valid", value: "value" }) })));
79
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-valid");
80
- });
81
- it("includes invalid class name", () => {
82
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", validationState: "invalid", errorMessage: "There is a problem", value: "value" }) })));
83
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-invalid");
84
- });
85
- it("includes custom class name", () => {
86
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", className: "my-class", value: "value" }) })));
87
- expect(screen.getByLabelText("Checkbox")).toHaveClass("my-class");
88
- expect(screen.getByLabelText("Checkbox")).toHaveClass(INPUT_CLASS_NAME);
89
- });
90
- it("only sets id on the input element", () => {
91
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { id: "test", label: "Checkbox", value: "value" }) })));
92
- expect(screen.getByLabelText("Checkbox").getAttribute("id")).toEqual("test");
93
- });
94
- it("includes focused and selected class names", async () => {
95
- render(_jsx(Container, Object.assign({}, containerProps, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
96
- await userEvent.tab();
97
- expect(screen.getByRole("checkbox")).toHaveClass("--is-focused");
98
- expect(screen.getByRole("checkbox")).toHaveClass(INPUT_CLASS_NAME);
99
- expect(screen.getByLabelText("Checkbox")).toHaveClass("--is-focused");
100
- expect(screen.getByLabelText("Checkbox").closest("label")).toHaveClass(WRAPPER_CLASS_NAME);
101
- await userEvent.keyboard("[Space]");
102
- expect(screen.getByRole("checkbox")).toHaveClass("--is-selected");
103
- await userEvent.tab();
104
- expect(screen.getByRole("checkbox")).not.toHaveClass("--is-hovered");
105
- });
106
- });
107
- });
108
- //# sourceMappingURL=Checkbox.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.test.js","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.test.tsx"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CheckboxGroup, Checkbox } from ".";
3
- import { excludeControls } from "../../utils/excludeControls";
4
- export default {
5
- title: "Forms/CheckboxGroup",
6
- component: CheckboxGroup,
7
- argTypes: Object.assign({ validationState: {
8
- options: ["valid", "invalid", "neither"],
9
- control: { type: "radio" },
10
- mapping: {
11
- valid: "valid",
12
- invalid: "invalid",
13
- neither: "",
14
- },
15
- } }, excludeControls("className")),
16
- };
17
- export const Normal = {
18
- render: (args) => (_jsxs(CheckboxGroup, Object.assign({}, args, { children: [_jsx(Checkbox, { label: "Option 1", value: "option1" }), _jsx(Checkbox, { label: "Option 2", value: "option2" }), _jsx(Checkbox, { label: "Option 3", value: "option3" })] }))),
19
- args: {
20
- label: "Value",
21
- errorMessage: "",
22
- isDisabled: false,
23
- orientation: "vertical",
24
- defaultValue: ["option1", "option3"],
25
- isRequired: false,
26
- },
27
- };
28
- export const ControlledValue = {
29
- render: (args) => (_jsxs(CheckboxGroup, Object.assign({}, args, { children: [_jsx(Checkbox, { label: "Option 1", value: "option1" }), _jsx(Checkbox, { label: "Option 2", value: "option2" }), _jsx(Checkbox, { label: "Option 3", value: "option3" })] }))),
30
- args: {
31
- label: "Value",
32
- errorMessage: "",
33
- isDisabled: false,
34
- orientation: "vertical",
35
- value: ["option2", "option3"],
36
- isRequired: false,
37
- },
38
- };
39
- export const Disabled = {
40
- render: (args) => (_jsxs(CheckboxGroup, Object.assign({}, args, { children: [_jsx(Checkbox, { label: "Option 1", value: "option1" }), _jsx(Checkbox, { label: "Option 2", value: "option2" }), _jsx(Checkbox, { label: "Option 3", value: "option3" })] }))),
41
- args: {
42
- label: "Value",
43
- errorMessage: "",
44
- isDisabled: true,
45
- orientation: "vertical",
46
- isRequired: false,
47
- },
48
- };
49
- export const Valid = {
50
- render: (args) => (_jsxs(CheckboxGroup, Object.assign({}, args, { children: [_jsx(Checkbox, { label: "Option 1", value: "option1" }), _jsx(Checkbox, { label: "Option 2", value: "option2" }), _jsx(Checkbox, { label: "Option 3", value: "option3" })] }))),
51
- args: {
52
- label: "Value",
53
- errorMessage: "",
54
- isDisabled: false,
55
- validationState: "valid",
56
- orientation: "vertical",
57
- isRequired: false,
58
- },
59
- };
60
- export const Invalid = {
61
- render: (args) => (_jsxs(CheckboxGroup, Object.assign({}, args, { children: [_jsx(Checkbox, { label: "Option 1", value: "option1" }), _jsx(Checkbox, { label: "Option 2", value: "option2" }), _jsx(Checkbox, { label: "Option 3", value: "option3" })] }))),
62
- args: {
63
- label: "Value",
64
- errorMessage: "This field is required",
65
- isDisabled: false,
66
- validationState: "invalid",
67
- orientation: "vertical",
68
- isRequired: false,
69
- },
70
- };
71
- //# sourceMappingURL=CheckboxGroup.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.stories.js","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxGroup.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import { Checkbox, CheckboxGroup } from ".";
4
- const CHECKBOX_GROUP_ITEM_TEST_ID = "CheckboxGroupItem";
5
- const CHECKBOX_ITEM_TEST_ID = "CheckboxItem";
6
- describe("CheckboxGroup", () => {
7
- it("renders a CheckboxGroupItem inside a CheckboxGroup", () => {
8
- render(_jsx(CheckboxGroup, Object.assign({ label: "Checkbox Group" }, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
9
- expect(screen.getByLabelText("Checkbox")).toHaveAttribute("data-testid", CHECKBOX_GROUP_ITEM_TEST_ID);
10
- expect(screen.getByLabelText("Checkbox")).not.toHaveAttribute("data-testid", CHECKBOX_ITEM_TEST_ID);
11
- });
12
- it("renders a non-CheckboxGroupItem outside a CheckboxGroup", () => {
13
- render(_jsx(Checkbox, { label: "Checkbox", value: "value" }));
14
- expect(screen.getByLabelText("Checkbox")).not.toHaveAttribute("data-testid", CHECKBOX_GROUP_ITEM_TEST_ID);
15
- expect(screen.getByLabelText("Checkbox")).toHaveAttribute("data-testid", CHECKBOX_ITEM_TEST_ID);
16
- });
17
- it("displays an error message when errorMessage is set", () => {
18
- render(_jsx(CheckboxGroup, Object.assign({ label: "Checkbox Group", errorMessage: "Error message" }, { children: _jsx(Checkbox, { label: "Checkbox", value: "value" }) })));
19
- expect(screen.getByText("Error message")).toBeInTheDocument();
20
- });
21
- it("sets aria-describedby for all checkboxes when errorMessage is set", () => {
22
- render(_jsxs(CheckboxGroup, Object.assign({ label: "Checkbox Group", errorMessage: "Error message" }, { children: [_jsx(Checkbox, { label: "Checkbox 1", value: "value1" }), _jsx(Checkbox, { label: "Checkbox 2", value: "value2" }), _jsx(Checkbox, { label: "Checkbox 3", value: "value3" })] })));
23
- const checkboxes = screen.getAllByRole("checkbox");
24
- checkboxes.forEach(checkbox => {
25
- expect(checkbox).toHaveAccessibleDescription("Error message");
26
- });
27
- });
28
- describe("isRequired", () => {
29
- it("should have className of --is-required when true", () => {
30
- render(_jsx(CheckboxGroup, Object.assign({ label: "Checkbox Group", errorMessage: "Error message", isRequired: true }, { children: _jsx(Checkbox, { label: "Checkbox 1", value: "value1" }) })));
31
- expect(screen.getByLabelText("Checkbox Group")).toHaveClass("--is-required");
32
- });
33
- it("should have className of --is-optional when false", () => {
34
- render(_jsx(CheckboxGroup, Object.assign({ label: "Checkbox Group", errorMessage: "Error message", isRequired: false }, { children: _jsx(Checkbox, { label: "Checkbox 1", value: "value1" }) })));
35
- expect(screen.getByLabelText("Checkbox Group")).toHaveClass("--is-optional");
36
- });
37
- it("should have neither --is-required nor --is-optional when unset", () => {
38
- render(_jsx(CheckboxGroup, Object.assign({ label: "Checkbox Group", errorMessage: "Error message" }, { children: _jsx(Checkbox, { label: "Checkbox 1", value: "value1" }) })));
39
- expect(screen.getByLabelText("Checkbox Group")).not.toHaveClass("--is-required");
40
- expect(screen.getByLabelText("Checkbox Group")).not.toHaveClass("--is-optional");
41
- });
42
- });
43
- });
44
- //# sourceMappingURL=CheckboxGroup.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.test.js","sourceRoot":"","sources":["../../../../src/components/Checkbox/CheckboxGroup.test.tsx"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Actions } from ".";
3
- import { excludeControls } from "../../../utils/excludeControls";
4
- export default {
5
- title: "Chopin/Actions",
6
- component: Actions,
7
- argTypes: excludeControls("className", "backButton", "nextButton"),
8
- };
9
- export const Normal = {
10
- render: (args) => (_jsx("div", { children: _jsx(Actions, Object.assign({}, args)) })),
11
- args: {
12
- backLabel: "Back",
13
- nextLabel: "Next Step",
14
- },
15
- };
16
- export const WithLinks = {
17
- render: (args) => (_jsx("div", { children: _jsx(Actions, Object.assign({}, args)) })),
18
- args: {
19
- backLabel: "Back",
20
- backButton: {
21
- href: "https://www.example.com",
22
- },
23
- nextLabel: "Next Step",
24
- nextButton: {
25
- href: "https://www.google.com",
26
- },
27
- },
28
- };
29
- export const OneAction = {
30
- render: (args) => (_jsx("div", { children: _jsx(Actions, Object.assign({}, args)) })),
31
- args: {
32
- nextLabel: "Next Step",
33
- },
34
- argTypes: excludeControls("backLabel", "backLink"),
35
- };
36
- export const OneBackAction = {
37
- render: (args) => (_jsx("div", { children: _jsx(Actions, Object.assign({}, args)) })),
38
- args: {
39
- backLabel: "Back",
40
- },
41
- argTypes: excludeControls("nextLabel", "nextLink"),
42
- };
43
- export const DisabledActions = {
44
- render: (args) => (_jsx("div", { children: _jsx(Actions, Object.assign({}, args)) })),
45
- args: {
46
- backLabel: "Back",
47
- backButton: {
48
- isDisabled: true,
49
- },
50
- nextLabel: "Next Step",
51
- nextButton: {
52
- isDisabled: true,
53
- },
54
- },
55
- };
56
- //# sourceMappingURL=Actions.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Actions.stories.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAgB,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,eAAe;IACb,KAAK,EAAE,gBAAgB;IACvB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAyB;IAC1C,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC9B,wBACE,KAAC,OAAO,oBAAK,IAAI,EAAI,GACjB,CACP;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,WAAW;KACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC9B,wBACE,KAAC,OAAO,oBAAK,IAAI,EAAI,GACjB,CACP;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,yBAAyB;SAChC;QACD,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE;YACV,IAAI,EAAE,wBAAwB;SAC/B;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAyB;IAC7C,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC9B,wBACE,KAAC,OAAO,oBAAK,IAAI,EAAI,GACjB,CACP;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,WAAW;KACvB;IACD,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC9B,wBACE,KAAC,OAAO,oBAAK,IAAI,EAAI,GACjB,CACP;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;KAClB;IACD,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,CAC9B,wBACE,KAAC,OAAO,oBAAK,IAAI,EAAI,GACjB,CACP;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE;YACV,UAAU,EAAE,IAAI;SACjB;QACD,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE;YACV,UAAU,EAAE,IAAI;SACjB;KACF;CACF,CAAC"}
@@ -1,95 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen, fireEvent } from "@testing-library/react";
3
- import { Actions } from ".";
4
- const ACTION_CLASS_NAME = "chopin/Actions";
5
- const BACK_ACTION_CLASS_NAME = "chopin/ActionsBack";
6
- const NEXT_ACTION_CLASS_NAME = "chopin/ActionsNext";
7
- const NEXT_SINGLE_ACTION_CLASS_NAME = "--single-action";
8
- const backLabel = "Back";
9
- const mockOnBackClick = jest.fn();
10
- const BackLink = {
11
- href: "https://test.com",
12
- };
13
- const mockOnNextClick = jest.fn();
14
- const nextLabel = "Next step";
15
- const NextLink = {
16
- href: "https://test.com",
17
- };
18
- describe("Actions", () => {
19
- describe("uses correct class names", () => {
20
- it("includes custom class name", () => {
21
- render(_jsx(Actions, { "data-testid": "test-id", className: "my-class", nextButton: Object.assign({}, NextLink), nextLabel: nextLabel, backButton: Object.assign({}, BackLink), backLabel: backLabel }));
22
- expect(screen.getByTestId("test-id")).toHaveClass("chopin");
23
- expect(screen.getByTestId("test-id")).toHaveClass("my-class");
24
- expect(screen.getByTestId("test-id")).toHaveClass(ACTION_CLASS_NAME);
25
- });
26
- it("uses links class names", () => {
27
- render(_jsx(Actions, { backButton: Object.assign({}, BackLink), backLabel: backLabel, nextButton: Object.assign({}, NextLink), nextLabel: nextLabel }));
28
- const nextLinkEl = screen.getByRole("link", { name: /next step/i });
29
- expect(screen.getByRole("link", { name: /back/i })).toHaveClass(BACK_ACTION_CLASS_NAME);
30
- expect(nextLinkEl).toHaveClass(NEXT_ACTION_CLASS_NAME);
31
- expect(nextLinkEl).not.toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
32
- });
33
- it("uses --single-action class name with one action btn", () => {
34
- render(_jsx(Actions, { nextButton: Object.assign({}, NextLink), nextLabel: nextLabel }));
35
- expect(screen.getByRole("link", { name: /next step/i })).toHaveClass(NEXT_SINGLE_ACTION_CLASS_NAME);
36
- });
37
- });
38
- describe("renders correct elements based on passed props", () => {
39
- it("doesn't render Back action if backLink is not provided", () => {
40
- render(_jsx(Actions, { backLabel: backLabel }));
41
- expect(screen.queryByRole("link", {
42
- name: /back/i,
43
- })).not.toBeInTheDocument();
44
- });
45
- it("doesn't render Next step action if nextLink is not provided", () => {
46
- render(_jsx(Actions, { nextLabel: nextLabel }));
47
- expect(screen.queryByRole("link", {
48
- name: /next step/i,
49
- })).not.toBeInTheDocument();
50
- });
51
- it("renders button elements if elementType is button", () => {
52
- render(_jsx(Actions, { backLabel: backLabel, nextLabel: nextLabel }));
53
- const backComponent = screen.queryByRole("button", {
54
- name: /back/i,
55
- });
56
- const nextComponent = screen.getByRole("button", {
57
- name: /next step/i,
58
- });
59
- const links = screen.queryByRole("link");
60
- expect(links).toBeNull();
61
- expect(backComponent).toBeInTheDocument();
62
- expect(nextComponent).toBeInTheDocument();
63
- });
64
- it("fires onNextClick handler on click event", () => {
65
- render(_jsx(Actions, { backLabel: backLabel, nextButton: {
66
- onClick: mockOnNextClick,
67
- }, nextLabel: nextLabel }));
68
- const nextActionBtn = screen.getByRole("button", {
69
- name: /Next step/i,
70
- });
71
- fireEvent.click(nextActionBtn);
72
- expect(mockOnNextClick).toHaveBeenCalledTimes(1);
73
- });
74
- it("fires onBackClick handler on click event", () => {
75
- render(_jsx(Actions, { backButton: {
76
- onClick: mockOnBackClick,
77
- }, backLabel: backLabel, nextLabel: nextLabel }));
78
- const backActionBtn = screen.getByRole("button", {
79
- name: /Back/i,
80
- });
81
- fireEvent.click(backActionBtn);
82
- expect(mockOnBackClick).toHaveBeenCalledTimes(1);
83
- });
84
- it("allows buttons to be disabled", () => {
85
- render(_jsx(Actions, { nextButton: {
86
- isDisabled: true,
87
- }, nextLabel: nextLabel }));
88
- const nextActionBtn = screen.getByRole("button", {
89
- name: /Next step/i,
90
- });
91
- expect(nextActionBtn).toHaveClass("--is-disabled");
92
- });
93
- });
94
- });
95
- //# sourceMappingURL=Actions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Actions.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/Actions.test.tsx"],"names":[],"mappings":"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"}