@simplybusiness/mobius 3.3.1 → 3.4.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 (288) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.js +5 -10
  3. package/dist/cjs/components/Chopin/QuestionHelp/QuestionHelp.js.map +1 -1
  4. package/dist/cjs/components/Chopin/TradeSelector/Header/Header.d.ts +9 -0
  5. package/dist/cjs/components/Chopin/TradeSelector/Header/Header.js +14 -0
  6. package/dist/cjs/components/Chopin/TradeSelector/Header/Header.js.map +1 -0
  7. package/dist/cjs/components/Chopin/TradeSelector/Header/index.d.ts +1 -0
  8. package/dist/cjs/components/Chopin/TradeSelector/{Popover → Header}/index.js +1 -1
  9. package/dist/cjs/components/Chopin/TradeSelector/Header/index.js.map +1 -0
  10. package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.d.ts +12 -0
  11. package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.js +24 -0
  12. package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.js.map +1 -0
  13. package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.test.js +51 -0
  14. package/dist/cjs/components/Chopin/TradeSelector/Listing/Listing.test.js.map +1 -0
  15. package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.d.ts +10 -0
  16. package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.js +27 -0
  17. package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.js.map +1 -0
  18. package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.test.js +42 -0
  19. package/dist/cjs/components/Chopin/TradeSelector/Listing/ListingItem.test.js.map +1 -0
  20. package/dist/cjs/components/Chopin/TradeSelector/Listing/index.d.ts +1 -0
  21. package/dist/cjs/components/Chopin/TradeSelector/{ListBox → Listing}/index.js +1 -1
  22. package/dist/cjs/components/Chopin/TradeSelector/Listing/index.js.map +1 -0
  23. package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.d.ts +11 -11
  24. package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.js +92 -15
  25. package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.js.map +1 -1
  26. package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +96 -104
  27. package/dist/cjs/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js.map +1 -1
  28. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.d.ts +15 -0
  29. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.js +37 -0
  30. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.js.map +1 -0
  31. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +57 -0
  32. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js.map +1 -0
  33. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/index.d.ts +1 -0
  34. package/dist/cjs/components/Chopin/TradeSelector/{ComboBox → TradeInput}/index.js +1 -1
  35. package/dist/cjs/components/Chopin/TradeSelector/TradeInput/index.js.map +1 -0
  36. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.d.ts +2 -2
  37. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.js +62 -31
  38. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.js.map +1 -1
  39. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.test.js +152 -240
  40. package/dist/cjs/components/Chopin/TradeSelector/TradeSelector.test.js.map +1 -1
  41. package/dist/cjs/components/Chopin/TradeSelector/config/index.d.ts +9 -0
  42. package/dist/cjs/components/Chopin/TradeSelector/config/shared.d.ts +9 -0
  43. package/dist/cjs/components/Chopin/TradeSelector/config/shared.js +9 -0
  44. package/dist/cjs/components/Chopin/TradeSelector/config/shared.js.map +1 -1
  45. package/dist/cjs/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.d.ts +1 -0
  46. package/dist/cjs/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.js +17 -0
  47. package/dist/cjs/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.js.map +1 -0
  48. package/dist/cjs/components/Chopin/TradeSelector/mockApiResults.d.ts +10 -0
  49. package/dist/cjs/components/Chopin/TradeSelector/mockApiResults.js +11 -1
  50. package/dist/cjs/components/Chopin/TradeSelector/mockApiResults.js.map +1 -1
  51. package/dist/cjs/components/Chopin/TradeSelector/types.d.ts +7 -5
  52. package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/index.d.ts +1 -0
  53. package/dist/cjs/components/Chopin/TradeSelector/{SelectedTrade → useFetchTrades}/index.js +1 -1
  54. package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/index.js.map +1 -0
  55. package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.d.ts +8 -0
  56. package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js +62 -0
  57. package/dist/cjs/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js.map +1 -0
  58. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/index.d.ts +1 -0
  59. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/index.js +18 -0
  60. package/dist/cjs/components/Chopin/TradeSelector/{useTradeSelector → useTradeSelectorUrl}/index.js.map +1 -1
  61. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.d.ts +6 -0
  62. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.js +20 -0
  63. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.js.map +1 -0
  64. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.js +29 -0
  65. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.js.map +1 -0
  66. package/dist/cjs/components/Chopin/index.d.ts +5 -5
  67. package/dist/cjs/components/Chopin/index.js +5 -5
  68. package/dist/cjs/components/Chopin/index.js.map +1 -1
  69. package/dist/cjs/components/PasswordField/PasswordField.js +2 -2
  70. package/dist/cjs/components/PasswordField/PasswordField.js.map +1 -1
  71. package/dist/cjs/hooks/useOnClickOutside/index.d.ts +1 -0
  72. package/dist/cjs/hooks/useOnClickOutside/index.js +18 -0
  73. package/dist/cjs/hooks/useOnClickOutside/index.js.map +1 -0
  74. package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.d.ts +2 -0
  75. package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.js +23 -0
  76. package/dist/cjs/hooks/useOnClickOutside/useOnClickOutside.js.map +1 -0
  77. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.js +6 -11
  78. package/dist/esm/components/Chopin/QuestionHelp/QuestionHelp.js.map +1 -1
  79. package/dist/esm/components/Chopin/TradeSelector/Header/Header.js +10 -0
  80. package/dist/esm/components/Chopin/TradeSelector/Header/Header.js.map +1 -0
  81. package/dist/esm/components/Chopin/TradeSelector/Header/index.js +2 -0
  82. package/dist/esm/components/Chopin/TradeSelector/Header/index.js.map +1 -0
  83. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.js +17 -0
  84. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.js.map +1 -0
  85. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js +26 -0
  86. package/dist/esm/components/Chopin/TradeSelector/Listing/Listing.test.js.map +1 -0
  87. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.js +21 -0
  88. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.js.map +1 -0
  89. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js +37 -0
  90. package/dist/esm/components/Chopin/TradeSelector/Listing/ListingItem.test.js.map +1 -0
  91. package/dist/esm/components/Chopin/TradeSelector/Listing/index.js +2 -0
  92. package/dist/esm/components/Chopin/TradeSelector/Listing/index.js.map +1 -0
  93. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.js +90 -16
  94. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.js.map +1 -1
  95. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js +75 -103
  96. package/dist/esm/components/Chopin/TradeSelector/SearchResults/SearchResults.test.js.map +1 -1
  97. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.js +30 -0
  98. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.js.map +1 -0
  99. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js +52 -0
  100. package/dist/esm/components/Chopin/TradeSelector/TradeInput/TradeInput.test.js.map +1 -0
  101. package/dist/esm/components/Chopin/TradeSelector/TradeInput/index.js +2 -0
  102. package/dist/esm/components/Chopin/TradeSelector/TradeInput/index.js.map +1 -0
  103. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.js +63 -32
  104. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.js.map +1 -1
  105. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js +154 -242
  106. package/dist/esm/components/Chopin/TradeSelector/TradeSelector.test.js.map +1 -1
  107. package/dist/esm/components/Chopin/TradeSelector/config/shared.js +9 -0
  108. package/dist/esm/components/Chopin/TradeSelector/config/shared.js.map +1 -1
  109. package/dist/esm/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.js +13 -0
  110. package/dist/esm/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.js.map +1 -0
  111. package/dist/esm/components/Chopin/TradeSelector/mockApiResults.js +10 -0
  112. package/dist/esm/components/Chopin/TradeSelector/mockApiResults.js.map +1 -1
  113. package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/index.js +2 -0
  114. package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/index.js.map +1 -0
  115. package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js +55 -0
  116. package/dist/esm/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.js.map +1 -0
  117. package/dist/esm/components/Chopin/TradeSelector/useTradeSelectorUrl/index.js +2 -0
  118. package/dist/esm/components/Chopin/TradeSelector/{useTradeSelector → useTradeSelectorUrl}/index.js.map +1 -1
  119. package/dist/esm/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.js +16 -0
  120. package/dist/esm/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.js.map +1 -0
  121. package/dist/esm/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.js +27 -0
  122. package/dist/esm/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.js.map +1 -0
  123. package/dist/esm/components/Chopin/index.js +5 -5
  124. package/dist/esm/components/Chopin/index.js.map +1 -1
  125. package/dist/esm/components/PasswordField/PasswordField.js +2 -2
  126. package/dist/esm/components/PasswordField/PasswordField.js.map +1 -1
  127. package/dist/esm/hooks/useOnClickOutside/index.js +2 -0
  128. package/dist/esm/hooks/useOnClickOutside/index.js.map +1 -0
  129. package/dist/esm/hooks/useOnClickOutside/useOnClickOutside.js +19 -0
  130. package/dist/esm/hooks/useOnClickOutside/useOnClickOutside.js.map +1 -0
  131. package/dist/mobius.d.ts +38 -30
  132. package/package.json +5 -7
  133. package/src/components/Chopin/QuestionHelp/QuestionHelp.tsx +8 -20
  134. package/src/components/Chopin/TradeSelector/Header/Header.tsx +33 -0
  135. package/src/components/Chopin/TradeSelector/Header/index.tsx +1 -0
  136. package/src/components/Chopin/TradeSelector/Listing/Listing.test.tsx +42 -0
  137. package/src/components/Chopin/TradeSelector/Listing/Listing.tsx +51 -0
  138. package/src/components/Chopin/TradeSelector/Listing/ListingItem.test.tsx +54 -0
  139. package/src/components/Chopin/TradeSelector/Listing/ListingItem.tsx +50 -0
  140. package/src/components/Chopin/TradeSelector/Listing/index.tsx +1 -0
  141. package/src/components/Chopin/TradeSelector/SearchResults/SearchResults.test.tsx +90 -130
  142. package/src/components/Chopin/TradeSelector/SearchResults/SearchResults.tsx +169 -66
  143. package/src/components/Chopin/TradeSelector/TradeInput/TradeInput.test.tsx +74 -0
  144. package/src/components/Chopin/TradeSelector/TradeInput/TradeInput.tsx +94 -0
  145. package/src/components/Chopin/TradeSelector/TradeInput/index.tsx +1 -0
  146. package/src/components/Chopin/TradeSelector/TradeSelector.story.mdx +75 -49
  147. package/src/components/Chopin/TradeSelector/TradeSelector.test.tsx +228 -300
  148. package/src/components/Chopin/TradeSelector/TradeSelector.tsx +124 -93
  149. package/src/components/Chopin/TradeSelector/config/shared.ts +9 -0
  150. package/src/components/Chopin/TradeSelector/jestHTMLDialogPolyfill.ts +17 -0
  151. package/src/components/Chopin/TradeSelector/mockApiResults.ts +11 -0
  152. package/src/components/Chopin/TradeSelector/types.ts +24 -6
  153. package/src/components/Chopin/TradeSelector/useFetchTrades/index.ts +1 -0
  154. package/src/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.ts +67 -0
  155. package/src/components/Chopin/TradeSelector/useTradeSelectorUrl/index.ts +1 -0
  156. package/src/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.ts +37 -0
  157. package/src/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.ts +26 -0
  158. package/src/components/Chopin/index.tsx +5 -5
  159. package/src/components/Link/Link.story.mdx +14 -0
  160. package/src/components/PasswordField/PasswordField.tsx +2 -2
  161. package/src/hooks/useOnClickOutside/index.ts +1 -0
  162. package/src/hooks/useOnClickOutside/useOnClickOutside.ts +23 -0
  163. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/ComboBox.d.ts +0 -9
  164. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/ComboBox.js +0 -37
  165. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/ComboBox.js.map +0 -1
  166. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/ComboBox.test.js +0 -59
  167. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/ComboBox.test.js.map +0 -1
  168. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/index.d.ts +0 -1
  169. package/dist/cjs/components/Chopin/TradeSelector/ComboBox/index.js.map +0 -1
  170. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBox.d.ts +0 -13
  171. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBox.js +0 -16
  172. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBox.js.map +0 -1
  173. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBoxSection.d.ts +0 -8
  174. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBoxSection.js +0 -15
  175. package/dist/cjs/components/Chopin/TradeSelector/ListBox/ListBoxSection.js.map +0 -1
  176. package/dist/cjs/components/Chopin/TradeSelector/ListBox/Option.d.ts +0 -9
  177. package/dist/cjs/components/Chopin/TradeSelector/ListBox/Option.js +0 -22
  178. package/dist/cjs/components/Chopin/TradeSelector/ListBox/Option.js.map +0 -1
  179. package/dist/cjs/components/Chopin/TradeSelector/ListBox/index.d.ts +0 -1
  180. package/dist/cjs/components/Chopin/TradeSelector/ListBox/index.js.map +0 -1
  181. package/dist/cjs/components/Chopin/TradeSelector/Popover/Popover.d.ts +0 -10
  182. package/dist/cjs/components/Chopin/TradeSelector/Popover/Popover.js +0 -24
  183. package/dist/cjs/components/Chopin/TradeSelector/Popover/Popover.js.map +0 -1
  184. package/dist/cjs/components/Chopin/TradeSelector/Popover/Popover.test.js +0 -18
  185. package/dist/cjs/components/Chopin/TradeSelector/Popover/Popover.test.js.map +0 -1
  186. package/dist/cjs/components/Chopin/TradeSelector/Popover/index.d.ts +0 -1
  187. package/dist/cjs/components/Chopin/TradeSelector/Popover/index.js.map +0 -1
  188. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.d.ts +0 -5
  189. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.js +0 -8
  190. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.js.map +0 -1
  191. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.js +0 -18
  192. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.js.map +0 -1
  193. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/index.d.ts +0 -1
  194. package/dist/cjs/components/Chopin/TradeSelector/SelectedTrade/index.js.map +0 -1
  195. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.d.ts +0 -7
  196. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.js +0 -27
  197. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.js.map +0 -1
  198. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.js +0 -76
  199. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.js.map +0 -1
  200. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/index.d.ts +0 -1
  201. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/index.js +0 -18
  202. package/dist/cjs/components/Chopin/TradeSelector/getItemsToDisplay/index.js.map +0 -1
  203. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.d.ts +0 -2
  204. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.js +0 -17
  205. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.js.map +0 -1
  206. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.d.ts +0 -1
  207. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.js +0 -42
  208. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.js.map +0 -1
  209. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/index.d.ts +0 -1
  210. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/index.js +0 -18
  211. package/dist/cjs/components/Chopin/TradeSelector/getTradesGroupedByType/index.js.map +0 -1
  212. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/index.d.ts +0 -1
  213. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/index.js +0 -18
  214. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.d.ts +0 -17
  215. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.js +0 -68
  216. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.js.map +0 -1
  217. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.d.ts +0 -1
  218. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.js +0 -86
  219. package/dist/cjs/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.js.map +0 -1
  220. package/dist/esm/components/Chopin/TradeSelector/ComboBox/ComboBox.js +0 -31
  221. package/dist/esm/components/Chopin/TradeSelector/ComboBox/ComboBox.js.map +0 -1
  222. package/dist/esm/components/Chopin/TradeSelector/ComboBox/ComboBox.test.js +0 -54
  223. package/dist/esm/components/Chopin/TradeSelector/ComboBox/ComboBox.test.js.map +0 -1
  224. package/dist/esm/components/Chopin/TradeSelector/ComboBox/index.js +0 -2
  225. package/dist/esm/components/Chopin/TradeSelector/ComboBox/index.js.map +0 -1
  226. package/dist/esm/components/Chopin/TradeSelector/ListBox/ListBox.js +0 -13
  227. package/dist/esm/components/Chopin/TradeSelector/ListBox/ListBox.js.map +0 -1
  228. package/dist/esm/components/Chopin/TradeSelector/ListBox/ListBoxSection.js +0 -12
  229. package/dist/esm/components/Chopin/TradeSelector/ListBox/ListBoxSection.js.map +0 -1
  230. package/dist/esm/components/Chopin/TradeSelector/ListBox/Option.js +0 -16
  231. package/dist/esm/components/Chopin/TradeSelector/ListBox/Option.js.map +0 -1
  232. package/dist/esm/components/Chopin/TradeSelector/ListBox/index.js +0 -2
  233. package/dist/esm/components/Chopin/TradeSelector/ListBox/index.js.map +0 -1
  234. package/dist/esm/components/Chopin/TradeSelector/Popover/Popover.js +0 -21
  235. package/dist/esm/components/Chopin/TradeSelector/Popover/Popover.js.map +0 -1
  236. package/dist/esm/components/Chopin/TradeSelector/Popover/Popover.test.js +0 -16
  237. package/dist/esm/components/Chopin/TradeSelector/Popover/Popover.test.js.map +0 -1
  238. package/dist/esm/components/Chopin/TradeSelector/Popover/index.js +0 -2
  239. package/dist/esm/components/Chopin/TradeSelector/Popover/index.js.map +0 -1
  240. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.js +0 -4
  241. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.js.map +0 -1
  242. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.js +0 -16
  243. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.js.map +0 -1
  244. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/index.js +0 -2
  245. package/dist/esm/components/Chopin/TradeSelector/SelectedTrade/index.js.map +0 -1
  246. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.js +0 -23
  247. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.js.map +0 -1
  248. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.js +0 -74
  249. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.js.map +0 -1
  250. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/index.js +0 -2
  251. package/dist/esm/components/Chopin/TradeSelector/getItemsToDisplay/index.js.map +0 -1
  252. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.js +0 -13
  253. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.js.map +0 -1
  254. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.js +0 -40
  255. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.js.map +0 -1
  256. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/index.js +0 -2
  257. package/dist/esm/components/Chopin/TradeSelector/getTradesGroupedByType/index.js.map +0 -1
  258. package/dist/esm/components/Chopin/TradeSelector/useTradeSelector/index.js +0 -2
  259. package/dist/esm/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.js +0 -65
  260. package/dist/esm/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.js.map +0 -1
  261. package/dist/esm/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.js +0 -84
  262. package/dist/esm/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.js.map +0 -1
  263. package/src/components/Chopin/TradeSelector/ComboBox/ComboBox.test.tsx +0 -85
  264. package/src/components/Chopin/TradeSelector/ComboBox/ComboBox.tsx +0 -74
  265. package/src/components/Chopin/TradeSelector/ComboBox/index.tsx +0 -1
  266. package/src/components/Chopin/TradeSelector/ListBox/ListBox.tsx +0 -36
  267. package/src/components/Chopin/TradeSelector/ListBox/ListBoxSection.tsx +0 -34
  268. package/src/components/Chopin/TradeSelector/ListBox/Option.tsx +0 -35
  269. package/src/components/Chopin/TradeSelector/ListBox/index.tsx +0 -1
  270. package/src/components/Chopin/TradeSelector/Popover/Popover.test.tsx +0 -28
  271. package/src/components/Chopin/TradeSelector/Popover/Popover.tsx +0 -42
  272. package/src/components/Chopin/TradeSelector/Popover/index.tsx +0 -1
  273. package/src/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.tsx +0 -24
  274. package/src/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.tsx +0 -20
  275. package/src/components/Chopin/TradeSelector/SelectedTrade/index.tsx +0 -1
  276. package/src/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.ts +0 -97
  277. package/src/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.ts +0 -36
  278. package/src/components/Chopin/TradeSelector/getItemsToDisplay/index.ts +0 -1
  279. package/src/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.test.ts +0 -49
  280. package/src/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.ts +0 -19
  281. package/src/components/Chopin/TradeSelector/getTradesGroupedByType/index.ts +0 -1
  282. package/src/components/Chopin/TradeSelector/useTradeSelector/index.ts +0 -1
  283. package/src/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.ts +0 -107
  284. package/src/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.ts +0 -82
  285. /package/dist/cjs/components/Chopin/TradeSelector/{ComboBox/ComboBox.test.d.ts → Listing/Listing.test.d.ts} +0 -0
  286. /package/dist/cjs/components/Chopin/TradeSelector/{Popover/Popover.test.d.ts → Listing/ListingItem.test.d.ts} +0 -0
  287. /package/dist/cjs/components/Chopin/TradeSelector/{SelectedTrade/SelectedTrade.test.d.ts → TradeInput/TradeInput.test.d.ts} +0 -0
  288. /package/dist/cjs/components/Chopin/TradeSelector/{getItemsToDisplay/getItemsToDisplay.test.d.ts → useTradeSelectorUrl/useTradeSelectorUrl.test.d.ts} +0 -0
