@simplybusiness/mobius 3.9.3 → 3.10.0

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 (219) hide show
  1. package/CHANGELOG.md +9 -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/src/components/NumberField/__snapshots__/NumberField.test.tsx.snap +7 -14
  6. package/dist/esm/components/Accordion/Accordion.stories.js +0 -45
  7. package/dist/esm/components/Accordion/Accordion.stories.js.map +0 -1
  8. package/dist/esm/components/Accordion/Accordion.test.js +0 -65
  9. package/dist/esm/components/Accordion/Accordion.test.js.map +0 -1
  10. package/dist/esm/components/Alert/Alert.stories.js +0 -32
  11. package/dist/esm/components/Alert/Alert.stories.js.map +0 -1
  12. package/dist/esm/components/Alert/Alert.test.js +0 -48
  13. package/dist/esm/components/Alert/Alert.test.js.map +0 -1
  14. package/dist/esm/components/Box/Box.stories.js +0 -20
  15. package/dist/esm/components/Box/Box.stories.js.map +0 -1
  16. package/dist/esm/components/Box/Box.test.js +0 -31
  17. package/dist/esm/components/Box/Box.test.js.map +0 -1
  18. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js +0 -17
  19. package/dist/esm/components/Breadcrumbs/Breadcrumbs.stories.js.map +0 -1
  20. package/dist/esm/components/Breadcrumbs/Breadcrumbs.test.js +0 -33
  21. package/dist/esm/components/Breadcrumbs/Breadcrumbs.test.js.map +0 -1
  22. package/dist/esm/components/Button/Button.stories.js +0 -213
  23. package/dist/esm/components/Button/Button.stories.js.map +0 -1
  24. package/dist/esm/components/Button/Button.test.js +0 -81
  25. package/dist/esm/components/Button/Button.test.js.map +0 -1
  26. package/dist/esm/components/Checkbox/Checkbox.stories.js +0 -98
  27. package/dist/esm/components/Checkbox/Checkbox.stories.js.map +0 -1
  28. package/dist/esm/components/Checkbox/Checkbox.test.js +0 -108
  29. package/dist/esm/components/Checkbox/Checkbox.test.js.map +0 -1
  30. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js +0 -71
  31. package/dist/esm/components/Checkbox/CheckboxGroup.stories.js.map +0 -1
  32. package/dist/esm/components/Checkbox/CheckboxGroup.test.js +0 -44
  33. package/dist/esm/components/Checkbox/CheckboxGroup.test.js.map +0 -1
  34. package/dist/esm/components/Chopin/Actions/Actions.stories.js +0 -56
  35. package/dist/esm/components/Chopin/Actions/Actions.stories.js.map +0 -1
  36. package/dist/esm/components/Chopin/Actions/Actions.test.js +0 -95
  37. package/dist/esm/components/Chopin/Actions/Actions.test.js.map +0 -1
  38. package/dist/esm/components/Chopin/Actions/LinkOrButton.test.js +0 -33
  39. package/dist/esm/components/Chopin/Actions/LinkOrButton.test.js.map +0 -1
  40. package/dist/esm/components/Chopin/Footer/Footer.stories.js +0 -166
  41. package/dist/esm/components/Chopin/Footer/Footer.stories.js.map +0 -1
  42. package/dist/esm/components/Chopin/Footer/Footer.test.js +0 -90
  43. package/dist/esm/components/Chopin/Footer/Footer.test.js.map +0 -1
  44. package/dist/esm/components/Chopin/Header/Header.stories.js +0 -38
  45. package/dist/esm/components/Chopin/Header/Header.stories.js.map +0 -1
  46. package/dist/esm/components/Chopin/Header/Header.test.js +0 -86
  47. package/dist/esm/components/Chopin/Header/Header.test.js.map +0 -1
  48. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js +0 -43
  49. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.stories.js.map +0 -1
  50. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js +0 -108
  51. package/dist/esm/components/Chopin/PercentageTotalsQuestion/PercentageTotalsQuestion.test.js.map +0 -1
  52. package/dist/esm/components/Chopin/Question/Question.stories.js +0 -136
  53. package/dist/esm/components/Chopin/Question/Question.stories.js.map +0 -1
  54. package/dist/esm/components/Chopin/Question/Question.test.js +0 -116
  55. package/dist/esm/components/Chopin/Question/Question.test.js.map +0 -1
  56. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js +0 -40
  57. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.stories.js.map +0 -1
  58. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.test.js +0 -62
  59. package/dist/esm/components/Chopin/QuestionGroup/QuestionGroup.test.js.map +0 -1
  60. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.test.js +0 -41
  61. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.test.js.map +0 -1
  62. package/dist/esm/components/Chopin/Section/Section.stories.js +0 -16
  63. package/dist/esm/components/Chopin/Section/Section.stories.js.map +0 -1
  64. package/dist/esm/components/Chopin/Section/Section.test.js +0 -35
  65. package/dist/esm/components/Chopin/Section/Section.test.js.map +0 -1
  66. package/dist/esm/components/Chopin/Steps/Steps.stories.js +0 -12
  67. package/dist/esm/components/Chopin/Steps/Steps.stories.js.map +0 -1
  68. package/dist/esm/components/Chopin/Steps/Steps.test.js +0 -93
  69. package/dist/esm/components/Chopin/Steps/Steps.test.js.map +0 -1
  70. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js +0 -15
  71. package/dist/esm/components/Chopin/Testimonial/Testimonial.stories.js.map +0 -1
  72. package/dist/esm/components/Chopin/Testimonial/Testimonial.test.js +0 -35
  73. package/dist/esm/components/Chopin/Testimonial/Testimonial.test.js.map +0 -1
  74. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js +0 -26
  75. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js.map +0 -1
  76. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js +0 -37
  77. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js.map +0 -1
  78. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +0 -86
  79. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js.map +0 -1
  80. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +0 -52
  81. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js.map +0 -1
  82. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js +0 -52
  83. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.stories.js.map +0 -1
  84. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js +0 -226
  85. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js.map +0 -1
  86. package/dist/esm/components/Container/Container.stories.js +0 -12
  87. package/dist/esm/components/Container/Container.stories.js.map +0 -1
  88. package/dist/esm/components/Container/Container.test.js +0 -37
  89. package/dist/esm/components/Container/Container.test.js.map +0 -1
  90. package/dist/esm/components/DataTable/DataTable.stories.js +0 -174
  91. package/dist/esm/components/DataTable/DataTable.stories.js.map +0 -1
  92. package/dist/esm/components/DataTable/DataTable.test.js +0 -119
  93. package/dist/esm/components/DataTable/DataTable.test.js.map +0 -1
  94. package/dist/esm/components/DatePicker/DatePicker.stories.js +0 -25
  95. package/dist/esm/components/DatePicker/DatePicker.stories.js.map +0 -1
  96. package/dist/esm/components/Divider/Divider.stories.js +0 -12
  97. package/dist/esm/components/Divider/Divider.stories.js.map +0 -1
  98. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js +0 -58
  99. package/dist/esm/components/DropdownMenu/DropdownMenu.stories.js.map +0 -1
  100. package/dist/esm/components/DropdownMenu/DropdownMenu.test.js +0 -95
  101. package/dist/esm/components/DropdownMenu/DropdownMenu.test.js.map +0 -1
  102. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js +0 -21
  103. package/dist/esm/components/ErrorMessage/ErrorMessage.stories.js.map +0 -1
  104. package/dist/esm/components/ErrorMessage/ErrorMessage.test.js +0 -30
  105. package/dist/esm/components/ErrorMessage/ErrorMessage.test.js.map +0 -1
  106. package/dist/esm/components/Fieldset/Fieldset.stories.js +0 -22
  107. package/dist/esm/components/Fieldset/Fieldset.stories.js.map +0 -1
  108. package/dist/esm/components/Fieldset/Fieldset.test.js +0 -10
  109. package/dist/esm/components/Fieldset/Fieldset.test.js.map +0 -1
  110. package/dist/esm/components/Flex/Flex.stories.js +0 -148
  111. package/dist/esm/components/Flex/Flex.stories.js.map +0 -1
  112. package/dist/esm/components/Flex/Flex.test.js +0 -31
  113. package/dist/esm/components/Flex/Flex.test.js.map +0 -1
  114. package/dist/esm/components/Grid/Grid.stories.js +0 -227
  115. package/dist/esm/components/Grid/Grid.stories.js.map +0 -1
  116. package/dist/esm/components/Grid/Grid.test.js +0 -95
  117. package/dist/esm/components/Grid/Grid.test.js.map +0 -1
  118. package/dist/esm/components/Icon/Icon.stories.js +0 -43
  119. package/dist/esm/components/Icon/Icon.stories.js.map +0 -1
  120. package/dist/esm/components/Icon/Icon.test.js +0 -52
  121. package/dist/esm/components/Icon/Icon.test.js.map +0 -1
  122. package/dist/esm/components/Image/Image.stories.js +0 -17
  123. package/dist/esm/components/Image/Image.stories.js.map +0 -1
  124. package/dist/esm/components/Image/Image.test.js +0 -37
  125. package/dist/esm/components/Image/Image.test.js.map +0 -1
  126. package/dist/esm/components/Label/Label.stories.js +0 -15
  127. package/dist/esm/components/Label/Label.stories.js.map +0 -1
  128. package/dist/esm/components/Label/Label.test.js +0 -35
  129. package/dist/esm/components/Label/Label.test.js.map +0 -1
  130. package/dist/esm/components/Link/Link.stories.js +0 -41
  131. package/dist/esm/components/Link/Link.stories.js.map +0 -1
  132. package/dist/esm/components/Link/Link.test.js +0 -65
  133. package/dist/esm/components/Link/Link.test.js.map +0 -1
  134. package/dist/esm/components/LinkButton/LinkButton.stories.js +0 -42
  135. package/dist/esm/components/LinkButton/LinkButton.stories.js.map +0 -1
  136. package/dist/esm/components/LinkButton/LinkButton.test.js +0 -62
  137. package/dist/esm/components/LinkButton/LinkButton.test.js.map +0 -1
  138. package/dist/esm/components/List/List.stories.js +0 -77
  139. package/dist/esm/components/List/List.stories.js.map +0 -1
  140. package/dist/esm/components/List/List.test.js +0 -93
  141. package/dist/esm/components/List/List.test.js.map +0 -1
  142. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js +0 -50
  143. package/dist/esm/components/LoadingIndicator/LoadingIndicator.stories.js.map +0 -1
  144. package/dist/esm/components/LoadingIndicator/LoadingIndicator.test.js +0 -27
  145. package/dist/esm/components/LoadingIndicator/LoadingIndicator.test.js.map +0 -1
  146. package/dist/esm/components/MaskedField/MaskedField.stories.js +0 -22
  147. package/dist/esm/components/MaskedField/MaskedField.stories.js.map +0 -1
  148. package/dist/esm/components/MaskedField/MaskedField.test.js +0 -64
  149. package/dist/esm/components/MaskedField/MaskedField.test.js.map +0 -1
  150. package/dist/esm/components/Modal/Modal.stories.js +0 -79
  151. package/dist/esm/components/Modal/Modal.stories.js.map +0 -1
  152. package/dist/esm/components/Modal/Modal.test.js +0 -135
  153. package/dist/esm/components/Modal/Modal.test.js.map +0 -1
  154. package/dist/esm/components/NumberField/NumberField.stories.js +0 -103
  155. package/dist/esm/components/NumberField/NumberField.stories.js.map +0 -1
  156. package/dist/esm/components/NumberField/NumberField.test.js +0 -81
  157. package/dist/esm/components/NumberField/NumberField.test.js.map +0 -1
  158. package/dist/esm/components/PasswordField/PasswordField.stories.js +0 -31
  159. package/dist/esm/components/PasswordField/PasswordField.stories.js.map +0 -1
  160. package/dist/esm/components/PasswordField/PasswordField.test.js +0 -29
  161. package/dist/esm/components/PasswordField/PasswordField.test.js.map +0 -1
  162. package/dist/esm/components/Progress/Progress.stories.js +0 -89
  163. package/dist/esm/components/Progress/Progress.stories.js.map +0 -1
  164. package/dist/esm/components/Progress/Progress.test.js +0 -32
  165. package/dist/esm/components/Progress/Progress.test.js.map +0 -1
  166. package/dist/esm/components/Radio/Radio.stories.js +0 -118
  167. package/dist/esm/components/Radio/Radio.stories.js.map +0 -1
  168. package/dist/esm/components/Radio/Radio.test.js +0 -139
  169. package/dist/esm/components/Radio/Radio.test.js.map +0 -1
  170. package/dist/esm/components/Radio/RadioButton.stories.js +0 -88
  171. package/dist/esm/components/Radio/RadioButton.stories.js.map +0 -1
  172. package/dist/esm/components/Radio/RadioButton.test.js +0 -118
  173. package/dist/esm/components/Radio/RadioButton.test.js.map +0 -1
  174. package/dist/esm/components/SVG/SVG.stories.js +0 -19
  175. package/dist/esm/components/SVG/SVG.stories.js.map +0 -1
  176. package/dist/esm/components/SVG/SVG.test.js +0 -26
  177. package/dist/esm/components/SVG/SVG.test.js.map +0 -1
  178. package/dist/esm/components/Segment/Segment.stories.js +0 -112
  179. package/dist/esm/components/Segment/Segment.stories.js.map +0 -1
  180. package/dist/esm/components/Select/Select.stories.js +0 -79
  181. package/dist/esm/components/Select/Select.stories.js.map +0 -1
  182. package/dist/esm/components/Select/Select.test.js +0 -94
  183. package/dist/esm/components/Select/Select.test.js.map +0 -1
  184. package/dist/esm/components/Slider/Slider.stories.js +0 -63
  185. package/dist/esm/components/Slider/Slider.stories.js.map +0 -1
  186. package/dist/esm/components/Slider/Slider.test.js +0 -58
  187. package/dist/esm/components/Slider/Slider.test.js.map +0 -1
  188. package/dist/esm/components/Table/Table.stories.js +0 -15
  189. package/dist/esm/components/Table/Table.stories.js.map +0 -1
  190. package/dist/esm/components/Table/Table.test.js +0 -73
  191. package/dist/esm/components/Table/Table.test.js.map +0 -1
  192. package/dist/esm/components/Text/Text.stories.js +0 -31
  193. package/dist/esm/components/Text/Text.stories.js.map +0 -1
  194. package/dist/esm/components/Text/Text.test.js +0 -31
  195. package/dist/esm/components/Text/Text.test.js.map +0 -1
  196. package/dist/esm/components/TextArea/TextArea.stories.js +0 -80
  197. package/dist/esm/components/TextArea/TextArea.stories.js.map +0 -1
  198. package/dist/esm/components/TextArea/TextArea.test.js +0 -84
  199. package/dist/esm/components/TextArea/TextArea.test.js.map +0 -1
  200. package/dist/esm/components/TextAreaInput/TextAreaInput.test.js +0 -42
  201. package/dist/esm/components/TextAreaInput/TextAreaInput.test.js.map +0 -1
  202. package/dist/esm/components/TextField/TextField.stories.js +0 -103
  203. package/dist/esm/components/TextField/TextField.stories.js.map +0 -1
  204. package/dist/esm/components/TextField/TextField.test.js +0 -123
  205. package/dist/esm/components/TextField/TextField.test.js.map +0 -1
  206. package/dist/esm/components/Title/Title.stories.js +0 -16
  207. package/dist/esm/components/Title/Title.stories.js.map +0 -1
  208. package/dist/esm/components/Title/Title.test.js +0 -20
  209. package/dist/esm/components/Title/Title.test.js.map +0 -1
  210. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js +0 -12
  211. package/dist/esm/components/VisuallyHidden/VisuallyHidden.stories.js.map +0 -1
  212. package/dist/esm/contexts/ThemeContext/ThemeContext.test.js +0 -10
  213. package/dist/esm/contexts/ThemeContext/ThemeContext.test.js.map +0 -1
  214. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js +0 -40
  215. package/dist/esm/hooks/useBreakpoint/useBreakpoint.stories.js.map +0 -1
  216. package/dist/esm/hooks/useBreakpoint/useBreakpoint.test.js +0 -242
  217. package/dist/esm/hooks/useBreakpoint/useBreakpoint.test.js.map +0 -1
  218. package/dist/esm/hooks/useButton/useButton.test.js +0 -141
  219. package/dist/esm/hooks/useButton/useButton.test.js.map +0 -1
