@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,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fireEvent, render, screen } from "@testing-library/react";
3
- import { LinkOrButton } from "./LinkOrButton";
4
- describe("LinkOrButton", () => {
5
- describe("given no children are provided", () => {
6
- it("renders nothing", () => {
7
- const { container } = render(_jsx(LinkOrButton, {}));
8
- expect(container).toBeEmptyDOMElement();
9
- });
10
- });
11
- describe("given href is provided", () => {
12
- it("renders anchor tag", () => {
13
- const url = "http://www.example.com";
14
- render(_jsx(LinkOrButton, Object.assign({ className: "green", href: url }, { children: "I am a link" })));
15
- const link = screen.getByRole("link");
16
- expect(link).toBeInTheDocument();
17
- expect(link).toHaveClass("green");
18
- expect(link).toHaveAttribute("href", url);
19
- });
20
- });
21
- describe("given href is not provided", () => {
22
- it("renders button", () => {
23
- const clickHandler = jest.fn();
24
- render(_jsx(LinkOrButton, Object.assign({ "data-id": "test", onClick: clickHandler }, { children: "I am a button" })));
25
- const button = screen.getByRole("button");
26
- expect(button).toBeInTheDocument();
27
- expect(button).toHaveAttribute("data-id", "test");
28
- fireEvent.click(button);
29
- expect(clickHandler).toHaveBeenCalled();
30
- });
31
- });
32
- });
33
- //# sourceMappingURL=LinkOrButton.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinkOrButton.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Actions/LinkOrButton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACzB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,YAAY,KAAG,CAAC,CAAC;YAE/C,MAAM,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,wBAAwB,CAAC;YAErC,MAAM,CACJ,KAAC,YAAY,kBAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAE,GAAG,iCAE1B,CAChB,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;YACxB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAE/B,MAAM,CACJ,KAAC,YAAY,6BAAS,MAAM,EAAC,OAAO,EAAE,YAAY,mCAEnC,CAChB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE1C,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAElD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAExB,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,166 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Footer } from ".";
3
- import { ThemeContext } from "../../../contexts";
4
- import { excludeControls } from "../../../utils/excludeControls";
5
- export default {
6
- title: "Chopin/Footer",
7
- component: Footer,
8
- argTypes: excludeControls("className", "address", "footerLinks", "legalLinks"),
9
- };
10
- const breakpoints = [
11
- {
12
- size: "xs",
13
- value: 320,
14
- },
15
- {
16
- size: "sm",
17
- value: 540,
18
- },
19
- {
20
- size: "md",
21
- value: 720,
22
- },
23
- {
24
- size: "lg",
25
- value: 960,
26
- },
27
- {
28
- size: "xl",
29
- value: 1140,
30
- },
31
- {
32
- size: "xxl",
33
- value: 1320,
34
- },
35
- ];
36
- const setBreakpoints = () => { };
37
- export const Normal = {
38
- render: (args) => (_jsx("div", { children: _jsx(Footer, Object.assign({}, args)) })),
39
- args: {
40
- address: [["6th Floor", "99 Gresham Street", "London", "EC2V 7NG"]],
41
- legalLinks: [
42
- {
43
- href: "https://www.simplybusiness.co.uk/terms-conditions/",
44
- text: "Terms & conditions",
45
- },
46
- {
47
- href: "https://www.simplybusiness.co.uk/privacy-policy/",
48
- text: "Privacy policy",
49
- },
50
- {
51
- href: "https://www.simplybusiness.co.uk/legal/cookies/",
52
- text: "Cookie policy",
53
- },
54
- {
55
- href: "https://www.simplybusiness.co.uk/support/accessibility/",
56
- text: "Accessibility",
57
- },
58
- ],
59
- text: "© Copyright 2022 Simply Business. All Rights Reserved. Simply Business is a trading name of Xbridge Limited which is authorised and regulated by the Financial Conduct Authority (Financial Services Registration No: 313348). Xbridge Limited (No: 3967717) has its registered office at 6th Floor, 99 Gresham Street, London EC2V 7NG.",
60
- withLogo: true,
61
- },
62
- decorators: [
63
- Story => (_jsx(ThemeContext.Provider, Object.assign({ value: {
64
- breakpoints,
65
- setBreakpoints,
66
- } }, { children: _jsx(Story, {}) }))),
67
- ],
68
- };
69
- export const ContainingTwoAddresses = {
70
- render: (args) => (_jsx("div", { children: _jsx(Footer, Object.assign({}, args)) })),
71
- args: {
72
- address: [
73
- ["6th Floor", "99 Gresham Street", "London", "EC2V 7NG"],
74
- ["Sol House", "29 St Katherine's Street", "Northampton", "NN1 2QZ"],
75
- ],
76
- legalLinks: [
77
- {
78
- href: "https://www.simplybusiness.co.uk/terms-conditions/",
79
- text: "Terms & conditions",
80
- },
81
- {
82
- href: "https://www.simplybusiness.co.uk/privacy-policy/",
83
- text: "Privacy policy",
84
- },
85
- {
86
- href: "https://www.simplybusiness.co.uk/legal/cookies/",
87
- text: "Cookie policy",
88
- },
89
- {
90
- href: "https://www.simplybusiness.co.uk/support/accessibility/",
91
- text: "Accessibility",
92
- },
93
- ],
94
- text: "© Copyright 2022 Simply Business. All Rights Reserved. Simply Business is a trading name of Xbridge Limited which is authorised and regulated by the Financial Conduct Authority (Financial Services Registration No: 313348). Xbridge Limited (No: 3967717) has its registered office at 6th Floor, 99 Gresham Street, London EC2V 7NG.",
95
- withLogo: true,
96
- },
97
- decorators: [
98
- Story => (_jsx(ThemeContext.Provider, Object.assign({ value: {
99
- breakpoints,
100
- setBreakpoints,
101
- } }, { children: _jsx(Story, {}) }))),
102
- ],
103
- };
104
- export const WithFooterLogo = {
105
- render: (args) => (_jsx("div", { children: _jsx(Footer, Object.assign({}, args)) })),
106
- args: {
107
- address: [
108
- ["6th Floor", "99 Gresham Street", "London", "EC2V 7NG"],
109
- ["Sol House", "29 St Katherine's Street", "Northampton", "NN1 2QZ"],
110
- ],
111
- legalLinks: [
112
- {
113
- href: "https://www.simplybusiness.co.uk/terms-conditions/",
114
- text: "Terms & conditions",
115
- },
116
- {
117
- href: "https://www.simplybusiness.co.uk/privacy-policy/",
118
- text: "Privacy policy",
119
- },
120
- {
121
- href: "https://www.simplybusiness.co.uk/legal/cookies/",
122
- text: "Cookie policy",
123
- },
124
- {
125
- href: "https://www.simplybusiness.co.uk/support/accessibility/",
126
- text: "Accessibility",
127
- },
128
- ],
129
- text: "© Copyright 2022 Simply Business. All Rights Reserved. Simply Business is a trading name of Xbridge Limited which is authorised and regulated by the Financial Conduct Authority (Financial Services Registration No: 313348). Xbridge Limited (No: 3967717) has its registered office at 6th Floor, 99 Gresham Street, London EC2V 7NG.",
130
- withLogo: true,
131
- },
132
- decorators: [
133
- Story => (_jsx(ThemeContext.Provider, Object.assign({ value: {
134
- breakpoints,
135
- setBreakpoints,
136
- } }, { children: _jsx(Story, {}) }))),
137
- ],
138
- };
139
- export const WithJustFooterText = {
140
- render: (args) => (_jsx("div", { children: _jsx(Footer, Object.assign({}, args)) })),
141
- args: {
142
- text: `
143
- <p>© Copyright 2022 Simply Business. All Rights Reserved.
144
- Simply Business, LLC is a licensed insurance producer in all U.S.
145
- States and the District of Columbia.
146
- Please be advised that insurance coverage cannot be added, deleted or otherwise changed until it is confirmed in writing by Simply Business or your insurance carrier.
147
- Simply Business has its registered office at Simply Business, 1 Beacon Street, 15th Floor, Boston, MA 02108, (844) 654-7272.
148
- In the state of California, we operate under the name Simply Business Insurance Agency, Inc., License #0M20593.
149
- In the state of New York we operate under the name Simply Business Insurance Agency.
150
- In the state of Texas we operate under the name, U.S. Simply Business, Inc.
151
- For more information, please refer to our
152
- <a href="https://www.simplybusiness.com/privacy-policy/" target="_blank">Privacy Policy</a>
153
- and
154
- <a href="https://www.simplybusiness.com/terms-conditions/" target="_blank">Terms &amp; Conditions.</a>
155
- </p>
156
- `,
157
- withLogo: true,
158
- },
159
- decorators: [
160
- Story => (_jsx(ThemeContext.Provider, Object.assign({ value: {
161
- breakpoints,
162
- setBreakpoints,
163
- } }, { children: _jsx(Story, {}) }))),
164
- ],
165
- };
166
- //# sourceMappingURL=Footer.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.stories.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Footer/Footer.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import { Footer } from ".";
4
- const FOOTER_CLASS_NAME = "chopin/Footer";
5
- const HEADING_CLASS_NAME = "chopin/FooterHeader";
6
- const CONTENT_CLASS_NAME = "chopin/FooterContent";
7
- const ONE_REGION_CLASS_NAME = "--one-region";
8
- const MANY_REGION_CLASS_NAME = "--many-regions";
9
- const FOOTER_LINK_CLASS_NAME = "chopin/FooterLegalLink";
10
- const props = {
11
- text: "footer test text",
12
- };
13
- const singleAddress = [["test_1", "test_2"]];
14
- const multiAddress = [
15
- ["test_1", "test_2"],
16
- ["test_3", "test_4"],
17
- ];
18
- const legalLinks = [{ href: "test_1", text: "test_1" }];
19
- describe("Footer", () => {
20
- it("should render without errors", () => {
21
- const component = render(_jsx(Footer, Object.assign({}, props)));
22
- expect(component).toBeTruthy();
23
- });
24
- describe("uses correct class names", () => {
25
- it("uses Chopin class", () => {
26
- render(_jsx(Footer, Object.assign({}, props, { "data-testid": "test-id" })));
27
- expect(screen.getByTestId("test-id")).toHaveClass("chopin");
28
- });
29
- it("uses chopin/Footer class", () => {
30
- render(_jsx(Footer, Object.assign({}, props, { "data-testid": "test-id" })));
31
- expect(screen.getByTestId("test-id")).toHaveClass(FOOTER_CLASS_NAME);
32
- });
33
- it("includes custom class name", () => {
34
- render(_jsx(Footer, Object.assign({}, props, { "data-testid": "test-id", className: "my-class" })));
35
- expect(screen.getByTestId("test-id")).toHaveClass("my-class");
36
- expect(screen.getByTestId("test-id")).toHaveClass(FOOTER_CLASS_NAME);
37
- });
38
- it("uses content class name", () => {
39
- render(_jsx(Footer, Object.assign({}, props)));
40
- expect(screen.getByTestId("FooterContent")).toHaveClass(CONTENT_CLASS_NAME);
41
- });
42
- it("uses heading class name", () => {
43
- render(_jsx(Footer, Object.assign({}, props, { address: singleAddress, legalLinks: legalLinks })));
44
- expect(screen.getByRole("heading", {
45
- name: /address/i,
46
- })).toHaveClass(HEADING_CLASS_NAME);
47
- expect(screen.getByRole("heading", {
48
- name: /legal/i,
49
- })).toHaveClass(HEADING_CLASS_NAME);
50
- });
51
- it("uses --one-region class name with single address", () => {
52
- render(_jsx(Footer, Object.assign({}, props, { address: singleAddress })));
53
- expect(screen.getByTestId("FooterContent")).toHaveClass(ONE_REGION_CLASS_NAME);
54
- });
55
- it("uses --many-region class name with several addresses", () => {
56
- render(_jsx(Footer, Object.assign({}, props, { address: multiAddress })));
57
- expect(screen.getByTestId("FooterContent")).toHaveClass(MANY_REGION_CLASS_NAME);
58
- });
59
- it("uses footer link class name", () => {
60
- render(_jsx(Footer, Object.assign({}, props, { address: singleAddress, legalLinks: legalLinks })));
61
- const footerLink = screen.getByRole("link", {
62
- name: /test_1/i,
63
- });
64
- expect(footerLink).toHaveClass(FOOTER_LINK_CLASS_NAME);
65
- });
66
- });
67
- describe("renders correct elements based on passed props", () => {
68
- it("renders link block if address and legalLinks props are provided", () => {
69
- render(_jsx(Footer, Object.assign({}, props, { address: singleAddress, legalLinks: legalLinks })));
70
- expect(screen.queryByRole("link", {
71
- name: /test_1/i,
72
- })).toBeInTheDocument();
73
- });
74
- it("doesn't render link block if address and legalLinks props are not provided", () => {
75
- render(_jsx(Footer, Object.assign({}, props)));
76
- expect(screen.queryByRole("link", {
77
- name: /test_1/i,
78
- })).not.toBeInTheDocument();
79
- });
80
- it("renders footer text", () => {
81
- render(_jsx(Footer, Object.assign({}, props)));
82
- expect(screen.getByText(props.text)).toBeInTheDocument();
83
- });
84
- it("renders footer logo if withLogo prop is true", () => {
85
- render(_jsx(Footer, Object.assign({}, props, { withLogo: true })));
86
- expect(screen.getByRole("img", { hidden: true })).toBeInTheDocument();
87
- });
88
- });
89
- });
90
- //# sourceMappingURL=Footer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Footer/Footer.test.tsx"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Header } from ".";
3
- import { excludeControls } from "../../../utils/excludeControls";
4
- export default {
5
- title: "Chopin/Header",
6
- component: Header,
7
- argTypes: excludeControls("className", "openingHours"),
8
- args: {
9
- openingHours: {
10
- Mon: "8am-8pm",
11
- Tue: "8am-8pm",
12
- Wed: "8am-8pm",
13
- Thu: "8am-8pm",
14
- Fri: "8am-8pm",
15
- "<strong>Sat</strong>": "<strong>Closed</strong>",
16
- "<strong>Sun</strong>": "<strong>Closed</strong>",
17
- },
18
- },
19
- };
20
- export const Normal = {
21
- render: (args) => (_jsx("div", { children: _jsx(Header, Object.assign({}, args)) })),
22
- args: {
23
- phone: "0333 014 6683",
24
- whiteLabel: false,
25
- url: "https://www.example.com/",
26
- },
27
- };
28
- export const WhiteLabel = {
29
- render: (args) => (_jsx("div", Object.assign({ style: {
30
- height: 300,
31
- } }, { children: _jsx(Header, Object.assign({}, args)) }))),
32
- args: {
33
- phone: "(855) 737-0087",
34
- whiteLabel: true,
35
- url: "https://www.example.com/",
36
- },
37
- };
38
- //# sourceMappingURL=Header.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.stories.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Header/Header.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAe,MAAM,GAAG,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,eAAe;IACb,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAAC;IACtD,IAAI,EAAE;QACJ,YAAY,EAAE;YACZ,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,SAAS;YACd,sBAAsB,EAAE,yBAAyB;YACjD,sBAAsB,EAAE,yBAAyB;SAClD;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAwB;IACzC,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,CAC7B,wBACE,KAAC,MAAM,oBAAK,IAAI,EAAI,GAChB,CACP;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,eAAe;QACtB,UAAU,EAAE,KAAK;QACjB,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,MAAM,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,CAC7B,4BACE,KAAK,EAAE;YACL,MAAM,EAAE,GAAG;SACZ,gBAED,KAAC,MAAM,oBAAK,IAAI,EAAI,IAChB,CACP;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,gBAAgB;QACvB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAC"}
@@ -1,86 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import { Header, LOGO_LINK } from ".";
4
- const HEADER_CLASS_NAME = "chopin/Header";
5
- const LOGO_CLASS_NAME = "chopin/HeaderLogo";
6
- const CONTACT_CLASS_NAME = "chopin/HeaderContactLink";
7
- const PHONE_NUMBER_CLASS_NAME = "chopin/HeaderPhoneNumber";
8
- const props = {
9
- phone: "0333 014 6683",
10
- };
11
- describe("Header", () => {
12
- it("should render without errors", () => {
13
- const component = render(_jsx(Header, Object.assign({}, props)));
14
- expect(component).toBeTruthy();
15
- });
16
- describe("uses correct class names", () => {
17
- it("uses Chopin class", () => {
18
- render(_jsx(Header, Object.assign({}, props, { "data-testid": "test-id" })));
19
- expect(screen.getByTestId("test-id")).toHaveClass("chopin");
20
- });
21
- it("uses chopin/Header class", () => {
22
- render(_jsx(Header, Object.assign({}, props, { "data-testid": "test-id" })));
23
- expect(screen.getByTestId("test-id")).toHaveClass(HEADER_CLASS_NAME);
24
- });
25
- it("includes custom class name", () => {
26
- render(_jsx(Header, Object.assign({}, props, { "data-testid": "test-id", className: "my-class" })));
27
- expect(screen.getByTestId("test-id")).toHaveClass("my-class");
28
- expect(screen.getByTestId("test-id")).toHaveClass(HEADER_CLASS_NAME);
29
- });
30
- it("uses logo class name", () => {
31
- render(_jsx(Header, Object.assign({}, props)));
32
- const link = screen.getByRole("link", {
33
- name: /simply business - insurance for your business/i,
34
- });
35
- expect(link).toHaveClass(LOGO_CLASS_NAME);
36
- });
37
- it("uses contact link class name", () => {
38
- render(_jsx(Header, Object.assign({}, props)));
39
- const link = screen.getByRole("link", {
40
- name: /see our opening hours/i,
41
- });
42
- expect(link).toHaveClass(CONTACT_CLASS_NAME);
43
- });
44
- it("uses phone number class name", () => {
45
- render(_jsx(Header, Object.assign({}, props)));
46
- const phoneNumberEl = screen.getByText(props.phone);
47
- expect(phoneNumberEl).toHaveClass(PHONE_NUMBER_CLASS_NAME);
48
- });
49
- });
50
- describe("renders correct elements based on passed props", () => {
51
- it("renders passed Phone prop", () => {
52
- render(_jsx(Header, Object.assign({}, props)));
53
- expect(screen.getByText(props.phone)).toBeInTheDocument();
54
- });
55
- it("renders Logo element as Link by default", () => {
56
- render(_jsx(Header, Object.assign({}, props)));
57
- const link = screen.getByRole("link", {
58
- name: /simply business - insurance for your business/i,
59
- });
60
- expect(link).toHaveAttribute("href", LOGO_LINK);
61
- });
62
- it("doesn't render Logo as Link when whiteLabel prop is true", () => {
63
- render(_jsx(Header, Object.assign({}, props, { whiteLabel: true })));
64
- expect(screen.queryByRole("link", {
65
- name: /simply business - insurance for your business/i,
66
- })).not.toBeInTheDocument();
67
- });
68
- it("renders Opening Hours element as Link by default", () => {
69
- render(_jsx(Header, Object.assign({}, props)));
70
- const link = screen.getByRole("link", {
71
- name: /see our opening hours/i,
72
- });
73
- expect(link).toHaveAttribute("href", "https://www.simplybusiness.co.uk/support/");
74
- });
75
- it("renders Opening Hours element as Button when whiteLabel prop is true", () => {
76
- render(_jsx(Header, Object.assign({}, props, { whiteLabel: true })));
77
- expect(screen.queryByRole("link", {
78
- name: /see our opening hours/i,
79
- })).not.toBeInTheDocument();
80
- expect(screen.getByRole("button", {
81
- name: /see our opening hours/i,
82
- })).toBeInTheDocument();
83
- });
84
- });
85
- });
86
- //# sourceMappingURL=Header.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/Header/Header.test.tsx"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useContext, useEffect } from "react";
3
- import { ThemeProvider, ThemeContext, } from "../../../contexts";
4
- import { PercentageTotalsQuestion, } from "./PercentageTotalsQuestion";
5
- import { excludeControls } from "../../../utils/excludeControls";
6
- const breakpoints = [
7
- { size: "xs", value: 320 },
8
- { size: "sm", value: 480 },
9
- { size: "md", value: 670 },
10
- { size: "lg", value: 960 },
11
- { size: "xl", value: 1200 },
12
- { size: "xxl", value: 1320 },
13
- ];
14
- export default {
15
- title: "Chopin/PercentageTotalsQuestion",
16
- component: PercentageTotalsQuestion,
17
- argTypes: excludeControls("className", "help", "onChange", "closeHelpOnOutsideClick"),
18
- decorators: [
19
- Story => (_jsx(ThemeProvider, { children: _jsx(Story, {}) })),
20
- ],
21
- };
22
- export const Normal = {
23
- render: (args) => {
24
- // eslint-disable-next-line
25
- const { setBreakpoints } = useContext(ThemeContext);
26
- // eslint-disable-next-line
27
- useEffect(() => {
28
- setBreakpoints(breakpoints);
29
- }, [setBreakpoints]);
30
- return _jsx(PercentageTotalsQuestion, Object.assign({}, args));
31
- },
32
- args: {
33
- label: "What percentage of your work is on?",
34
- alertText: "The total percentage of your work must be 100%",
35
- items: [
36
- "UK contracts",
37
- "EU contracts",
38
- "USA and Canada contracts",
39
- "Rest of the world contracts",
40
- ],
41
- },
42
- };
43
- //# sourceMappingURL=PercentageTotalsQuestion.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PercentageTotalsQuestion.stories.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EACL,aAAa,EACb,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,MAAM,WAAW,GAAG;IAClB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;CACV,CAAC;AAErB,eAAe;IACb,KAAK,EAAE,iCAAiC;IACxC,SAAS,EAAE,wBAAwB;IACnC,QAAQ,EAAE,eAAe,CACvB,WAAW,EACX,MAAM,EACN,UAAU,EACV,yBAAyB,CAC1B;IACD,UAAU,EAAE;QACV,KAAK,CAAC,EAAE,CAAC,CACP,KAAC,aAAa,cACZ,KAAC,KAAK,KAAG,GACK,CACjB;KACF;CAC8C,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAA0C;IAC3D,MAAM,EAAE,CAAC,IAAmC,EAAE,EAAE;QAC9C,2BAA2B;QAC3B,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAEpD,2BAA2B;QAC3B,SAAS,CAAC,GAAG,EAAE;YACb,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QAErB,OAAO,KAAC,wBAAwB,oBAAK,IAAI,EAAI,CAAC;IAChD,CAAC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,qCAAqC;QAC5C,SAAS,EAAE,gDAAgD;QAC3D,KAAK,EAAE;YACL,cAAc;YACd,cAAc;YACd,0BAA0B;YAC1B,6BAA6B;SAC9B;KACF;CACF,CAAC"}
@@ -1,108 +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 { PercentageTotalsQuestion } from ".";
5
- const LABEL = "How do you split your time across these items?";
6
- const THREE_ITEMS = ["Item 1", "Item 2", "Item 3"];
7
- const FIVE_ITEMS = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"];
8
- describe("PercentageTotalsQuestion", () => {
9
- it("should render without errors", () => {
10
- const label = "This is my custom label";
11
- const { container } = render(_jsx(PercentageTotalsQuestion, { label: label, items: THREE_ITEMS }));
12
- expect(screen.getByText(label)).toBeInTheDocument();
13
- const items = container.getElementsByClassName("mobius/NumberField");
14
- expect(items.length).toBe(3);
15
- });
16
- it("should display custom alert message", () => {
17
- const alertText = "This is my alert!";
18
- render(_jsx(PercentageTotalsQuestion, { label: LABEL, alertText: alertText, items: FIVE_ITEMS }));
19
- expect(screen.getByText(alertText)).toBeInTheDocument();
20
- });
21
- it("should render a row for every item", () => {
22
- const { container } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: FIVE_ITEMS }));
23
- const items = container.getElementsByClassName("mobius/NumberField");
24
- expect(items.length).toBe(5);
25
- });
26
- describe("Calculations", () => {
27
- it("should correctly total the sum of typed item values", async () => {
28
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
29
- await userEvent.type(getByLabelText("Item 1"), "25");
30
- expect(screen.getByText("Total: 25%")).toBeInTheDocument();
31
- await userEvent.type(getByLabelText("Item 2"), "37");
32
- expect(screen.getByText("Total: 62%")).toBeInTheDocument();
33
- await userEvent.type(getByLabelText("Item 3"), "13");
34
- expect(screen.getByText("Total: 75%")).toBeInTheDocument();
35
- });
36
- it("should prevent any typed input that exceeds a total of 100%", async () => {
37
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
38
- const inputs = THREE_ITEMS.map(i => screen.getByLabelText(i, { selector: "input" }));
39
- await userEvent.type(getByLabelText("Item 1"), "123");
40
- expect(inputs[0]).toHaveValue("100%");
41
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
42
- await userEvent.type(getByLabelText("Item 2"), "37");
43
- expect(inputs[1]).toHaveValue("0%");
44
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
45
- await userEvent.type(getByLabelText("Item 3"), "13");
46
- expect(inputs[2]).toHaveValue("0%");
47
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
48
- });
49
- it("supports keyboard navigation and up/down arrows to increase/decrease", async () => {
50
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
51
- const inputs = THREE_ITEMS.map(i => screen.getByLabelText(i, { selector: "input" }));
52
- await userEvent.type(getByLabelText("Item 1"), "30");
53
- expect(inputs[0]).toHaveValue("30%");
54
- expect(screen.getByText("Total: 30%")).toBeInTheDocument();
55
- await userEvent.tab(); // Move focus to Item 2
56
- await userEvent.keyboard("[ArrowUp]");
57
- await userEvent.keyboard("[ArrowUp]");
58
- await userEvent.keyboard("[ArrowUp]");
59
- expect(inputs[1]).toHaveValue("3%");
60
- expect(screen.getByText("Total: 33%")).toBeInTheDocument();
61
- await userEvent.keyboard("[ArrowDown]");
62
- expect(inputs[1]).toHaveValue("2%");
63
- expect(screen.getByText("Total: 32%")).toBeInTheDocument();
64
- });
65
- it("should prevent changing any initial value above 100", async () => {
66
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
67
- const inputs = THREE_ITEMS.map(i => screen.getByLabelText(i, { selector: "input" }));
68
- await userEvent.type(getByLabelText("Item 1"), "9");
69
- expect(inputs[0]).toHaveValue("9%");
70
- expect(screen.getByText("Total: 9%")).toBeInTheDocument();
71
- await userEvent.type(getByLabelText("Item 1"), "9");
72
- expect(inputs[0]).toHaveValue("99%");
73
- expect(screen.getByText("Total: 99%")).toBeInTheDocument();
74
- await userEvent.type(getByLabelText("Item 1"), "9");
75
- expect(inputs[0]).toHaveValue("100%");
76
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
77
- });
78
- it("should prevent changing any subsequent value above remaining percentage", async () => {
79
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
80
- const inputs = THREE_ITEMS.map(i => screen.getByLabelText(i, { selector: "input" }));
81
- await userEvent.type(getByLabelText("Item 1"), "75");
82
- expect(inputs[0]).toHaveValue("75%");
83
- expect(screen.getByText("Total: 75%")).toBeInTheDocument();
84
- await userEvent.type(getByLabelText("Item 2"), "40");
85
- expect(inputs[1]).toHaveValue("25%");
86
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
87
- });
88
- it("sets maxValue on each item based upon remaining percentage", async () => {
89
- const { getByLabelText } = render(_jsx(PercentageTotalsQuestion, { label: LABEL, items: THREE_ITEMS }));
90
- const inputs = THREE_ITEMS.map(i => screen.getByLabelText(i, { selector: "input" }));
91
- await userEvent.type(getByLabelText("Item 1"), "98");
92
- expect(inputs[0]).toHaveValue("98%");
93
- expect(screen.getByText("Total: 98%")).toBeInTheDocument();
94
- // Click increment button on second item until it is disabled
95
- await userEvent.click(getByLabelText(`Increase ${THREE_ITEMS[1]}`));
96
- expect(inputs[1]).toHaveValue("1%");
97
- expect(screen.getByText("Total: 99%")).toBeInTheDocument();
98
- await userEvent.click(getByLabelText(`Increase ${THREE_ITEMS[1]}`));
99
- expect(inputs[1]).toHaveValue("2%");
100
- expect(screen.getByText("Total: 100%")).toBeInTheDocument();
101
- // All increase buttons should be disabled
102
- expect(getByLabelText(`Increase ${THREE_ITEMS[0]}`)).toBeDisabled();
103
- expect(getByLabelText(`Increase ${THREE_ITEMS[1]}`)).toBeDisabled();
104
- expect(getByLabelText(`Increase ${THREE_ITEMS[2]}`)).toBeDisabled();
105
- });
106
- });
107
- });
108
- //# sourceMappingURL=PercentageTotalsQuestion.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PercentageTotalsQuestion.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.tsx"],"names":[],"mappings":"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"}