@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,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useTradeSelector = void 0;
4
- const react_1 = require("react");
5
- const data_1 = require("@react-stately/data");
6
- const formattedTrades = (trades = []) => ({
7
- items: Array.isArray(trades) ? trades : [trades],
8
- });
9
- const useTradeSelector = ({ minInput, urls, onTradeSelected, initialTrade, }) => {
10
- const [userInput, setUserInput] = (0, react_1.useState)("");
11
- const [selectedTrade, setSelectedTrade] = (0, react_1.useState)(initialTrade);
12
- const [hasUserChangedMind, setHasUserChangedMind] = (0, react_1.useState)(false);
13
- const endpoint = `${urls.tradeApi}?q=${encodeURIComponent(userInput)}&site=${urls.quoteRedirect}`;
14
- const list = (0, data_1.useAsyncList)({
15
- async load({ signal }) {
16
- if (userInput.length === 0)
17
- return formattedTrades();
18
- if (initialTrade && userInput.length === 0)
19
- formattedTrades(initialTrade);
20
- const response = await fetch(endpoint, {
21
- signal,
22
- });
23
- const json = await response.json();
24
- return formattedTrades(json.results);
25
- },
26
- });
27
- const handleSelectionChange = (value) => {
28
- const items = list.items;
29
- const trade = items.find(entry => entry.value === value);
30
- setSelectedTrade(trade === null || trade === void 0 ? void 0 : trade.value);
31
- setUserInput(value.toString());
32
- setHasUserChangedMind(false);
33
- if (trade && onTradeSelected) {
34
- try {
35
- onTradeSelected(trade);
36
- }
37
- catch (err) {
38
- // eslint-disable-next-line no-console
39
- console.error("onTradeSelected returned the following error", err);
40
- }
41
- }
42
- };
43
- const handleUserChangedMind = () => {
44
- if (initialTrade) {
45
- setUserInput(initialTrade);
46
- }
47
- setHasUserChangedMind(true);
48
- };
49
- (0, react_1.useEffect)(() => {
50
- if (userInput.length >= minInput)
51
- list.reload();
52
- // eslint-disable-next-line react-hooks/exhaustive-deps
53
- }, [userInput, minInput]);
54
- return {
55
- inputValue: userInput,
56
- isLoading: list.isLoading,
57
- trades: list.items,
58
- error: list.error,
59
- onInputChange: setUserInput,
60
- onSelectionChange: handleSelectionChange,
61
- selectedTrade,
62
- hasUserChangedMind,
63
- onUserChangedMind: handleUserChangedMind,
64
- };
65
- };
66
- exports.useTradeSelector = useTradeSelector;
67
- useTradeSelector.displayName = "useTradeSelector";
68
- //# sourceMappingURL=useTradeSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTradeSelector.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_1 = require("@testing-library/react");
4
- const useTradeSelector_1 = require("./useTradeSelector");
5
- const trade = {
6
- value: "Builder",
7
- vertical: "business",
8
- supported_verticals: ["contractors_combined"],
9
- label: "<strong>Builder</strong>",
10
- type: "exact",
11
- trade_detail: null,
12
- trade_type: null,
13
- blocked: false,
14
- };
15
- let fetchMock;
16
- global.fetch = jest.fn(() => Promise.resolve({
17
- json: () => Promise.resolve({
18
- items: [],
19
- }),
20
- }));
21
- describe("useTradeSelector", () => {
22
- beforeEach(() => {
23
- fetchMock = jest.spyOn(global, "fetch");
24
- });
25
- afterEach(() => {
26
- jest.restoreAllMocks();
27
- });
28
- describe("with no initial trade provided", () => {
29
- it("should not call the API on initial render", async () => {
30
- const { result } = (0, react_1.renderHook)(() => (0, useTradeSelector_1.useTradeSelector)({
31
- minInput: 3,
32
- apiRequestDebounceInMs: 250,
33
- urls: {
34
- quoteRedirect: "redirect-link",
35
- tradeApi: "trade-api-link",
36
- allOccupations: "https://quote.simplybusiness.co.uk/trades?vertical=business",
37
- },
38
- }));
39
- await (0, react_1.waitFor)(() => {
40
- expect(result.current.isLoading).toBeFalsy();
41
- expect(fetchMock).not.toHaveBeenCalled();
42
- });
43
- });
44
- });
45
- describe("with initial trade provided", () => {
46
- it("should not call the API on initial render", async () => {
47
- const { result } = (0, react_1.renderHook)(() => (0, useTradeSelector_1.useTradeSelector)({
48
- minInput: 3,
49
- apiRequestDebounceInMs: 250,
50
- urls: {
51
- quoteRedirect: "redirect-link",
52
- tradeApi: "trade-api-link",
53
- allOccupations: "https://quote.simplybusiness.co.uk/trades?vertical=business",
54
- },
55
- initialTrade: trade.value,
56
- }));
57
- await (0, react_1.waitFor)(() => {
58
- expect(result.current.isLoading).toBeFalsy();
59
- expect(fetchMock).not.toHaveBeenCalled();
60
- });
61
- });
62
- });
63
- describe("with user input set above minimum length", () => {
64
- it("should call the API", async () => {
65
- const quoteRedirect = "redirect-link";
66
- const tradeApi = "trade-api-link";
67
- const userInput = "Cleaner";
68
- const link = `${tradeApi}?q=${userInput}&site=${quoteRedirect}`;
69
- const AbortSignalMock = expect.anything();
70
- const { result } = (0, react_1.renderHook)(() => (0, useTradeSelector_1.useTradeSelector)({
71
- minInput: 3,
72
- apiRequestDebounceInMs: 250,
73
- urls: {
74
- quoteRedirect: "redirect-link",
75
- tradeApi: "trade-api-link",
76
- allOccupations: "https://quote.simplybusiness.co.uk/trades?vertical=business",
77
- },
78
- }));
79
- await (0, react_1.waitFor)(() => {
80
- result.current.onInputChange(userInput);
81
- expect(fetchMock).toHaveBeenCalledWith(link, AbortSignalMock);
82
- });
83
- });
84
- });
85
- });
86
- //# sourceMappingURL=useTradeSelector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTradeSelector.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelector/useTradeSelector.test.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { useComboBoxState } from "@react-stately/combobox";
4
- import { useComboBox } from "@react-aria/combobox";
5
- import { useHover } from "@react-aria/interactions";
6
- import { useFocusRing } from "@react-aria/focus";
7
- import clsx from "clsx";
8
- import { ListBox } from "../ListBox";
9
- import { Popover } from "../Popover";
10
- const ComboBox = (props) => {
11
- const { className, fieldProps, label } = props;
12
- const state = useComboBoxState(Object.assign({}, props));
13
- const inputRef = useRef(null);
14
- const listBoxRef = useRef(null);
15
- const popoverRef = useRef(null);
16
- const { inputProps, listBoxProps } = useComboBox(Object.assign(Object.assign(Object.assign({}, props), fieldProps), { inputRef,
17
- listBoxRef,
18
- popoverRef }), state);
19
- const { close } = state;
20
- const { isFocusVisible, focusProps } = useFocusRing({
21
- within: true,
22
- });
23
- const { hoverProps, isHovered } = useHover(Object.assign({}, props));
24
- const classes = clsx("chopin", "chopin/ComboBoxInput", {
25
- "--is-focused": isFocusVisible,
26
- "--is-hovered": isHovered,
27
- }, className);
28
- return (_jsxs("div", Object.assign({ className: "chopin/ComboBoxInputContainer" }, focusProps, { children: [_jsx("input", Object.assign({}, hoverProps, inputProps, fieldProps, { ref: inputRef, className: classes, "aria-label": label })), state.isOpen && (_jsx(Popover, Object.assign({ popoverRef: popoverRef, isOpen: state.isOpen, onClose: close }, { children: _jsx(ListBox, Object.assign({}, listBoxProps, { listBoxRef: listBoxRef, state: state })) })))] })));
29
- };
30
- export { ComboBox };
31
- //# sourceMappingURL=ComboBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboBox.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ComboBox/ComboBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAQrC,MAAM,QAAQ,GAAG,CAAmB,KAA0B,EAAE,EAAE;IAChE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,KAAK,GAAG,gBAAgB,mBAAM,KAAK,EAAG,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,WAAW,+CAEzC,KAAK,GACL,UAAU,KACb,QAAQ;QACR,UAAU;QACV,UAAU,KAEZ,KAAK,CACN,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,mBACrC,KAAK,EACR,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,CAClB,QAAQ,EACR,sBAAsB,EACtB;QACE,cAAc,EAAE,cAAc;QAC9B,cAAc,EAAE,SAAS;KAC1B,EACD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,+BAA+B,IAAK,UAAU,eAC3D,gCACM,UAAU,EACV,UAAU,EACV,UAAU,IACd,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,OAAO,gBACN,KAAK,IACjB,EACD,KAAK,CAAC,MAAM,IAAI,CACf,KAAC,OAAO,kBAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,gBACnE,KAAC,OAAO,oBAAK,YAAY,IAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,IAC3D,CACX,KACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,54 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import userEvent from "@testing-library/user-event";
4
- import { Section, Item } from "@react-stately/collections";
5
- import { ComboBox } from ".";
6
- const CONTAINER_CLASS_NAME = "chopin/ComboBoxInputContainer";
7
- const INPUT_CLASS_NAME = "chopin/ComboBoxInput";
8
- const LISTBOX_CLASS_NAME = "chopin/ListBoxSection";
9
- const LISTBOX_HEADING_CLASS_NAME = "chopin/ListBoxSectionHeading";
10
- const LISTBOX_LIST_CLASS_NAME = "chopin/ListBoxSectionList";
11
- const LISTBOX_OPTION_CLASS_NAME = "chopin/TradeSelectorOption";
12
- describe("ComboBox", () => {
13
- it("should render without errors", async () => {
14
- const sampleContent = "Sample text";
15
- render(_jsx(ComboBox, Object.assign({ label: "Test" }, { children: _jsx(Item, { children: sampleContent }) })));
16
- await userEvent.tab();
17
- await userEvent.keyboard("[Alt][ArrowDown]");
18
- expect(screen.getByText(sampleContent)).toBeInTheDocument();
19
- });
20
- it("should render with class names", () => {
21
- render(_jsx(ComboBox, Object.assign({ label: "Test" }, { children: _jsx(Item, { children: "Sample text" }) })));
22
- const input = screen.getByRole("combobox");
23
- expect(input.parentElement).toHaveClass(CONTAINER_CLASS_NAME);
24
- expect(input).toHaveClass(INPUT_CLASS_NAME);
25
- });
26
- // NOTE: testing ListBox in isolation, requires complicated state mocking.
27
- // ComboBox uses ListBox and provides it with a generated state object.
28
- describe("nested ListBox", () => {
29
- it("should render with class names", async () => {
30
- const firstSection = "First section";
31
- const firstItem = "First item";
32
- const secondSection = "Second section";
33
- const secondItem = "Second item";
34
- const EXPECTED_NUMBER_OF_SECTIONS = 2;
35
- const EXPECTED_NUMBER_OF_GROUPS = 2;
36
- const EXPECTED_NUMBER_OF_ITEMS = 2;
37
- render(_jsxs(ComboBox, Object.assign({ label: "Test" }, { children: [_jsx(Section, Object.assign({ title: firstSection }, { children: _jsx(Item, { children: firstItem }) })), _jsx(Section, Object.assign({ title: secondSection }, { children: _jsx(Item, { children: secondItem }) }))] })));
38
- await userEvent.tab();
39
- await userEvent.keyboard("[Alt][ArrowDown]");
40
- const sections = screen.queryAllByRole("presentation");
41
- const groups = screen.queryAllByRole("group");
42
- const items = screen.queryAllByRole("option");
43
- const heading = sections[0].firstChild;
44
- expect(sections.length).toBe(EXPECTED_NUMBER_OF_SECTIONS);
45
- expect(groups.length).toBe(EXPECTED_NUMBER_OF_GROUPS);
46
- expect(items.length).toBe(EXPECTED_NUMBER_OF_ITEMS);
47
- expect(sections[0]).toHaveClass(LISTBOX_CLASS_NAME);
48
- expect(groups[0]).toHaveClass(LISTBOX_LIST_CLASS_NAME);
49
- expect(items[0]).toHaveClass(LISTBOX_OPTION_CLASS_NAME);
50
- expect(heading).toHaveClass(LISTBOX_HEADING_CLASS_NAME);
51
- });
52
- });
53
- });
54
- //# sourceMappingURL=ComboBox.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboBox.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ComboBox/ComboBox.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC;AAE7B,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAC7D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AACnD,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAClE,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAC5D,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAE/D,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,aAAa,GAAG,aAAa,CAAC;QAEpC,MAAM,CACJ,KAAC,QAAQ,kBAAC,KAAK,EAAC,MAAM,gBACpB,KAAC,IAAI,cAAE,aAAa,GAAQ,IACnB,CACZ,CAAC;QAEF,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QAEtB,MAAM,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,KAAC,QAAQ,kBAAC,KAAK,EAAC,MAAM,gBACpB,KAAC,IAAI,8BAAmB,IACf,CACZ,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,YAAY,GAAG,eAAe,CAAC;YACrC,MAAM,SAAS,GAAG,YAAY,CAAC;YAC/B,MAAM,aAAa,GAAG,gBAAgB,CAAC;YACvC,MAAM,UAAU,GAAG,aAAa,CAAC;YACjC,MAAM,2BAA2B,GAAG,CAAC,CAAC;YACtC,MAAM,yBAAyB,GAAG,CAAC,CAAC;YACpC,MAAM,wBAAwB,GAAG,CAAC,CAAC;YAEnC,MAAM,CACJ,MAAC,QAAQ,kBAAC,KAAK,EAAC,MAAM,iBACpB,KAAC,OAAO,kBAAC,KAAK,EAAE,YAAY,gBAC1B,KAAC,IAAI,cAAE,SAAS,GAAQ,IAChB,EACV,KAAC,OAAO,kBAAC,KAAK,EAAE,aAAa,gBAC3B,KAAC,IAAI,cAAE,UAAU,GAAQ,IACjB,KACD,CACZ,CAAC;YAEF,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;YAEtB,MAAM,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAEvC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./ComboBox";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ComboBox/index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { useListBox } from "@react-aria/listbox";
4
- import { ListBoxSection } from "./ListBoxSection";
5
- import { Option } from "./Option";
6
- const ListBox = (props) => {
7
- const ref = useRef(null);
8
- const { listBoxRef = ref, state } = props;
9
- const { listBoxProps } = useListBox(props, state, listBoxRef);
10
- return (_jsx("ul", Object.assign({}, listBoxProps, { ref: listBoxRef, className: "chopin/ListBox" }, { children: [...state.collection].map(item => item.type === "section" ? (_jsx(ListBoxSection, { section: item, state: state }, item.key)) : (_jsx(Option, { item: item, state: state }, item.key))) })));
11
- };
12
- export { ListBox };
13
- //# sourceMappingURL=ListBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListBox.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ListBox/ListBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAWlC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IACtC,MAAM,GAAG,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAE9D,OAAO,CACL,6BAAQ,YAAY,IAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,gBAAgB,gBAC9D,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CACxB,KAAC,cAAc,IAAgB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAArC,IAAI,CAAC,GAAG,CAAiC,CAC/D,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAlC,IAAI,CAAC,GAAG,CAA8B,CACpD,CACF,IACE,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { useListBoxSection } from "@react-aria/listbox";
3
- import { Option } from "./Option";
4
- const ListBoxSection = ({ section, state }) => {
5
- const { itemProps, headingProps, groupProps } = useListBoxSection({
6
- heading: section.rendered,
7
- "aria-label": section["aria-label"],
8
- });
9
- return (_jsxs("li", Object.assign({}, itemProps, { className: "chopin/ListBoxSection" }, { children: [section.rendered && (_jsx("span", Object.assign({}, headingProps, { className: "chopin/ListBoxSectionHeading" }, { children: section.rendered }))), _jsx("ul", Object.assign({}, groupProps, { className: "chopin/ListBoxSectionList" }, { children: [...section.childNodes].map(node => (_jsx(Option, { item: node, state: state }, node.key))) }))] })));
10
- };
11
- export { ListBoxSection };
12
- //# sourceMappingURL=ListBoxSection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListBoxSection.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ListBox/ListBoxSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOlC,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAgB,EAAE,EAAE;IAC1D,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC;QAChE,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;KACpC,CAAC,CAAC;IAEH,OAAO,CACL,8BAAQ,SAAS,IAAE,SAAS,EAAC,uBAAuB,iBACjD,OAAO,CAAC,QAAQ,IAAI,CACnB,+BAAU,YAAY,IAAE,SAAS,EAAC,8BAA8B,gBAC7D,OAAO,CAAC,QAAQ,IACZ,CACR,EACD,6BAAQ,UAAU,IAAE,SAAS,EAAC,2BAA2B,gBACtD,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACnC,KAAC,MAAM,IAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAlC,IAAI,CAAC,GAAG,CAA8B,CACpD,CAAC,IACC,KACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { useOption } from "@react-aria/listbox";
4
- import clsx from "clsx";
5
- const Option = ({ item, state }) => {
6
- const ref = useRef(null);
7
- const { optionProps, isSelected, isFocused, isDisabled } = useOption({ key: item.key }, state, ref);
8
- const classes = clsx("chopin/TradeSelectorOption", {
9
- "--is-selected": isSelected,
10
- "--is-focused": isFocused,
11
- "--is-disabled": isDisabled,
12
- });
13
- return (_jsx("li", Object.assign({}, optionProps, { ref: ref, className: classes }, { children: item.rendered })));
14
- };
15
- export { Option };
16
- //# sourceMappingURL=Option.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Option.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ListBox/Option.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAe,EAAE,EAAE;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC5C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAClE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EACjB,KAAK,EACL,GAAG,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,EAAE;QACjD,eAAe,EAAE,UAAU;QAC3B,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,UAAU;KAC5B,CAAC,CAAC;IAEH,OAAO,CACL,6BAAQ,WAAW,IAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,gBAC9C,IAAI,CAAC,QAAQ,IACX,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./ListBox";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/ListBox/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,21 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { useRef } from "react";
3
- import { useOverlay, DismissButton } from "@react-aria/overlays";
4
- import { FocusScope } from "@react-aria/focus";
5
- const Popover = (props) => {
6
- const ref = useRef(null);
7
- const { popoverRef = ref, isOpen, onClose, children } = props;
8
- // Handle events that should cause the popup to close,
9
- // e.g. blur, clicking outside, or pressing the escape key.
10
- const { overlayProps } = useOverlay({
11
- isOpen,
12
- onClose,
13
- shouldCloseOnBlur: true,
14
- isDismissable: true,
15
- }, popoverRef);
16
- // Add a hidden <DismissButton> component at the end of the popover
17
- // to allow screen reader users to dismiss the popup easily.
18
- return (_jsx(FocusScope, Object.assign({ restoreFocus: true }, { children: _jsxs("div", Object.assign({}, overlayProps, { ref: popoverRef, className: "chopin/Popover" }, { children: [children, _jsx(DismissButton, { onDismiss: onClose })] })) })));
19
- };
20
- export { Popover };
21
- //# sourceMappingURL=Popover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Popover/Popover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAwB,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW/C,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IACtC,MAAM,GAAG,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,UAAU,GAAG,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE9D,sDAAsD;IACtD,2DAA2D;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CACjC;QACE,MAAM;QACN,OAAO;QACP,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;KACpB,EACD,UAAU,CACX,CAAC;IAEF,mEAAmE;IACnE,4DAA4D;IAC5D,OAAO,CACL,KAAC,UAAU,kBAAC,YAAY,sBACtB,+BAAS,YAAY,IAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,gBAAgB,iBAC/D,QAAQ,EACT,KAAC,aAAa,IAAC,SAAS,EAAE,OAAO,GAAI,KACjC,IACK,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { render, screen } from "@testing-library/react";
3
- import { Popover } from ".";
4
- const POPOVER_CLASS_NAME = "chopin/Popover";
5
- describe("Popover", () => {
6
- it("should render without errors", () => {
7
- render(_jsx(Popover, { children: _jsx("li", { children: "Item" }) }));
8
- expect(screen.getByText("Item")).toBeInTheDocument();
9
- });
10
- it("should render with class names", () => {
11
- render(_jsx(Popover, { children: _jsx("li", { children: "Item" }) }));
12
- const innerContainer = screen.getByText("Item").parentElement;
13
- expect(innerContainer).toHaveClass(POPOVER_CLASS_NAME);
14
- });
15
- });
16
- //# sourceMappingURL=Popover.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Popover.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Popover/Popover.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CACJ,KAAC,OAAO,cACN,gCAAa,GACL,CACX,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CACJ,KAAC,OAAO,cACN,gCAAa,GACL,CACX,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;QAE9D,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./Popover";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Popover/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
- import { Text } from "../../../Text";
3
- export const SelectedTrade = ({ trade, onClick }) => (_jsxs(Text, { children: ["You have selected \u2018", _jsx("strong", { children: trade }), "\u2019 as your trade/profession.", " ", _jsx("button", Object.assign({ type: "button", className: "mobius/Link chopin/TradeSelectorButton", "aria-label": "Change your selected profession", onClick: onClick }, { children: "Change" }))] }));
4
- //# sourceMappingURL=SelectedTrade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectedTrade.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOrC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAsB,EAAE,EAAE,CAAC,CACvE,MAAC,IAAI,2CACgB,2BAAS,KAAK,GAAU,sCAA4B,GAAG,EAC1E,+BACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wCAAwC,gBACvC,iCAAiC,EAC5C,OAAO,EAAE,OAAO,4BAGT,IACJ,CACR,CAAC"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
- import { render, screen, fireEvent } from "@testing-library/react";
3
- import { SelectedTrade } from ".";
4
- describe("SelectedTrade", () => {
5
- it("renders without errors", () => {
6
- const trade = "Plumber";
7
- const clickHandler = jest.fn();
8
- const { container } = render(_jsx(SelectedTrade, { trade: trade, onClick: clickHandler }));
9
- const textElement = container.querySelector("p");
10
- const button = screen.getByText("Change");
11
- expect(textElement).toHaveTextContent(`You have selected ‘${trade}’ as your trade/profession.`);
12
- fireEvent.click(button);
13
- expect(clickHandler).toHaveBeenCalled();
14
- });
15
- });
16
- //# sourceMappingURL=SelectedTrade.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectedTrade.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/SelectedTrade/SelectedTrade.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAC;AAElC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAI,CACvD,CAAC;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CACnC,sBAAsB,KAAK,6BAA6B,CACzD,CAAC;QAEF,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAExB,MAAM,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./SelectedTrade";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/SelectedTrade/index.tsx"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,23 +0,0 @@
1
- import { getTradesGroupedByType } from "../getTradesGroupedByType";
2
- export const getItemsToDisplay = ({ trades, isLoading, labels, }) => {
3
- if (trades.length > 0) {
4
- return getTradesGroupedByType(trades, labels);
5
- }
6
- if (isLoading) {
7
- return [
8
- {
9
- name: labels.loading,
10
- title: labels.loading,
11
- children: [],
12
- },
13
- ];
14
- }
15
- return [
16
- {
17
- name: labels.noResults,
18
- title: labels.noResults,
19
- children: [],
20
- },
21
- ];
22
- };
23
- //# sourceMappingURL=getItemsToDisplay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getItemsToDisplay.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AASnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,MAAM,EACN,SAAS,EACT,MAAM,GACiB,EAAE,EAAE;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/C;IAED,IAAI,SAAS,EAAE;QACb,OAAO;YACL;gBACE,IAAI,EAAE,MAAM,CAAC,OAAiB;gBAC9B,KAAK,EAAE,MAAM,CAAC,OAAiB;gBAC/B,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;KACH;IAED,OAAO;QACL;YACE,IAAI,EAAE,MAAM,CAAC,SAAmB;YAChC,KAAK,EAAE,MAAM,CAAC,SAAmB;YACjC,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,74 +0,0 @@
1
- import { getItemsToDisplay } from "./getItemsToDisplay";
2
- import { exactResults, suggestedResults } from "../mockApiResults";
3
- const mockedApiResults = [...exactResults, ...suggestedResults];
4
- describe("getItemsToDisplay", () => {
5
- const defaultLabels = {
6
- input: "",
7
- exact: "",
8
- suggested: "",
9
- loading: "",
10
- noResults: "",
11
- description: "",
12
- placeholder: "",
13
- };
14
- describe("given no trades have been provided", () => {
15
- it("returns a single item with the no results label", () => {
16
- const props = {
17
- trades: [],
18
- isLoading: false,
19
- labels: Object.assign(Object.assign({}, defaultLabels), { noResults: "No results" }),
20
- };
21
- const actual = getItemsToDisplay(Object.assign({}, props));
22
- const expected = [
23
- {
24
- name: props.labels.noResults,
25
- title: props.labels.noResults,
26
- children: [],
27
- },
28
- ];
29
- expect(actual).toEqual(expected);
30
- });
31
- });
32
- describe("given a list of trades have been provided", () => {
33
- it("returns the trades grouped by type", () => {
34
- const props = {
35
- trades: mockedApiResults,
36
- isLoading: false,
37
- labels: Object.assign(Object.assign({}, defaultLabels), { exact: "Exact matches for your search", suggested: "Suggested matches for your search" }),
38
- };
39
- const actual = getItemsToDisplay(Object.assign({}, props));
40
- const expected = [
41
- {
42
- name: "exact",
43
- title: props.labels.exact,
44
- children: [...exactResults],
45
- },
46
- {
47
- name: "suggested",
48
- title: props.labels.suggested,
49
- children: [...suggestedResults],
50
- },
51
- ];
52
- expect(actual).toEqual(expected);
53
- });
54
- });
55
- describe("given isLoading is set to true", () => {
56
- it("returns a single item with the loading label", () => {
57
- const props = {
58
- trades: [],
59
- isLoading: true,
60
- labels: Object.assign(Object.assign({}, defaultLabels), { loading: "Is loading" }),
61
- };
62
- const actual = getItemsToDisplay(Object.assign({}, props));
63
- const expected = [
64
- {
65
- name: props.labels.loading,
66
- title: props.labels.loading,
67
- children: [],
68
- },
69
- ];
70
- expect(actual).toEqual(expected);
71
- });
72
- });
73
- });
74
- //# sourceMappingURL=getItemsToDisplay.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getItemsToDisplay.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/getItemsToDisplay/getItemsToDisplay.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./getItemsToDisplay";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/getItemsToDisplay/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -1,13 +0,0 @@
1
- export const getTradesGroupedByType = (trades, labels) => Object.entries(trades.reduce((prev, acc) => {
2
- var _a;
3
- const { type } = acc;
4
- // eslint-disable-next-line no-param-reassign
5
- (_a = prev[type]) !== null && _a !== void 0 ? _a : (prev[type] = []);
6
- prev[type].push(acc);
7
- return prev;
8
- }, {})).map(([name, children]) => ({
9
- name,
10
- title: labels[name],
11
- children,
12
- }));
13
- //# sourceMappingURL=getTradesGroupedByType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTradesGroupedByType.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/getTradesGroupedByType/getTradesGroupedByType.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAyB,EACzB,MAA+C,EAC/C,EAAE,CACF,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;;IAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,6CAA6C;IAC7C,MAAA,IAAI,CAAC,IAAI,qCAAT,IAAI,CAAC,IAAI,IAAM,EAAE,EAAC;IAClB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,EAAE,CAAC,CACP,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI;IACJ,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;IACnB,QAAQ;CACT,CAAC,CAAwB,CAAC"}