@@ -1,52 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { TradeSelector } from ".";
3
- import { excludeControls } from "../../../utils/excludeControls";
4
- export default {
5
- title: "Chopin/TradeSelector",
6
- component: TradeSelector,
7
- argTypes: Object.assign({ onTradeSelected: {
8
- action: "onTradeSelected",
9
- } }, excludeControls("className", "labels", "urls", "onTradeSelected", "elementType", "aria-describedby", "data-cy")),
10
- };
11
- export const Normal = {
12
- render: (args) => _jsx(TradeSelector, Object.assign({}, args)),
13
- args: {
14
- minInput: 3,
15
- apiRequestDebounceInMs: 250,
16
- initialTrade: "",
17
- hideLabel: false,
18
- vertical: "",
19
- },
20
- };
21
- export const WithoutLabel = {
22
- render: (args) => _jsx(TradeSelector, Object.assign({}, args)),
23
- args: {
24
- minInput: 3,
25
- apiRequestDebounceInMs: 250,
26
- initialTrade: "",
27
- hideLabel: true,
28
- vertical: "",
29
- },
30
- };
31
- export const WithTrade = {
32
- render: (args) => _jsx(TradeSelector, Object.assign({}, args)),
33
- args: {
34
- minInput: 3,
35
- apiRequestDebounceInMs: 250,
36
- initialTrade: "Landlord",
37
- hideLabel: false,
38
- vertical: "",
39
- },
40
- };
41
- export const WithSearchScope = {
42
- render: (args) => _jsx(TradeSelector, Object.assign({}, args)),
43
- args: {
44
- minInput: 3,
45
- apiRequestDebounceInMs: 250,
46
- initialTrade: "",
47
- hideLabel: false,
48
- vertical: "business",
49
- searchScope: "current_vertical",
50
- },
51
- };
52
- //# sourceMappingURL=TradeSelector.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TradeSelector.stories.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/TradeSelector/TradeSelector.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAsB,MAAM,GAAG,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,aAAa;IACxB,QAAQ,kBACN,eAAe,EAAE;YACf,MAAM,EAAE,iBAAiB;SAC1B,IACE,eAAe,CAChB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,SAAS,CACV,CACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAA+B;IAChD,MAAM,EAAE,CAAC,IAAwB,EAAE,EAAE,CAAC,KAAC,aAAa,oBAAK,IAAI,EAAI;IACjE,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,sBAAsB,EAAE,GAAG;QAC3B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,MAAM,EAAE,CAAC,IAAwB,EAAE,EAAE,CAAC,KAAC,aAAa,oBAAK,IAAI,EAAI;IACjE,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,sBAAsB,EAAE,GAAG;QAC3B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA+B;IACnD,MAAM,EAAE,CAAC,IAAwB,EAAE,EAAE,CAAC,KAAC,aAAa,oBAAK,IAAI,EAAI;IACjE,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,sBAAsB,EAAE,GAAG;QAC3B,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,MAAM,EAAE,CAAC,IAAwB,EAAE,EAAE,CAAC,KAAC,aAAa,oBAAK,IAAI,EAAI;IACjE,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,sBAAsB,EAAE,GAAG;QAC3B,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC"}
@@ -1,226 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { fireEvent, render, screen, waitFor, waitForElementToBeRemoved, } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import { ERROR_MESSAGE_SERVICE_UNAVAILABLE, TradeSelector } from ".";
5
- import { getConfig } from "./config";
6
- import { jestHTMLDialogPolyfill } from "./jestHTMLDialogPolyfill";
7
- import { exactResults, suggestedResults } from "./mockApiResults";
8
- jestHTMLDialogPolyfill();
9
- const mockedApiResults = [...exactResults, ...suggestedResults];
10
- const { defaultLabels } = getConfig();
11
- describe("TradeSelector", () => {
12
- it("should render without errors", () => {
13
- render(_jsx(TradeSelector, {}));
14
- });
15
- describe("given a minimum required user input", () => {
16
- describe("when no results are returned", () => {
17
- it("should display a link to view all trades", async () => {
18
- global.fetch = jest.fn(() => Promise.resolve({
19
- json: () => Promise.resolve({ results: [] }),
20
- ok: true,
21
- }));
22
- const userInput = "qwa";
23
- render(_jsx(TradeSelector, {}));
24
- await userEvent.tab();
25
- await userEvent.keyboard(userInput);
26
- await waitFor(() => screen.getByText("View all trades"));
27
- const noResultsLink = screen.getByText("View all trades");
28
- expect(noResultsLink).toBeInTheDocument();
29
- expect(noResultsLink).toHaveAttribute("href", "https://quote.simplybusiness.co.uk/trades?vertical=business");
30
- });
31
- });
32
- });
33
- describe("given a set of results", () => {
34
- describe("containing both exact matches and suggested trades", () => {
35
- it("should display the results under their respective titles", async () => {
36
- global.fetch = jest.fn(() => Promise.resolve({
37
- json: () => Promise.resolve({ results: mockedApiResults }),
38
- ok: true,
39
- }));
40
- const userInput = "swim";
41
- render(_jsx(TradeSelector, {}));
42
- await userEvent.tab();
43
- await userEvent.keyboard(userInput);
44
- await waitForElementToBeRemoved(() => screen.getByText("Loading..."));
45
- const exactTitle = screen.queryByText(defaultLabels.exact);
46
- const suggestedTitle = screen.queryByText(defaultLabels.suggested);
47
- const exactResultExample = document.querySelector('[data-key="Swim Shop"]');
48
- const suggestedResultExample = document.querySelector('[data-key="Teacher / tutor"]');
49
- expect(exactTitle).toBeInTheDocument();
50
- expect(suggestedTitle).toBeInTheDocument();
51
- expect(exactResultExample).toBeInTheDocument();
52
- expect(suggestedResultExample).toBeInTheDocument();
53
- });
54
- });
55
- describe("containing only the exact matches", () => {
56
- it("should display the results under the title for exact matches", async () => {
57
- global.fetch = jest.fn(() => Promise.resolve({
58
- json: () => Promise.resolve({ results: exactResults }),
59
- ok: true,
60
- }));
61
- const userInput = "swim";
62
- render(_jsx(TradeSelector, {}));
63
- await userEvent.tab();
64
- await userEvent.keyboard(userInput);
65
- await waitForElementToBeRemoved(() => screen.getByText("Loading..."));
66
- const exactTitle = screen.queryByText(defaultLabels.exact);
67
- const suggestedTitle = screen.queryByText(defaultLabels.suggested);
68
- const exactResultExample = document.querySelector('[data-key="Swim Shop"]');
69
- const suggestedResultExample = document.querySelector('[data-key="Teacher / tutor"]');
70
- expect(exactTitle).toBeInTheDocument();
71
- expect(suggestedTitle).not.toBeInTheDocument();
72
- expect(exactResultExample).toBeInTheDocument();
73
- expect(suggestedResultExample).toBeNull();
74
- });
75
- });
76
- });
77
- describe("given the API is unavailable", () => {
78
- // eslint-disable-next-line no-console
79
- const consoleError = console.error;
80
- beforeAll(() => {
81
- // eslint-disable-next-line no-console
82
- console.error = jest.fn();
83
- });
84
- afterAll(() => {
85
- // eslint-disable-next-line no-console
86
- console.error = consoleError;
87
- jest.resetAllMocks();
88
- });
89
- it("should show the error message", async () => {
90
- global.fetch = jest.fn(() => Promise.resolve({
91
- json: () => Promise.resolve({ statusText: "Internal Server Error" }),
92
- ok: false,
93
- }));
94
- const userInput = "swim";
95
- render(_jsx(TradeSelector, {}));
96
- await userEvent.tab();
97
- await userEvent.keyboard(userInput);
98
- await waitFor(() => screen.getByText(ERROR_MESSAGE_SERVICE_UNAVAILABLE));
99
- const errorMessage = screen.getByText(ERROR_MESSAGE_SERVICE_UNAVAILABLE);
100
- const resultsOverlay = document.querySelector("dialog");
101
- expect(errorMessage).toBeInTheDocument();
102
- expect(resultsOverlay).not.toBeInTheDocument();
103
- });
104
- });
105
- describe("when the user reduces the input value to a single character", () => {
106
- it("should not display the overlay component", async () => {
107
- global.fetch = jest.fn(() => Promise.resolve({
108
- json: () => Promise.resolve({ results: mockedApiResults }),
109
- ok: true,
110
- }));
111
- const userInput = "swim";
112
- render(_jsx(TradeSelector, {}));
113
- await userEvent.tab();
114
- await userEvent.keyboard(userInput);
115
- const resultsOverlay = document.querySelector("dialog");
116
- expect(resultsOverlay).toBeInTheDocument();
117
- await userEvent.keyboard("{Backspace}{Backspace}{Backspace}");
118
- expect(resultsOverlay).not.toBeInTheDocument();
119
- });
120
- });
121
- describe("given a user has selected a trade", () => {
122
- it("should display the selected trade and hide the input field", async () => {
123
- global.fetch = jest.fn(() => Promise.resolve({
124
- json: () => Promise.resolve({ results: mockedApiResults }),
125
- ok: true,
126
- }));
127
- const userInput = "swim";
128
- const expectedTrade = "Swim Shop";
129
- const { container } = render(_jsx(TradeSelector, {}));
130
- await userEvent.tab();
131
- await userEvent.keyboard(userInput);
132
- await waitForElementToBeRemoved(() => screen.getByText("Loading..."));
133
- const exactResultExample = document.querySelector(`[data-key="${expectedTrade}"]`);
134
- expect(exactResultExample).toBeInTheDocument();
135
- await fireEvent.click(document.querySelector(`[data-key="${expectedTrade}"]`));
136
- const textElement = container.querySelector("p");
137
- expect(textElement).toHaveTextContent(`You have selected ‘${expectedTrade}’ as your trade/profession. Change`);
138
- });
139
- });
140
- describe("given an initial trade", () => {
141
- it("clicking Change should reveal result overlay", async () => {
142
- global.fetch = jest.fn(() => Promise.resolve({
143
- json: () => Promise.resolve({ results: mockedApiResults }),
144
- ok: true,
145
- }));
146
- const initialTrade = "Swim Shop";
147
- const { container } = render(_jsx(TradeSelector, { initialTrade: initialTrade }));
148
- const button = screen.getByText("Change");
149
- await userEvent.click(button);
150
- await waitForElementToBeRemoved(() => screen.getByText("Loading..."));
151
- const dialog = container.querySelector("dialog");
152
- expect(dialog).toHaveClass("--is-open");
153
- });
154
- });
155
- describe("clicking Change", () => {
156
- it("should display the input field with previously selected trade", async () => {
157
- global.fetch = jest.fn(() => Promise.resolve({
158
- json: () => Promise.resolve({ results: mockedApiResults }),
159
- ok: true,
160
- }));
161
- const userInput = "swim";
162
- const expectedTrade = "Swim Shop";
163
- render(_jsx(TradeSelector, {}));
164
- await userEvent.tab();
165
- await userEvent.keyboard(userInput);
166
- await waitForElementToBeRemoved(() => screen.getByText("Loading..."));
167
- const exactResultExample = document.querySelector(`[data-key="${expectedTrade}"]`);
168
- expect(exactResultExample).toBeInTheDocument();
169
- await fireEvent.click(document.querySelector(`[data-key="${expectedTrade}"]`));
170
- const button = screen.getByText("Change");
171
- await userEvent.click(button);
172
- waitFor(() => screen.getByRole("textbox"));
173
- const inputField = screen.getByRole("textbox");
174
- expect(inputField).toHaveValue(expectedTrade);
175
- });
176
- });
177
- describe("given hideLabel is set to true", () => {
178
- it("hides the label and the description and renders aria-label instead", () => {
179
- render(_jsx(TradeSelector, { hideLabel: true }));
180
- const label = screen.queryByText(defaultLabels.input);
181
- const description = screen.queryByText("Start typing to choose from over 1,000 options.");
182
- const input = screen.getByRole("textbox");
183
- expect(label).not.toBeInTheDocument();
184
- expect(description).not.toBeInTheDocument();
185
- expect(input).toHaveAttribute("aria-label", defaultLabels.input);
186
- });
187
- });
188
- describe("API calls", () => {
189
- global.fetch = jest.fn(() => Promise.resolve({
190
- json: () => Promise.resolve({ results: mockedApiResults }),
191
- ok: true,
192
- }));
193
- describe("with no initial trade provided", () => {
194
- it("should not call the API on render", async () => {
195
- render(_jsx(TradeSelector, {}));
196
- await waitFor(() => expect(global.fetch).not.toHaveBeenCalled());
197
- });
198
- });
199
- describe("with initial trade provided", () => {
200
- it("should not call the API on initial render", async () => {
201
- render(_jsx(TradeSelector, { initialTrade: "Builder" }));
202
- await waitFor(() => expect(global.fetch).not.toHaveBeenCalled());
203
- });
204
- });
205
- describe("with user input set above minimum length", () => {
206
- it("should call the API", async () => {
207
- const userInput = "swim";
208
- const AbortSignalMock = expect.anything();
209
- render(_jsx(TradeSelector, {}));
210
- await userEvent.tab();
211
- await userEvent.keyboard(userInput);
212
- await waitFor(() => {
213
- expect(global.fetch).toHaveBeenCalledWith(expect.any(URL), AbortSignalMock);
214
- expect(global.fetch.mock.calls[2][0].toString()).toEqual(`https://fns-staging.simplybusiness.co.uk/rambdas/trade-selector-chopin?q=${userInput}&site=simplybusiness_hoverla`);
215
- });
216
- });
217
- });
218
- });
219
- describe("given data-cy prop is provided", () => {
220
- it("applies the attribute on the outer container", () => {
221
- const { container } = render(_jsx(TradeSelector, { "data-cy": "test-123" }));
222
- expect(container.firstChild).toHaveAttribute("data-cy", "test-123");
223
- });
224
- });
225
- });
226
- //# sourceMappingURL=TradeSelector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TradeSelector.test.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/TradeSelector/TradeSelector.test.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Container } from "./Container";
3
- import { excludeControls } from "../../utils/excludeControls";
4
- export default {
5
- title: "Layout/Container",
6
- component: Container,
7
- argTypes: excludeControls("className", "elementType", "id"),
8
- };
9
- export const Normal = {
10
- render: (args) => (_jsx(Container, Object.assign({}, args, { children: "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus deleniti architecto, expedita ex maxime eum. Reiciendis, natus? Voluptatibus error beatae praesentium molestias saepe dolorem molestiae rem. Rem, eveniet beatae." }))),
11
- };
12
- //# sourceMappingURL=Container.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Container.stories.js","sourceRoot":"","sources":["../../../../src/components/Container/Container.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,eAAe;IACb,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C,MAAM,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,CAChC,KAAC,SAAS,oBAAK,IAAI,iQAKP,CACb;CACF,CAAC"}
@@ -1,37 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import { Container } from ".";
4
- const CLASS_NAME = "mobius/Container";
5
- describe("Container", () => {
6
- it("should render without errors", () => {
7
- const component = render(_jsx(Container, { children: "test" }));
8
- expect(component).toBeTruthy();
9
- });
10
- it("should use the provided elementType", () => {
11
- var _a;
12
- const component = render(_jsx(Container, Object.assign({ elementType: "span" }, { children: "test" })));
13
- expect((_a = component.container.firstElementChild) === null || _a === void 0 ? void 0 : _a.tagName).toBe("SPAN");
14
- });
15
- describe("given elementType", () => {
16
- it("is not applied as element attribute", () => {
17
- const { container } = render(_jsx(Container, { elementType: "span" }));
18
- expect(container.firstChild).not.toHaveAttribute("elementtype", "span");
19
- });
20
- });
21
- describe("uses correct class names", () => {
22
- it("uses Mobius class", () => {
23
- render(_jsx(Container, Object.assign({ "data-testid": "test" }, { children: "Sample text" })));
24
- expect(screen.getByTestId("test")).toHaveClass("mobius");
25
- });
26
- it("uses base Mobius class", () => {
27
- render(_jsx(Container, Object.assign({ "data-testid": "test" }, { children: "Sample text" })));
28
- expect(screen.getByTestId("test")).toHaveClass(CLASS_NAME);
29
- });
30
- it("includes custom class name", () => {
31
- render(_jsx(Container, Object.assign({ className: "my-class", "data-testid": "test" }, { children: "Sample Text" })));
32
- expect(screen.getByTestId("test")).toHaveClass("my-class");
33
- expect(screen.getByTestId("test")).toHaveClass(CLASS_NAME);
34
- });
35
- });
36
- });
37
- //# sourceMappingURL=Container.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Container.test.js","sourceRoot":"","sources":["../../../../src/components/Container/Container.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAE9B,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAC,SAAS,uBAAiB,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAC,SAAS,kBAAC,WAAW,EAAC,MAAM,0BAAiB,CAAC,CAAC;QACzE,MAAM,CAAC,MAAA,SAAS,CAAC,SAAS,CAAC,iBAAiB,0CAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,SAAS,IAAC,WAAW,EAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,KAAC,SAAS,iCAAa,MAAM,iCAAwB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,MAAM,CAAC,KAAC,SAAS,iCAAa,MAAM,iCAAwB,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CACJ,KAAC,SAAS,kBAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,iCAEtC,CACb,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,174 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as baseIcons from "@simplybusiness/icons";
3
- import { DataTable } from ".";
4
- import { data, columns } from "./mockTableData";
5
- import { ThemeContext } from "../../contexts";
6
- import { Button } from "../Button";
7
- import { Flex } from "../Flex";
8
- import { excludeControls } from "../../utils/excludeControls";
9
- const breakpoints = [
10
- {
11
- size: "xs",
12
- value: 320,
13
- },
14
- {
15
- size: "sm",
16
- value: 540,
17
- },
18
- {
19
- size: "md",
20
- value: 720,
21
- },
22
- {
23
- size: "lg",
24
- value: 960,
25
- },
26
- {
27
- size: "xl",
28
- value: 1140,
29
- },
30
- {
31
- size: "xxl",
32
- value: 1320,
33
- },
34
- ];
35
- const setBreakpoints = () => { };
36
- export default {
37
- title: "Components/DataTable",
38
- component: DataTable,
39
- argTypes: excludeControls("className", "caption", "spanData", "collapseData"),
40
- };
41
- export const TableLayout = {
42
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
43
- args: {
44
- data,
45
- columns,
46
- layout: "table",
47
- isSortable: false,
48
- },
49
- };
50
- export const DivLayout = {
51
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
52
- args: {
53
- data,
54
- columns,
55
- layout: "flex",
56
- isSortable: false,
57
- },
58
- };
59
- export const Sorting = {
60
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
61
- args: {
62
- data,
63
- columns,
64
- layout: "table",
65
- isSortable: true,
66
- },
67
- };
68
- export const Collapsing = {
69
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
70
- args: {
71
- data,
72
- columns,
73
- collapseData: {
74
- collapseOnSize: "md",
75
- collapseColumns: ["lowest_excess"],
76
- },
77
- layout: "table",
78
- isSortable: false,
79
- },
80
- decorators: [
81
- Story => (_jsx(ThemeContext.Provider, Object.assign({ value: {
82
- breakpoints,
83
- setBreakpoints,
84
- icons: baseIcons,
85
- } }, { children: _jsx(Story, {}) }))),
86
- ],
87
- };
88
- export const ColumnSpanning = {
89
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
90
- args: {
91
- data: [
92
- {
93
- insurance_cover: "Employers' liability",
94
- lowest_excess: "£250",
95
- highest_excess: "£2,500",
96
- },
97
- {
98
- insurance_cover: "Public liability",
99
- lowest_excess: "£350",
100
- },
101
- {
102
- insurance_cover: "Stock",
103
- lowest_excess: "£100",
104
- highest_excess: "£500",
105
- },
106
- ],
107
- columns,
108
- spanData: {
109
- lowest_excess: {
110
- colspan: 2,
111
- targetValue: "£350",
112
- substValue: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
113
- spanClass: "customSpanClass",
114
- },
115
- },
116
- layout: "table",
117
- isSortable: false,
118
- },
119
- };
120
- export const RowSpanning = {
121
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
122
- args: {
123
- data: [
124
- {
125
- insurance_cover: "Employers' liability",
126
- lowest_excess: "£250",
127
- highest_excess: "£2,500",
128
- },
129
- {
130
- insurance_cover: "Public liability",
131
- lowest_excess: "£350",
132
- highest_excess: "£500",
133
- },
134
- {
135
- lowest_excess: "£100",
136
- highest_excess: "£500",
137
- },
138
- ],
139
- columns,
140
- spanData: {
141
- insurance_cover: {
142
- rowspan: 2,
143
- targetValue: "Public liability",
144
- spanClass: "customSpanClass",
145
- },
146
- },
147
- layout: "table",
148
- isSortable: false,
149
- },
150
- };
151
- export const RenderCellsWithCustomElements = {
152
- render: (args) => (_jsx("div", { children: _jsx(DataTable, Object.assign({}, args)) })),
153
- args: {
154
- data,
155
- columns: [
156
- {
157
- Header: "Insurance cover",
158
- accessor: "insurance_cover",
159
- },
160
- {
161
- Header: "Lowest excess",
162
- accessor: "lowest_excess",
163
- },
164
- {
165
- Header: "Highest excess",
166
- accessor: "highest_excess",
167
- Cell: ({ value }) => (_jsxs(Flex, { children: [_jsx(Button, Object.assign({ onClick: () => console.log(value) }, { children: "Buy" })), _jsx(Button, Object.assign({ variant: "basic", onClick: () => console.log(value) }, { children: "Details" }))] })),
168
- },
169
- ],
170
- layout: "table",
171
- isSortable: false,
172
- },
173
- };
174
- //# sourceMappingURL=DataTable.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataTable.stories.js","sourceRoot":"","sources":["../../../../src/components/DataTable/DataTable.stories.tsx"],"names":[],"mappings":"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"}