@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,5 +1,9 @@
1
1
  import { Ref, RefAttributes } from "react";
2
2
  import { DOMProps } from "@react-types/shared";
3
+ export type DialogRef = HTMLDialogElement;
4
+ export type InputRef = HTMLInputElement;
5
+ export type TradeSelectorSearchScope = "all_verticals" | "current_and_supported_verticals" | "current_vertical" | "except_current_vertical" | "usa_contractors" | "commercial_landlord_business_types" | "contractors_combined" | "supported_for_current_vertical" | "commercial_combined_manufacturer" | "commercial_combined_wholesaler" | "commercial_combined_all";
6
+ export type TradeSelectorVertical = string;
3
7
  export type TradeProps = {
4
8
  value: string;
5
9
  vertical: string;
@@ -10,11 +14,6 @@ export type TradeProps = {
10
14
  trade_type: string | null;
11
15
  blocked: boolean;
12
16
  };
13
- export type GroupedTradeProps = {
14
- name: string;
15
- title: string;
16
- children: TradeProps[];
17
- };
18
17
  export type LabelProps = {
19
18
  input: string;
20
19
  exact: string;
@@ -35,12 +34,15 @@ export type TradeSelectorCommonProps = {
35
34
  urls: UrlProps;
36
35
  onTradeSelected?: (trade: TradeProps | string) => void;
37
36
  initialTrade?: string;
37
+ vertical?: TradeSelectorVertical;
38
+ searchScope?: TradeSelectorSearchScope;
38
39
  };
39
40
  export type TradeSelectorElementType = HTMLDivElement;
40
41
  export interface TradeSelectorProps extends Partial<TradeSelectorCommonProps>, DOMProps, RefAttributes<TradeSelectorElementType> {
41
42
  /** Custom class name for setting specific CSS */
42
43
  className?: string;
43
44
  elementType?: string | React.ElementType;
45
+ onTradeSelected?: (trade: TradeProps | string) => void;
44
46
  labels?: LabelProps;
45
47
  hideLabel?: boolean;
46
48
  }
@@ -0,0 +1 @@
1
+ export * from "./useFetchTrades";
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./SelectedTrade"), exports);
17
+ __exportStar(require("./useFetchTrades"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useFetchTrades/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { TradeProps } from "../types";
3
+ export declare const useFetchTrades: (endpoint: URL, debounceInMs: number) => {
4
+ isLoading: boolean;
5
+ error: Error | null;
6
+ trades: TradeProps[] | null;
7
+ fetchTrades: import("react").Dispatch<import("react").SetStateAction<boolean>>;
8
+ };
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useFetchTrades = void 0;
7
+ const react_1 = require("react");
8
+ const lodash_debounce_1 = __importDefault(require("lodash.debounce"));
9
+ const useFetchTrades = (endpoint, debounceInMs) => {
10
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
11
+ const [error, setError] = (0, react_1.useState)(null);
12
+ const [trades, setTrades] = (0, react_1.useState)(null);
13
+ const [fetchTrades, setFetchTrades] = (0, react_1.useState)(false);
14
+ const getTrades = (0, react_1.useCallback)(
15
+ // eslint-disable-next-line consistent-return
16
+ async (signal) => {
17
+ try {
18
+ const response = await fetch(endpoint, {
19
+ signal,
20
+ });
21
+ const json = await response.json();
22
+ setIsLoading(false);
23
+ if (!response.ok) {
24
+ throw new Error(json.message || json.statusText);
25
+ }
26
+ setError(null);
27
+ return setTrades(json.results);
28
+ }
29
+ catch (err) {
30
+ if (err instanceof Error && err.name !== "AbortError") {
31
+ // eslint-disable-next-line no-console
32
+ console.error(err);
33
+ setError(err);
34
+ }
35
+ }
36
+ }, [endpoint]);
37
+ (0, react_1.useEffect)(() => {
38
+ const controller = new AbortController();
39
+ if (fetchTrades) {
40
+ setIsLoading(true);
41
+ const fetchData = (0, lodash_debounce_1.default)(async () => {
42
+ const { signal } = controller;
43
+ await getTrades(signal);
44
+ }, debounceInMs);
45
+ fetchData();
46
+ }
47
+ return () => controller.abort();
48
+ }, [getTrades, debounceInMs, fetchTrades]);
49
+ (0, react_1.useEffect)(() => {
50
+ if (!isLoading) {
51
+ setFetchTrades(false);
52
+ }
53
+ }, [isLoading]);
54
+ return {
55
+ isLoading,
56
+ error,
57
+ trades,
58
+ fetchTrades: setFetchTrades,
59
+ };
60
+ };
61
+ exports.useFetchTrades = useFetchTrades;
62
+ //# sourceMappingURL=useFetchTrades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFetchTrades.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useFetchTrades/useFetchTrades.ts"],"names":[],"mappings":";;;;;;AAAA,iCAAyD;AACzD,sEAAuC;AAGhC,MAAM,cAAc,GAAG,CAAC,QAAa,EAAE,YAAoB,EAAE,EAAE;IACpE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAsB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG,IAAA,mBAAW;IAC3B,6CAA6C;IAC7C,KAAK,EAAE,MAAmB,EAAE,EAAE;QAC5B,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;gBACrC,MAAM;aACP,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;aAClD;YAED,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAChC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;gBACrD,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,CAAC;aACf;SACF;IACH,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,IAAI,CAAC,CAAC;YAEnB,MAAM,SAAS,GAAG,IAAA,yBAAQ,EAAC,KAAK,IAAI,EAAE;gBACpC,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;gBAC9B,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC,EAAE,YAAY,CAAC,CAAC;YAEjB,SAAS,EAAE,CAAC;SACb;QAED,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,EAAE;YACd,cAAc,CAAC,KAAK,CAAC,CAAC;SACvB;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO;QACL,SAAS;QACT,KAAK;QACL,MAAM;QACN,WAAW,EAAE,cAAc;KAC5B,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,cAAc,kBA8DzB"}
@@ -0,0 +1 @@
1
+ export * from "./useTradeSelectorUrl";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useTradeSelectorUrl"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelector/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelectorUrl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
@@ -0,0 +1,6 @@
1
+ export type TradeSelectorUrlOptions = {
2
+ vertical?: string;
3
+ searchScope?: string;
4
+ site?: string;
5
+ };
6
+ export declare function useTradeSelectorUrl(tradeApi: string, userInput: string, { vertical, searchScope, site }?: TradeSelectorUrlOptions): URL;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTradeSelectorUrl = void 0;
4
+ const react_1 = require("react");
5
+ function addQueryParam(url, key, value) {
6
+ if (value)
7
+ url.searchParams.set(key, value);
8
+ }
9
+ function useTradeSelectorUrl(tradeApi, userInput, { vertical, searchScope, site } = {}) {
10
+ return (0, react_1.useMemo)(() => {
11
+ const url = new URL(tradeApi);
12
+ addQueryParam(url, "q", userInput);
13
+ addQueryParam(url, "vertical", vertical);
14
+ addQueryParam(url, "search_scope", searchScope);
15
+ addQueryParam(url, "site", site);
16
+ return url;
17
+ }, [tradeApi, userInput, vertical, searchScope, site]);
18
+ }
19
+ exports.useTradeSelectorUrl = useTradeSelectorUrl;
20
+ //# sourceMappingURL=useTradeSelectorUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTradeSelectorUrl.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAQhC,SAAS,aAAa,CAAC,GAAQ,EAAE,GAAW,EAAE,KAAc;IAC1D,IAAI,KAAK;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAgB,EAChB,SAAiB,EACjB,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,KAA8B,EAAE;IAE7D,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACnC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzC,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAChD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAbD,kDAaC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("@testing-library/react");
4
+ const useTradeSelectorUrl_1 = require("./useTradeSelectorUrl");
5
+ describe("useTradeSelectorUrl", () => {
6
+ it("should return a url", () => {
7
+ const { result } = (0, react_1.renderHook)(() => (0, useTradeSelectorUrl_1.useTradeSelectorUrl)("https://trade-api.example.com/search", "foo"));
8
+ expect(result.current).toBeInstanceOf(URL);
9
+ });
10
+ it("should return a url with the correct query params", () => {
11
+ const { result } = (0, react_1.renderHook)(() => (0, useTradeSelectorUrl_1.useTradeSelectorUrl)("https://trade-api.example.com/search", "foo", {
12
+ vertical: "bar",
13
+ searchScope: "baz",
14
+ }));
15
+ expect(result.current.searchParams.get("q")).toEqual("foo");
16
+ expect(result.current.searchParams.get("vertical")).toEqual("bar");
17
+ expect(result.current.searchParams.get("search_scope")).toEqual("baz");
18
+ });
19
+ it("should return a new url when the input changes", () => {
20
+ const { result, rerender } = (0, react_1.renderHook)(({ userInput }) => (0, useTradeSelectorUrl_1.useTradeSelectorUrl)("https://trade-api.example.com/search", userInput), {
21
+ initialProps: { userInput: "foo" },
22
+ });
23
+ const firstUrl = result.current;
24
+ rerender({ userInput: "bar" });
25
+ const secondUrl = result.current;
26
+ expect(firstUrl).not.toEqual(secondUrl);
27
+ });
28
+ });
29
+ //# sourceMappingURL=useTradeSelectorUrl.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTradeSelectorUrl.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/useTradeSelectorUrl/useTradeSelectorUrl.test.ts"],"names":[],"mappings":";;AAAA,kDAAoD;AACpD,+DAA4D;AAE5D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CACjC,IAAA,yCAAmB,EAAC,sCAAsC,EAAE,KAAK,CAAC,CACnE,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CACjC,IAAA,yCAAmB,EAAC,sCAAsC,EAAE,KAAK,EAAE;YACjE,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;SACnB,CAAC,CACH,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAU,EACrC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAChB,IAAA,yCAAmB,EAAC,sCAAsC,EAAE,SAAS,CAAC,EACxE;YACE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACnC,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
+ export * from "./Actions";
2
+ export * from "./Footer";
3
+ export * from "./Header";
1
4
  export * from "./PercentageTotalsQuestion";
2
5
  export * from "./Question";
3
6
  export * from "./QuestionGroup";
4
- export * from "./Steps";
5
7
  export * from "./Section";
6
- export * from "./TradeSelector";
7
- export * from "./Footer";
8
- export * from "./Header";
9
- export * from "./Actions";
8
+ export * from "./Steps";
10
9
  export * from "./Testimonial";
10
+ export * from "./TradeSelector";
@@ -14,14 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Actions"), exports);
18
+ __exportStar(require("./Footer"), exports);
19
+ __exportStar(require("./Header"), exports);
17
20
  __exportStar(require("./PercentageTotalsQuestion"), exports);
18
21
  __exportStar(require("./Question"), exports);
19
22
  __exportStar(require("./QuestionGroup"), exports);
20
- __exportStar(require("./Steps"), exports);
21
23
  __exportStar(require("./Section"), exports);
22
- __exportStar(require("./TradeSelector"), exports);
23
- __exportStar(require("./Footer"), exports);
24
- __exportStar(require("./Header"), exports);
25
- __exportStar(require("./Actions"), exports);
24
+ __exportStar(require("./Steps"), exports);
26
25
  __exportStar(require("./Testimonial"), exports);
26
+ __exportStar(require("./TradeSelector"), exports);
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Chopin/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,6CAA2B;AAC3B,kDAAgC;AAChC,0CAAwB;AACxB,4CAA0B;AAC1B,kDAAgC;AAChC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Chopin/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,6DAA2C;AAC3C,6CAA2B;AAC3B,kDAAgC;AAChC,4CAA0B;AAC1B,0CAAwB;AACxB,gDAA8B;AAC9B,kDAAgC"}
@@ -26,12 +26,12 @@ exports.PasswordField = (0, react_1.forwardRef)((_a, ref) => {
26
26
  const [show, setShow] = (0, react_1.useState)(false);
27
27
  const type = show ? "text" : "password";
28
28
  const classNames = (0, clsx_1.default)("mobius/PasswordField", className);
29
- const localRef = (0, react_1.useRef)();
29
+ const localRef = (0, react_1.useRef)(null);
30
30
  const handleShowHideButtonClick = () => {
31
31
  var _a;
32
32
  setShow(oldShow => !oldShow);
33
33
  (_a = localRef.current) === null || _a === void 0 ? void 0 : _a.focus();
34
34
  };
35
- return ((0, jsx_runtime_1.jsx)(TextField_1.TextField, Object.assign({ ref: (0, mergeRefs_1.mergeRefs)([localRef, ref]), type: type, className: classNames }, props, { children: (0, jsx_runtime_1.jsx)(ShowHideButton_1.ShowHideButton, { onClick: handleShowHideButtonClick, show: show }) })));
35
+ return ((0, jsx_runtime_1.jsx)(TextField_1.TextField, Object.assign({ ref: (0, mergeRefs_1.mergeRefs)([localRef, ref]), className: classNames }, props, { type: type }, { children: (0, jsx_runtime_1.jsx)(ShowHideButton_1.ShowHideButton, { onClick: handleShowHideButtonClick, show: show }) })));
36
36
  });
37
37
  //# sourceMappingURL=PasswordField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../../../../src/components/PasswordField/PasswordField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,iCAAqD;AACrD,qDAAkD;AAClD,4CAKsB;AACtB,qDAAkD;AAMrC,QAAA,aAAa,GAAG,IAAA,kBAAU,EACrC,CAAC,EAA2C,EAAE,GAAiB,EAAE,EAAE;QAAlE,EAAE,SAAS,OAAgC,EAA3B,KAAK,cAArB,aAAuB,CAAF;IACpB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,cAAI,EAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAA,cAAM,GAAwB,CAAC;IAEhD,MAAM,yBAAyB,GAAG,GAAG,EAAE;;QACrC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,qBAAS,kBACR,GAAG,EAAE,IAAA,qBAAS,EAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,UAAU,IACjB,KAAK,cAET,uBAAC,+BAAc,IAAC,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,GAAI,IACxD,CACb,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"PasswordField.js","sourceRoot":"","sources":["../../../../src/components/PasswordField/PasswordField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,iCAAqD;AACrD,qDAAkD;AAClD,4CAKsB;AACtB,qDAAkD;AAMrC,QAAA,aAAa,GAAG,IAAA,kBAAU,EACrC,CAAC,EAA2C,EAAE,GAAiB,EAAE,EAAE;QAAlE,EAAE,SAAS,OAAgC,EAA3B,KAAK,cAArB,aAAuB,CAAF;IACpB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,cAAI,EAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAuB,IAAI,CAAC,CAAC;IAEpD,MAAM,yBAAyB,GAAG,GAAG,EAAE;;QACrC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,qBAAS,kBACR,GAAG,EAAE,IAAA,qBAAS,EAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAC/B,SAAS,EAAE,UAAU,IACjB,KAAK,IACT,IAAI,EAAE,IAAI,gBAEV,uBAAC,+BAAc,IAAC,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,GAAI,IACxD,CACb,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./useOnClickOutside";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useOnClickOutside"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/useOnClickOutside/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
@@ -0,0 +1,2 @@
1
+ import { RefObject } from "react";
2
+ export declare const useOnClickOutside: (ref: RefObject<HTMLElement>, handler: (event: MouseEvent | TouchEvent) => void) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useOnClickOutside = void 0;
4
+ const react_1 = require("react");
5
+ const useOnClickOutside = (ref, handler) => {
6
+ (0, react_1.useEffect)(() => {
7
+ const listener = (event) => {
8
+ // Do nothing if clicking ref's element or descendent elements
9
+ if (!ref.current || ref.current.contains(event.target)) {
10
+ return;
11
+ }
12
+ handler(event);
13
+ };
14
+ document.addEventListener("mousedown", listener);
15
+ document.addEventListener("touchstart", listener);
16
+ return () => {
17
+ document.removeEventListener("mousedown", listener);
18
+ document.removeEventListener("touchstart", listener);
19
+ };
20
+ }, [ref, handler]);
21
+ };
22
+ exports.useOnClickOutside = useOnClickOutside;
23
+ //# sourceMappingURL=useOnClickOutside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnClickOutside.js","sourceRoot":"","sources":["../../../../src/hooks/useOnClickOutside/useOnClickOutside.ts"],"names":[],"mappings":";;;AAAA,iCAA6C;AAEtC,MAAM,iBAAiB,GAAG,CAC/B,GAA2B,EAC3B,OAAiD,EACjD,EAAE;IACF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,CAAC,KAA8B,EAAE,EAAE;YAClD,8DAA8D;YAC9D,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE;gBACrE,OAAO;aACR;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjD,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAElD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACpD,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AApBW,QAAA,iBAAiB,qBAoB5B"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { useFocusRing } from "@react-aria/focus";
3
3
  import clsx from "clsx";
4
- import { useEffect, useState, useRef, useCallback } from "react";
4
+ import { useEffect, useState, useRef } from "react";
5
+ import { useOnClickOutside } from "../../../hooks/useOnClickOutside";
5
6
  import { useWindowEvent } from "../../../hooks/useWindowEvent";
6
7
  export function QuestionHelp({ openedLabel = "Close Help", closedLabel = "Open Help", children, onChange = () => { }, isDesktop, closeHelpOnOutsideClick = false, }) {
7
8
  const [isOpen, setIsOpen] = useState(false);
@@ -12,20 +13,14 @@ export function QuestionHelp({ openedLabel = "Close Help", closedLabel = "Open H
12
13
  setIsOpen(false);
13
14
  }
14
15
  });
15
- const handleClickOutside = useCallback((event) => {
16
- if (ref.current &&
17
- !ref.current.contains(event.target) &&
18
- closeHelpOnOutsideClick) {
16
+ useOnClickOutside(ref, () => {
17
+ if (closeHelpOnOutsideClick) {
19
18
  setIsOpen(false);
20
19
  }
21
- }, [setIsOpen, closeHelpOnOutsideClick]);
20
+ });
22
21
  useEffect(() => {
23
22
  onChange(isOpen);
24
- window.addEventListener("click", handleClickOutside, {
25
- passive: true,
26
- });
27
- return () => window.removeEventListener("click", handleClickOutside);
28
- }, [onChange, isOpen, handleClickOutside]);
23
+ }, [onChange, isOpen]);
29
24
  const className = clsx("chopin/QuestionHelp", {
30
25
  "--is-open": isOpen,
31
26
  "--is-closed": !isOpen,
@@ -1 +1 @@
1
- {"version":3,"file":"QuestionHelp.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/QuestionHelp/QuestionHelp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAW/D,MAAM,UAAU,YAAY,CAAC,EAC3B,WAAW,GAAG,YAAY,EAC1B,WAAW,GAAG,WAAW,EACzB,QAAQ,EACR,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,SAAS,EACT,uBAAuB,GAAG,KAAK,GACb;IAClB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAExD,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;QAC5B,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,KAAiB,EAAE,EAAE;QACpB,IACE,GAAG,CAAC,OAAO;YACX,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAwB,CAAC;YACrD,uBAAuB,EACvB;YACA,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC,EACD,CAAC,SAAS,EAAE,uBAAuB,CAAC,CACrC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEjB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE;YACnD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,IAAI,CACpB,qBAAqB,EACrB;QACE,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,CAAC,MAAM;KACvB,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE;QAC1D,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBACjC,+BACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,SAAS,EAAE,gBAAgB,IACvB,UAAU,cAEd,yBAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAQ,IAC1C,EACT,4BACE,SAAS,EAAC,4BAA4B,iBAC1B,MAAM,eACR,QAAQ,EAClB,IAAI,EAAC,SAAS,iBACD,CAAC,MAAM,gBAEnB,QAAQ,IACL,KACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"QuestionHelp.js","sourceRoot":"","sources":["../../../../../src/components/Chopin/QuestionHelp/QuestionHelp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAa,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAW/D,MAAM,UAAU,YAAY,CAAC,EAC3B,WAAW,GAAG,YAAY,EAC1B,WAAW,GAAG,WAAW,EACzB,QAAQ,EACR,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,SAAS,EACT,uBAAuB,GAAG,KAAK,GACb;IAClB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAExD,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;QAC5B,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;YAChC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE;QAC1B,IAAI,uBAAuB,EAAE;YAC3B,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,IAAI,CACpB,qBAAqB,EACrB;QACE,WAAW,EAAE,MAAM;QACnB,aAAa,EAAE,CAAC,MAAM;KACvB,EACD,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,EAAE;QAC1D,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,iBACjC,+BACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACjC,SAAS,EAAE,gBAAgB,IACvB,UAAU,cAEd,yBAAO,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,GAAQ,IAC1C,EACT,4BACE,SAAS,EAAC,4BAA4B,iBAC1B,MAAM,eACR,QAAQ,EAClB,IAAI,EAAC,SAAS,iBACD,CAAC,MAAM,gBAEnB,QAAQ,IACL,KACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ import { Label } from "../../../Label";
3
+ import { Text } from "../../../Text";
4
+ export const Header = (props) => {
5
+ const { isOpen, labelProps, labels } = props;
6
+ if (!isOpen)
7
+ return null;
8
+ return (_jsxs(_Fragment, { children: [_jsx(Label, Object.assign({}, labelProps, { className: "chopin/TradeSelectorLabel", "aria-hidden": true }, { children: labels.input })), labels.description && (_jsx(Text, Object.assign({ className: "chopin/TradeSelectorDescription", variant: "caption" }, { children: labels.description })))] }));
9
+ };
10
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Header/Header.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAWrC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE7C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACL,8BACE,KAAC,KAAK,oBAAK,UAAU,IAAE,SAAS,EAAC,2BAA2B,qCACzD,MAAM,CAAC,KAAK,IACP,EACP,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,IAAI,kBAAC,SAAS,EAAC,iCAAiC,EAAC,OAAO,EAAC,SAAS,gBAChE,MAAM,CAAC,WAAW,IACd,CACR,IACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Header";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Header/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ import clsx from "clsx";
3
+ import { ListingItem } from "./ListingItem";
4
+ export const Listing = (props) => {
5
+ const { title, trades, resultRefs, refCountStart = 0, selectedId, className, onClick, } = props;
6
+ const listClasses = clsx("chopin/TradeSelectorList", className);
7
+ return (_jsxs("nav", Object.assign({ "aria-label": title }, { children: [_jsx("header", Object.assign({ className: "chopin/TradeSelectorListTitle" }, { children: title })), _jsx("ul", Object.assign({ className: listClasses }, { children: trades.map((trade, i) => {
8
+ const id = refCountStart + i;
9
+ const selected = selectedId === id;
10
+ return (_jsx(ListingItem, { trade: trade, ref: el => {
11
+ if (!el || !resultRefs)
12
+ return;
13
+ resultRefs.current[id] = el;
14
+ }, onClick: onClick, selected: selected }, trade.value));
15
+ }) }))] })));
16
+ };
17
+ //# sourceMappingURL=Listing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Listing.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Listing/Listing.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,aAAa,GAAG,CAAC,EACjB,UAAU,EACV,SAAS,EACT,OAAO,GACR,GAAG,KAAK,CAAC;IACV,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;IAEhE,OAAO,CACL,2CAAiB,KAAK,iBACpB,+BAAQ,SAAS,EAAC,+BAA+B,gBAAE,KAAK,IAAU,EAClE,2BAAI,SAAS,EAAE,WAAW,gBACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACvB,MAAM,EAAE,GAAG,aAAa,GAAG,CAAC,CAAC;oBAC7B,MAAM,QAAQ,GAAG,UAAU,KAAK,EAAE,CAAC;oBACnC,OAAO,CACL,KAAC,WAAW,IAEV,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,EAAE,CAAC,EAAE;4BACR,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU;gCAAE,OAAO;4BAC/B,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC9B,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAPb,KAAK,CAAC,KAAK,CAQhB,CACH,CAAC;gBACJ,CAAC,CAAC,IACC,KACD,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import React, { useRef } from "react";
3
+ import { fireEvent, render, screen } from "@testing-library/react";
4
+ import { mockTrade } from "../mockApiResults";
5
+ import { Listing } from "./Listing";
6
+ jest.mock("react", () => (Object.assign(Object.assign({}, jest.requireActual("react")), { useRef: jest.fn() })));
7
+ describe("Listing", () => {
8
+ it("renders a list of trades", () => {
9
+ jest.spyOn(React, "useRef").mockReturnValue({
10
+ current: {},
11
+ });
12
+ const title = "Exact matches for your search";
13
+ const trades = [mockTrade];
14
+ const resultRefs = useRef([]);
15
+ const onClick = jest.fn();
16
+ const selectedId = 0;
17
+ render(_jsx(Listing, { title: title, trades: trades, resultRefs: resultRefs, onClick: onClick, selectedId: selectedId }));
18
+ const header = screen.getByText(title);
19
+ const trade = screen.getByText("Landlord");
20
+ expect(header).toBeInTheDocument();
21
+ expect(trade).toBeInTheDocument();
22
+ fireEvent.click(trade);
23
+ expect(onClick).toHaveBeenCalled();
24
+ });
25
+ });
26
+ //# sourceMappingURL=Listing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Listing.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Listing/Listing.test.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iCACpB,IAAI,CAAC,aAAa,CAAe,OAAO,CAAC,KAC5C,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IACjB,CAAC,CAAC;AAEJ,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,eAAe,CAAC;YAC1C,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,+BAA+B,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,CAAC,CAAC;QAErB,MAAM,CACJ,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GACtB,CACH,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAElC,SAAS,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;QACxB,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { useFocusRing } from "@react-aria/focus";
3
+ import { useHover } from "@react-aria/interactions";
4
+ import clsx from "clsx";
5
+ import { forwardRef } from "react";
6
+ export const ListingItem = forwardRef((props, ref) => {
7
+ const { trade, selected, onClick } = props;
8
+ const { isFocusVisible, focusProps } = useFocusRing({
9
+ within: false,
10
+ });
11
+ const { hoverProps, isHovered } = useHover({});
12
+ const classes = clsx("chopin/TradeSelectorButton", "chopin/TradeSelectorOption", {
13
+ "--is-focused": isFocusVisible || selected,
14
+ "--is-hovered": isHovered,
15
+ });
16
+ const handleClick = () => onClick(trade);
17
+ return (_jsx("li", Object.assign({ className: "chopin/TradeSelectorListItem" }, { children: _jsx("button", Object.assign({ ref: ref, type: "button", onClick: handleClick,
18
+ // eslint-disable-next-line react/no-danger
19
+ dangerouslySetInnerHTML: { __html: trade.label }, className: classes, "data-key": trade.value }, hoverProps, focusProps)) })));
20
+ });
21
+ //# sourceMappingURL=ListingItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListingItem.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Listing/ListingItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAY,UAAU,EAAE,MAAM,OAAO,CAAC;AAY7C,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CACnC,CAAC,KAAuB,EAAE,GAAgC,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAClB,4BAA4B,EAC5B,4BAA4B,EAC5B;QACE,cAAc,EAAE,cAAc,IAAI,QAAQ;QAC1C,cAAc,EAAE,SAAS;KAC1B,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEzC,OAAO,CACL,2BAAI,SAAS,EAAC,8BAA8B,gBAC1C,+BACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW;YACpB,2CAA2C;YAC3C,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAChD,SAAS,EAAE,OAAO,cACR,KAAK,CAAC,KAAK,IACjB,UAAU,EACV,UAAU,EACd,IACC,CACN,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
+ import { fireEvent, render } from "@testing-library/react";
3
+ import userEvent from "@testing-library/user-event";
4
+ import { mockTrade } from "../mockApiResults";
5
+ import { ListingItem } from "./ListingItem";
6
+ describe("ListingItem", () => {
7
+ it("renders trade", () => {
8
+ const onClick = jest.fn();
9
+ const { container } = render(_jsx(ListingItem, { trade: mockTrade, onClick: onClick, selected: false }));
10
+ const button = container.querySelector("button");
11
+ expect(button).toHaveAttribute("data-key", "Landlord");
12
+ expect(button).toHaveTextContent("Landlord");
13
+ });
14
+ it("sets classes for interaction states", async () => {
15
+ const onClick = jest.fn();
16
+ const { container } = render(_jsx(ListingItem, { trade: mockTrade, onClick: onClick, selected: false }));
17
+ const button = container.querySelector("button");
18
+ fireEvent.mouseEnter(button);
19
+ expect(button).toHaveClass("--is-hovered");
20
+ await userEvent.tab();
21
+ expect(button).toHaveClass("--is-focused");
22
+ });
23
+ it("sets interaction class when selected prop is true", () => {
24
+ const onClick = jest.fn();
25
+ const { container } = render(_jsx(ListingItem, { trade: mockTrade, onClick: onClick, selected: true }));
26
+ const button = container.querySelector("button");
27
+ expect(button).toHaveClass("--is-focused");
28
+ });
29
+ it("calls onClick", () => {
30
+ const onClick = jest.fn();
31
+ const { container } = render(_jsx(ListingItem, { trade: mockTrade, onClick: onClick, selected: false }));
32
+ const button = container.querySelector("button");
33
+ fireEvent.click(button);
34
+ expect(onClick).toHaveBeenCalled();
35
+ });
36
+ });
37
+ //# sourceMappingURL=ListingItem.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListingItem.test.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Listing/ListingItem.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,WAAW,IAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAI,CACrE,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,WAAW,IAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAI,CACrE,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEjD,SAAS,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE3C,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,WAAW,IAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,SAAG,CAC7D,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,WAAW,IAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAI,CACrE,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,SAAS,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./Listing";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Chopin/TradeSelector/Listing/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}