@@ -1,97 +0,0 @@
1
- import { getItemsToDisplay } from "./getItemsToDisplay";
2
- import { exactResults, suggestedResults } from "../mockApiResults";
3
-
4
- const mockedApiResults = [...exactResults, ...suggestedResults];
5
-
6
- describe("getItemsToDisplay", () => {
7
- const defaultLabels = {
8
- input: "",
9
- exact: "",
10
- suggested: "",
11
- loading: "",
12
- noResults: "",
13
- description: "",
14
- placeholder: "",
15
- };
16
-
17
- describe("given no trades have been provided", () => {
18
- it("returns a single item with the no results label", () => {
19
- const props = {
20
- trades: [],
21
- isLoading: false,
22
- labels: {
23
- ...defaultLabels,
24
- noResults: "No results",
25
- },
26
- };
27
-
28
- const actual = getItemsToDisplay({ ...props });
29
-
30
- const expected = [
31
- {
32
- name: props.labels.noResults,
33
- title: props.labels.noResults,
34
- children: [],
35
- },
36
- ];
37
-
38
- expect(actual).toEqual(expected);
39
- });
40
- });
41
-
42
- describe("given a list of trades have been provided", () => {
43
- it("returns the trades grouped by type", () => {
44
- const props = {
45
- trades: mockedApiResults,
46
- isLoading: false,
47
- labels: {
48
- ...defaultLabels,
49
- exact: "Exact matches for your search",
50
- suggested: "Suggested matches for your search",
51
- },
52
- };
53
-
54
- const actual = getItemsToDisplay({ ...props });
55
-
56
- const expected = [
57
- {
58
- name: "exact",
59
- title: props.labels.exact,
60
- children: [...exactResults],
61
- },
62
- {
63
- name: "suggested",
64
- title: props.labels.suggested,
65
- children: [...suggestedResults],
66
- },
67
- ];
68
-
69
- expect(actual).toEqual(expected);
70
- });
71
- });
72
-
73
- describe("given isLoading is set to true", () => {
74
- it("returns a single item with the loading label", () => {
75
- const props = {
76
- trades: [],
77
- isLoading: true,
78
- labels: {
79
- ...defaultLabels,
80
- loading: "Is loading",
81
- },
82
- };
83
-
84
- const actual = getItemsToDisplay({ ...props });
85
-
86
- const expected = [
87
- {
88
- name: props.labels.loading,
89
- title: props.labels.loading,
90
- children: [],
91
- },
92
- ];
93
-
94
- expect(actual).toEqual(expected);
95
- });
96
- });
97
- });
@@ -1,36 +0,0 @@
1
- import { getTradesGroupedByType } from "../getTradesGroupedByType";
2
- import type { LabelProps, TradeProps } from "..";
3
-
4
- export type getItemsToDisplayProps = {
5
- trades: TradeProps[] | [];
6
- isLoading: boolean;
7
- labels: LabelProps;
8
- };
9
-
10
- export const getItemsToDisplay = ({
11
- trades,
12
- isLoading,
13
- labels,
14
- }: getItemsToDisplayProps) => {
15
- if (trades.length > 0) {
16
- return getTradesGroupedByType(trades, labels);
17
- }
18
-
19
- if (isLoading) {
20
- return [
21
- {
22
- name: labels.loading as string,
23
- title: labels.loading as string,
24
- children: [],
25
- },
26
- ];
27
- }
28
-
29
- return [
30
- {
31
- name: labels.noResults as string,
32
- title: labels.noResults as string,
33
- children: [],
34
- },
35
- ];
36
- };
@@ -1 +0,0 @@
1
- export * from "./getItemsToDisplay";
@@ -1,49 +0,0 @@
1
- import { getTradesGroupedByType } from ".";
2
- import { exactResults, suggestedResults } from "../mockApiResults";
3
-
4
- describe("getTradesGroupedByType", () => {
5
- describe("given a list of API results", () => {
6
- it("should return a list of grouped results with labels", () => {
7
- const labels = {
8
- exact: "Exact matches for your search",
9
- suggested: "Suggested matches for your search",
10
- };
11
-
12
- const mockedApiResults = [...exactResults, ...suggestedResults];
13
-
14
- const input = getTradesGroupedByType(mockedApiResults, labels);
15
-
16
- const expected = [
17
- {
18
- name: "exact",
19
- title: "Exact matches for your search",
20
- children: [...exactResults],
21
- },
22
- {
23
- name: "suggested",
24
- title: "Suggested matches for your search",
25
- children: [...suggestedResults],
26
- },
27
- ];
28
-
29
- expect(input).toEqual(expected);
30
- });
31
- });
32
-
33
- describe("given no API results", () => {
34
- it("should return an empty array ", () => {
35
- const labels = {
36
- exact: "Exact matches",
37
- suggested: "Suggested matches",
38
- };
39
-
40
- const apiResults = [] as [];
41
-
42
- const input = getTradesGroupedByType(apiResults, labels);
43
-
44
- const expected = [] as [];
45
-
46
- expect(input).toEqual(expected);
47
- });
48
- });
49
- });
@@ -1,19 +0,0 @@
1
- import type { LabelProps, GroupedTradeProps, TradeProps } from "..";
2
-
3
- export const getTradesGroupedByType = (
4
- trades: Array<TradeProps>,
5
- labels: Pick<LabelProps, "exact" | "suggested">,
6
- ) =>
7
- Object.entries(
8
- trades.reduce((prev, acc) => {
9
- const { type } = acc;
10
- // eslint-disable-next-line no-param-reassign
11
- prev[type] ??= [];
12
- prev[type].push(acc);
13
- return prev;
14
- }, {}),
15
- ).map(([name, children]) => ({
16
- name,
17
- title: labels[name],
18
- children,
19
- })) as GroupedTradeProps[];
@@ -1 +0,0 @@
1
- export * from "./getTradesGroupedByType";
@@ -1 +0,0 @@
1
- export * from "./useTradeSelector";
@@ -1,107 +0,0 @@
1
- import { renderHook, waitFor } from "@testing-library/react";
2
- import { useTradeSelector } from "./useTradeSelector";
3
-
4
- const trade = {
5
- value: "Builder",
6
- vertical: "business",
7
- supported_verticals: ["contractors_combined"],
8
- label: "<strong>Builder</strong>",
9
- type: "exact",
10
- trade_detail: null,
11
- trade_type: null,
12
- blocked: false,
13
- };
14
-
15
- let fetchMock: any;
16
-
17
- global.fetch = jest.fn(() =>
18
- Promise.resolve({
19
- json: () =>
20
- Promise.resolve({
21
- items: [],
22
- }),
23
- }),
24
- ) as jest.Mock;
25
-
26
- describe("useTradeSelector", () => {
27
- beforeEach(() => {
28
- fetchMock = jest.spyOn(global, "fetch");
29
- });
30
-
31
- afterEach(() => {
32
- jest.restoreAllMocks();
33
- });
34
-
35
- describe("with no initial trade provided", () => {
36
- it("should not call the API on initial render", async () => {
37
- const { result } = renderHook(() =>
38
- useTradeSelector({
39
- minInput: 3,
40
- apiRequestDebounceInMs: 250,
41
- urls: {
42
- quoteRedirect: "redirect-link",
43
- tradeApi: "trade-api-link",
44
- allOccupations:
45
- "https://quote.simplybusiness.co.uk/trades?vertical=business",
46
- },
47
- }),
48
- );
49
-
50
- await waitFor(() => {
51
- expect(result.current.isLoading).toBeFalsy();
52
- expect(fetchMock).not.toHaveBeenCalled();
53
- });
54
- });
55
- });
56
-
57
- describe("with initial trade provided", () => {
58
- it("should not call the API on initial render", async () => {
59
- const { result } = renderHook(() =>
60
- useTradeSelector({
61
- minInput: 3,
62
- apiRequestDebounceInMs: 250,
63
- urls: {
64
- quoteRedirect: "redirect-link",
65
- tradeApi: "trade-api-link",
66
- allOccupations:
67
- "https://quote.simplybusiness.co.uk/trades?vertical=business",
68
- },
69
- initialTrade: trade.value,
70
- }),
71
- );
72
-
73
- await waitFor(() => {
74
- expect(result.current.isLoading).toBeFalsy();
75
- expect(fetchMock).not.toHaveBeenCalled();
76
- });
77
- });
78
- });
79
-
80
- describe("with user input set above minimum length", () => {
81
- it("should call the API", async () => {
82
- const quoteRedirect = "redirect-link";
83
- const tradeApi = "trade-api-link";
84
- const userInput = "Cleaner";
85
- const link = `${tradeApi}?q=${userInput}&site=${quoteRedirect}`;
86
- const AbortSignalMock = expect.anything();
87
-
88
- const { result } = renderHook(() =>
89
- useTradeSelector({
90
- minInput: 3,
91
- apiRequestDebounceInMs: 250,
92
- urls: {
93
- quoteRedirect: "redirect-link",
94
- tradeApi: "trade-api-link",
95
- allOccupations:
96
- "https://quote.simplybusiness.co.uk/trades?vertical=business",
97
- },
98
- }),
99
- );
100
-
101
- await waitFor(() => {
102
- result.current.onInputChange(userInput);
103
- expect(fetchMock).toHaveBeenCalledWith(link, AbortSignalMock);
104
- });
105
- });
106
- });
107
- });
@@ -1,82 +0,0 @@
1
- import { useState, useEffect, Key } from "react";
2
- import { useAsyncList } from "@react-stately/data";
3
- import type { TradeProps, TradeSelectorCommonProps } from "..";
4
-
5
- const formattedTrades = (trades: TradeProps[] | string = []) => ({
6
- items: Array.isArray(trades) ? trades : [trades],
7
- });
8
-
9
- const useTradeSelector = ({
10
- minInput,
11
- urls,
12
- onTradeSelected,
13
- initialTrade,
14
- }: TradeSelectorCommonProps) => {
15
- const [userInput, setUserInput] = useState<string>("");
16
- const [selectedTrade, setSelectedTrade] = useState<string | undefined>(
17
- initialTrade,
18
- );
19
- const [hasUserChangedMind, setHasUserChangedMind] = useState<Boolean>(false);
20
- const endpoint = `${urls.tradeApi}?q=${encodeURIComponent(userInput)}&site=${
21
- urls.quoteRedirect
22
- }`;
23
- const list = useAsyncList({
24
- async load({ signal }) {
25
- if (userInput.length === 0) return formattedTrades();
26
-
27
- if (initialTrade && userInput.length === 0) formattedTrades(initialTrade);
28
-
29
- const response = await fetch(endpoint, {
30
- signal,
31
- });
32
-
33
- const json = await response.json();
34
-
35
- return formattedTrades(json.results);
36
- },
37
- });
38
-
39
- const handleSelectionChange = (value: Key) => {
40
- const items = list.items as TradeProps[];
41
- const trade = items.find(entry => entry.value === value);
42
- setSelectedTrade(trade?.value);
43
- setUserInput(value.toString());
44
- setHasUserChangedMind(false);
45
- if (trade && onTradeSelected) {
46
- try {
47
- onTradeSelected(trade);
48
- } catch (err) {
49
- // eslint-disable-next-line no-console
50
- console.error("onTradeSelected returned the following error", err);
51
- }
52
- }
53
- };
54
-
55
- const handleUserChangedMind = () => {
56
- if (initialTrade) {
57
- setUserInput(initialTrade);
58
- }
59
- setHasUserChangedMind(true);
60
- };
61
-
62
- useEffect(() => {
63
- if (userInput.length >= minInput) list.reload();
64
- // eslint-disable-next-line react-hooks/exhaustive-deps
65
- }, [userInput, minInput]);
66
-
67
- return {
68
- inputValue: userInput,
69
- isLoading: list.isLoading,
70
- trades: list.items as TradeProps[],
71
- error: list.error,
72
- onInputChange: setUserInput,
73
- onSelectionChange: handleSelectionChange,
74
- selectedTrade,
75
- hasUserChangedMind,
76
- onUserChangedMind: handleUserChangedMind,
77
- };
78
- };
79
-
80
- useTradeSelector.displayName = "useTradeSelector";
81
-
82
- export { useTradeSelector };