@transferwise/components 46.37.0 → 46.39.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 (369) hide show
  1. package/README.md +1 -1
  2. package/build/index.js +179 -357
  3. package/build/index.js.map +1 -1
  4. package/build/index.mjs +173 -350
  5. package/build/index.mjs.map +1 -1
  6. package/build/main.css +127 -108
  7. package/build/styles/main.css +127 -108
  8. package/build/styles/uploadInput/UploadInput.css +25 -27
  9. package/build/styles/uploadInput/uploadButton/UploadButton.css +24 -38
  10. package/build/styles/uploadInput/uploadItem/UploadItem.css +81 -46
  11. package/build/types/actionButton/ActionButton.d.ts +2 -2
  12. package/build/types/actionButton/ActionButton.d.ts.map +1 -1
  13. package/build/types/actionOption/ActionOption.d.ts +0 -1
  14. package/build/types/actionOption/ActionOption.d.ts.map +1 -1
  15. package/build/types/alert/Alert.d.ts +0 -1
  16. package/build/types/alert/Alert.d.ts.map +1 -1
  17. package/build/types/alert/inlineMarkdown/InlineMarkdown.d.ts +4 -11
  18. package/build/types/alert/inlineMarkdown/InlineMarkdown.d.ts.map +1 -1
  19. package/build/types/alert/inlineMarkdown/index.d.ts +2 -1
  20. package/build/types/alert/inlineMarkdown/index.d.ts.map +1 -1
  21. package/build/types/avatar/Avatar.d.ts +0 -1
  22. package/build/types/avatar/Avatar.d.ts.map +1 -1
  23. package/build/types/avatar/colors/colors.d.ts.map +1 -1
  24. package/build/types/avatarWrapper/AvatarWrapper.d.ts +0 -1
  25. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  26. package/build/types/body/Body.d.ts +2 -2
  27. package/build/types/body/Body.d.ts.map +1 -1
  28. package/build/types/button/Button.d.ts +0 -1
  29. package/build/types/button/Button.d.ts.map +1 -1
  30. package/build/types/button/Button.messages.d.ts +3 -3
  31. package/build/types/button/classMap.d.ts +6 -6
  32. package/build/types/card/Card.d.ts +16 -20
  33. package/build/types/card/Card.d.ts.map +1 -1
  34. package/build/types/card/index.d.ts +2 -1
  35. package/build/types/card/index.d.ts.map +1 -1
  36. package/build/types/checkbox/Checkbox.d.ts +15 -20
  37. package/build/types/checkbox/Checkbox.d.ts.map +1 -1
  38. package/build/types/checkbox/index.d.ts +2 -2
  39. package/build/types/checkbox/index.d.ts.map +1 -1
  40. package/build/types/checkboxOption/CheckboxOption.d.ts +2 -3
  41. package/build/types/checkboxOption/CheckboxOption.d.ts.map +1 -1
  42. package/build/types/chevron/Chevron.d.ts +0 -1
  43. package/build/types/chevron/Chevron.d.ts.map +1 -1
  44. package/build/types/chips/Chip.d.ts +0 -1
  45. package/build/types/chips/Chip.d.ts.map +1 -1
  46. package/build/types/chips/Chips.d.ts +0 -1
  47. package/build/types/chips/Chips.d.ts.map +1 -1
  48. package/build/types/circularButton/CircularButton.d.ts +0 -1
  49. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  50. package/build/types/common/RadioButton/RadioButton.d.ts +0 -1
  51. package/build/types/common/RadioButton/RadioButton.d.ts.map +1 -1
  52. package/build/types/common/action/Action.d.ts +0 -1
  53. package/build/types/common/action/Action.d.ts.map +1 -1
  54. package/build/types/common/closeButton/CloseButton.d.ts +4 -5
  55. package/build/types/common/closeButton/CloseButton.d.ts.map +1 -1
  56. package/build/types/common/commonProps.d.ts +0 -1
  57. package/build/types/common/commonProps.d.ts.map +1 -1
  58. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts +1 -1
  59. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts.map +1 -1
  60. package/build/types/common/focusBoundary/FocusBoundary.d.ts +0 -1
  61. package/build/types/common/focusBoundary/FocusBoundary.d.ts.map +1 -1
  62. package/build/types/common/hooks/useDirection/useDirection.d.ts.map +1 -1
  63. package/build/types/common/hooks/useResizeObserver.d.ts +0 -1
  64. package/build/types/common/hooks/useResizeObserver.d.ts.map +1 -1
  65. package/build/types/common/panel/Panel.d.ts +8 -8
  66. package/build/types/common/panel/Panel.d.ts.map +1 -1
  67. package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts +0 -1
  68. package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts.map +1 -1
  69. package/build/types/common/responsivePanel/ResponsivePanel.d.ts +8 -9
  70. package/build/types/common/responsivePanel/ResponsivePanel.d.ts.map +1 -1
  71. package/build/types/criticalBanner/CriticalCommsBanner.d.ts +0 -1
  72. package/build/types/criticalBanner/CriticalCommsBanner.d.ts.map +1 -1
  73. package/build/types/dateInput/DateInput.d.ts +0 -1
  74. package/build/types/dateInput/DateInput.d.ts.map +1 -1
  75. package/build/types/dateLookup/DateLookup.d.ts +1 -1
  76. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  77. package/build/types/dateLookup/dateHeader/DateHeader.d.ts +0 -1
  78. package/build/types/dateLookup/dateHeader/DateHeader.d.ts.map +1 -1
  79. package/build/types/dateLookup/dateTrigger/DateTrigger.d.ts +0 -1
  80. package/build/types/dateLookup/dateTrigger/DateTrigger.d.ts.map +1 -1
  81. package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts +0 -1
  82. package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts.map +1 -1
  83. package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts +0 -1
  84. package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts.map +1 -1
  85. package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts +0 -1
  86. package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts.map +1 -1
  87. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts +0 -1
  88. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts.map +1 -1
  89. package/build/types/dateLookup/tableLink/TableLink.d.ts +0 -1
  90. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
  91. package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts +0 -1
  92. package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts.map +1 -1
  93. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts +0 -1
  94. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts.map +1 -1
  95. package/build/types/decision/Decision.d.ts +1 -2
  96. package/build/types/decision/Decision.d.ts.map +1 -1
  97. package/build/types/definitionList/DefinitionList.d.ts +19 -24
  98. package/build/types/definitionList/DefinitionList.d.ts.map +1 -1
  99. package/build/types/definitionList/index.d.ts +2 -1
  100. package/build/types/definitionList/index.d.ts.map +1 -1
  101. package/build/types/dimmer/Dimmer.d.ts.map +1 -1
  102. package/build/types/drawer/Drawer.d.ts +18 -36
  103. package/build/types/drawer/Drawer.d.ts.map +1 -1
  104. package/build/types/drawer/index.d.ts +2 -1
  105. package/build/types/drawer/index.d.ts.map +1 -1
  106. package/build/types/dropFade/DropFade.d.ts.map +1 -1
  107. package/build/types/emphasis/Emphasis.d.ts +0 -1
  108. package/build/types/emphasis/Emphasis.d.ts.map +1 -1
  109. package/build/types/field/Field.d.ts +0 -1
  110. package/build/types/field/Field.d.ts.map +1 -1
  111. package/build/types/flowNavigation/FlowNavigation.d.ts +0 -1
  112. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  113. package/build/types/flowNavigation/backButton/BackButton.d.ts +5 -17
  114. package/build/types/flowNavigation/backButton/BackButton.d.ts.map +1 -1
  115. package/build/types/flowNavigation/backButton/index.d.ts +2 -2
  116. package/build/types/flowNavigation/backButton/index.d.ts.map +1 -1
  117. package/build/types/header/Header.d.ts +0 -1
  118. package/build/types/header/Header.d.ts.map +1 -1
  119. package/build/types/image/Image.d.ts +0 -1
  120. package/build/types/image/Image.d.ts.map +1 -1
  121. package/build/types/index.d.ts +5 -0
  122. package/build/types/index.d.ts.map +1 -1
  123. package/build/types/info/Info.d.ts +2 -3
  124. package/build/types/info/Info.d.ts.map +1 -1
  125. package/build/types/info/index.d.ts +1 -1
  126. package/build/types/info/index.d.ts.map +1 -1
  127. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts +0 -1
  128. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts.map +1 -1
  129. package/build/types/inputs/Input.d.ts +0 -1
  130. package/build/types/inputs/Input.d.ts.map +1 -1
  131. package/build/types/inputs/InputGroup.d.ts +0 -1
  132. package/build/types/inputs/InputGroup.d.ts.map +1 -1
  133. package/build/types/inputs/SearchInput.d.ts +0 -1
  134. package/build/types/inputs/SearchInput.d.ts.map +1 -1
  135. package/build/types/inputs/SelectInput.d.ts +0 -1
  136. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  137. package/build/types/inputs/TextArea.d.ts +0 -1
  138. package/build/types/inputs/TextArea.d.ts.map +1 -1
  139. package/build/types/inputs/_BottomSheet.d.ts +0 -1
  140. package/build/types/inputs/_BottomSheet.d.ts.map +1 -1
  141. package/build/types/inputs/_ButtonInput.d.ts +0 -1
  142. package/build/types/inputs/_ButtonInput.d.ts.map +1 -1
  143. package/build/types/inputs/_Popover.d.ts +0 -1
  144. package/build/types/inputs/_Popover.d.ts.map +1 -1
  145. package/build/types/inputs/contexts.d.ts +0 -1
  146. package/build/types/inputs/contexts.d.ts.map +1 -1
  147. package/build/types/label/Label.d.ts +0 -1
  148. package/build/types/label/Label.d.ts.map +1 -1
  149. package/build/types/loader/Loader.d.ts +0 -1
  150. package/build/types/loader/Loader.d.ts.map +1 -1
  151. package/build/types/logo/Logo.d.ts +15 -23
  152. package/build/types/logo/Logo.d.ts.map +1 -1
  153. package/build/types/logo/index.d.ts +1 -2
  154. package/build/types/logo/index.d.ts.map +1 -1
  155. package/build/types/markdown/Markdown.d.ts +0 -1
  156. package/build/types/markdown/Markdown.d.ts.map +1 -1
  157. package/build/types/money/Money.d.ts +0 -1
  158. package/build/types/money/Money.d.ts.map +1 -1
  159. package/build/types/moneyInput/MoneyInput.d.ts +0 -1
  160. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  161. package/build/types/navigationOption/NavigationOption.d.ts +0 -1
  162. package/build/types/navigationOption/NavigationOption.d.ts.map +1 -1
  163. package/build/types/overlayHeader/OverlayHeader.d.ts +9 -18
  164. package/build/types/overlayHeader/OverlayHeader.d.ts.map +1 -1
  165. package/build/types/overlayHeader/index.d.ts +2 -1
  166. package/build/types/overlayHeader/index.d.ts.map +1 -1
  167. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts +0 -1
  168. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  169. package/build/types/popover/Popover.d.ts +0 -1
  170. package/build/types/popover/Popover.d.ts.map +1 -1
  171. package/build/types/progress/Progress.d.ts +0 -1
  172. package/build/types/progress/Progress.d.ts.map +1 -1
  173. package/build/types/progressBar/ProgressBar.d.ts +0 -1
  174. package/build/types/progressBar/ProgressBar.d.ts.map +1 -1
  175. package/build/types/provider/Provider.d.ts +0 -1
  176. package/build/types/provider/Provider.d.ts.map +1 -1
  177. package/build/types/radio/Radio.d.ts +0 -1
  178. package/build/types/radio/Radio.d.ts.map +1 -1
  179. package/build/types/radioGroup/RadioGroup.d.ts +0 -1
  180. package/build/types/radioGroup/RadioGroup.d.ts.map +1 -1
  181. package/build/types/radioOption/RadioOption.d.ts +0 -1
  182. package/build/types/radioOption/RadioOption.d.ts.map +1 -1
  183. package/build/types/segmentedControl/SegmentedControl.d.ts +0 -1
  184. package/build/types/segmentedControl/SegmentedControl.d.ts.map +1 -1
  185. package/build/types/select/index.d.ts +1 -1
  186. package/build/types/select/index.d.ts.map +1 -1
  187. package/build/types/select/option/index.d.ts +1 -1
  188. package/build/types/select/option/index.d.ts.map +1 -1
  189. package/build/types/select/searchBox/SearchBox.d.ts +3 -3
  190. package/build/types/select/searchBox/SearchBox.d.ts.map +1 -1
  191. package/build/types/slidingPanel/SlidingPanel.d.ts +1 -1
  192. package/build/types/slidingPanel/SlidingPanel.d.ts.map +1 -1
  193. package/build/types/snackbar/Snackbar.d.ts +2 -1
  194. package/build/types/snackbar/Snackbar.d.ts.map +1 -1
  195. package/build/types/snackbar/SnackbarContext.d.ts +0 -1
  196. package/build/types/snackbar/SnackbarContext.d.ts.map +1 -1
  197. package/build/types/snackbar/SnackbarProvider.d.ts +0 -1
  198. package/build/types/snackbar/SnackbarProvider.d.ts.map +1 -1
  199. package/build/types/statusIcon/StatusIcon.d.ts +0 -1
  200. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  201. package/build/types/sticky/Sticky.d.ts +32 -4
  202. package/build/types/sticky/Sticky.d.ts.map +1 -1
  203. package/build/types/switchOption/SwitchOption.d.ts +0 -1
  204. package/build/types/switchOption/SwitchOption.d.ts.map +1 -1
  205. package/build/types/tabs/TabList.d.ts +1 -1
  206. package/build/types/tabs/TabPanel.d.ts +4 -4
  207. package/build/types/tabs/Tabs.d.ts.map +1 -1
  208. package/build/types/test-utils/story-config.d.ts +8 -0
  209. package/build/types/test-utils/story-config.d.ts.map +1 -1
  210. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts +0 -1
  211. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts.map +1 -1
  212. package/build/types/tile/Tile.d.ts +16 -37
  213. package/build/types/tile/Tile.d.ts.map +1 -1
  214. package/build/types/tile/index.d.ts +1 -1
  215. package/build/types/tile/index.d.ts.map +1 -1
  216. package/build/types/typeahead/Typeahead.d.ts.map +1 -1
  217. package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts +0 -1
  218. package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts.map +1 -1
  219. package/build/types/typeahead/util/highlight.d.ts +0 -1
  220. package/build/types/typeahead/util/highlight.d.ts.map +1 -1
  221. package/build/types/upload/Upload.d.ts.map +1 -1
  222. package/build/types/upload/Upload.messages.d.ts +20 -20
  223. package/build/types/upload/steps/completeStep/completeStep.d.ts +10 -10
  224. package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts +8 -8
  225. package/build/types/upload/steps/processingStep/processingStep.d.ts +8 -8
  226. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +9 -9
  227. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts.map +1 -1
  228. package/build/types/uploadInput/UploadInput.d.ts +0 -1
  229. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  230. package/build/types/uploadInput/types.d.ts +9 -1
  231. package/build/types/uploadInput/types.d.ts.map +1 -1
  232. package/build/types/uploadInput/uploadButton/UploadButton.d.ts +1 -6
  233. package/build/types/uploadInput/uploadButton/UploadButton.d.ts.map +1 -1
  234. package/build/types/uploadInput/uploadItem/UploadItem.d.ts +0 -1
  235. package/build/types/uploadInput/uploadItem/UploadItem.d.ts.map +1 -1
  236. package/build/types/withDisplayFormat/WithDisplayFormat.d.ts.map +1 -1
  237. package/build/types/withNextPortal/withNextPortal.d.ts +0 -1
  238. package/build/types/withNextPortal/withNextPortal.d.ts.map +1 -1
  239. package/package.json +24 -27
  240. package/src/accordion/Accordion.spec.js +5 -5
  241. package/src/accordion/AccordionItem/AccordionItem.spec.js +2 -2
  242. package/src/actionButton/ActionButton.spec.tsx +4 -5
  243. package/src/alert/Alert.spec.tsx +4 -4
  244. package/src/alert/Alert.story.tsx +6 -5
  245. package/src/alert/inlineMarkdown/InlineMarkdown.tsx +13 -0
  246. package/src/alert/inlineMarkdown/index.ts +2 -0
  247. package/src/button/Button.spec.js +4 -5
  248. package/src/card/{Card.spec.js → Card.spec.tsx} +4 -4
  249. package/src/card/{Card.story.js → Card.story.tsx} +6 -15
  250. package/src/card/{Card.js → Card.tsx} +23 -34
  251. package/src/card/index.ts +2 -0
  252. package/src/carousel/Carousel.spec.tsx +17 -17
  253. package/src/checkbox/{Checkbox.spec.js → Checkbox.spec.tsx} +5 -7
  254. package/src/checkbox/{Checkbox.js → Checkbox.tsx} +19 -41
  255. package/src/checkbox/index.ts +2 -0
  256. package/src/checkboxButton/CheckboxButton.spec.tsx +0 -2
  257. package/src/checkboxOption/CheckboxOption.spec.tsx +0 -2
  258. package/src/chevron/Chevron.spec.tsx +0 -1
  259. package/src/chips/Chips.spec.tsx +0 -1
  260. package/src/chips/Chips.story.tsx +5 -3
  261. package/src/circularButton/CircularButton.spec.tsx +4 -5
  262. package/src/common/RadioButton/RadioButton.spec.tsx +2 -2
  263. package/src/common/card/Card.story.tsx +1 -0
  264. package/src/common/closeButton/CloseButton.spec.tsx +0 -1
  265. package/src/common/flowHeader/FlowHeader.spec.tsx +0 -1
  266. package/src/dateInput/DateInput.story.tsx +21 -16
  267. package/src/dateLookup/DateLookup.rtl.spec.tsx +18 -16
  268. package/src/dateLookup/DateLookup.testingLibrary.spec.js +47 -44
  269. package/src/dateLookup/DateLookup.tests.story.tsx +4 -2
  270. package/src/decision/Decision.spec.js +0 -2
  271. package/src/decision/Decision.tsx +1 -1
  272. package/src/definitionList/{DefinitionList.story.js → DefinitionList.story.tsx} +22 -2
  273. package/src/definitionList/DefinitionList.tsx +95 -0
  274. package/src/definitionList/index.ts +2 -0
  275. package/src/dimmer/Dimmer.rtl.spec.js +10 -10
  276. package/src/drawer/{Drawer.rtl.spec.js → Drawer.rtl.spec.tsx} +6 -4
  277. package/src/drawer/{Drawer.story.js → Drawer.story.tsx} +20 -28
  278. package/src/drawer/{Drawer.js → Drawer.tsx} +26 -31
  279. package/src/drawer/index.ts +2 -0
  280. package/src/emphasis/Emphasis.spec.tsx +0 -1
  281. package/src/field/Field.spec.tsx +2 -2
  282. package/src/flowNavigation/FlowNavigation.spec.js +0 -2
  283. package/src/flowNavigation/animatedLabel/AnimatedLabel.spec.js +0 -1
  284. package/src/flowNavigation/backButton/BackButton.tsx +29 -0
  285. package/src/flowNavigation/backButton/index.ts +2 -0
  286. package/src/header/Header.spec.tsx +6 -6
  287. package/src/image/Image.spec.tsx +0 -1
  288. package/src/index.ts +5 -0
  289. package/src/info/Info.story.tsx +15 -9
  290. package/src/info/Info.tsx +2 -2
  291. package/src/info/index.ts +1 -1
  292. package/src/inlineAlert/InlineAlert.spec.tsx +0 -1
  293. package/src/inputs/SelectInput.spec.tsx +26 -47
  294. package/src/link/Link.spec.tsx +0 -1
  295. package/src/listItem/ListItem.spec.tsx +0 -1
  296. package/src/logo/Logo.story.tsx +3 -6
  297. package/src/logo/{Logo.js → Logo.tsx} +25 -35
  298. package/src/logo/index.ts +1 -0
  299. package/src/main.css +127 -108
  300. package/src/moneyInput/MoneyInput.rtl.spec.tsx +2 -2
  301. package/src/moneyInput/MoneyInput.story.tsx +1 -4
  302. package/src/overlayHeader/{OverlayHeader.spec.js → OverlayHeader.spec.tsx} +1 -1
  303. package/src/overlayHeader/{OverlayHeader.story.js → OverlayHeader.story.tsx} +10 -2
  304. package/src/overlayHeader/{OverlayHeader.js → OverlayHeader.tsx} +12 -19
  305. package/src/overlayHeader/index.ts +2 -0
  306. package/src/phoneNumberInput/PhoneNumberInput.story.tsx +1 -0
  307. package/src/popover/Popover.spec.tsx +10 -10
  308. package/src/progress/Progress.spec.tsx +0 -1
  309. package/src/progressBar/ProgressBar.spec.tsx +0 -1
  310. package/src/section/Section.story.tsx +0 -2
  311. package/src/segmentedControl/SegmentedControl.spec.tsx +10 -11
  312. package/src/select/Select.spec.js +71 -71
  313. package/src/slidingPanel/SlidingPanel.spec.js +2 -1
  314. package/src/slidingPanel/SlidingPanel.tsx +3 -0
  315. package/src/snackbar/Snackbar.story.tsx +20 -100
  316. package/src/snackbar/Snackbar.tests.story.tsx +281 -0
  317. package/src/snackbar/Snackbar.tsx +8 -12
  318. package/src/sticky/Sticky.spec.tsx +71 -0
  319. package/src/sticky/Sticky.story.tsx +72 -15
  320. package/src/sticky/Sticky.tsx +49 -5
  321. package/src/test-utils/Parameters.d.ts +8 -0
  322. package/src/test-utils/index.js +1 -1
  323. package/src/test-utils/jest.setup.js +2 -0
  324. package/src/test-utils/story-config.ts +5 -0
  325. package/src/tile/{Tile.spec.js → Tile.spec.tsx} +1 -1
  326. package/src/tile/{Tile.js → Tile.tsx} +24 -35
  327. package/src/tooltip/Tooltip.spec.tsx +15 -16
  328. package/src/uploadInput/UploadInput.css +25 -27
  329. package/src/uploadInput/UploadInput.less +24 -23
  330. package/src/uploadInput/UploadInput.spec.tsx +9 -10
  331. package/src/uploadInput/UploadInput.story.tsx +8 -130
  332. package/src/uploadInput/UploadInput.tests.story.tsx +212 -0
  333. package/src/uploadInput/UploadInput.tsx +1 -4
  334. package/src/uploadInput/types.ts +11 -1
  335. package/src/uploadInput/uploadButton/UploadButton.css +24 -38
  336. package/src/uploadInput/uploadButton/UploadButton.less +27 -40
  337. package/src/uploadInput/uploadButton/UploadButton.spec.tsx +4 -5
  338. package/src/uploadInput/uploadButton/UploadButton.tsx +12 -37
  339. package/src/uploadInput/uploadItem/UploadItem.css +81 -46
  340. package/src/uploadInput/uploadItem/UploadItem.less +75 -40
  341. package/src/uploadInput/uploadItem/UploadItem.spec.tsx +4 -4
  342. package/src/uploadInput/uploadItem/UploadItem.tsx +30 -25
  343. package/src/uploadInput/uploadItem/UploadItemBody.tsx +1 -1
  344. package/build/types/logo/logoTypes.d.ts +0 -6
  345. package/build/types/logo/logoTypes.d.ts.map +0 -1
  346. package/src/alert/inlineMarkdown/InlineMarkdown.js +0 -21
  347. package/src/alert/inlineMarkdown/index.js +0 -1
  348. package/src/card/index.js +0 -1
  349. package/src/checkbox/index.js +0 -3
  350. package/src/definitionList/DefinitionList.js +0 -100
  351. package/src/definitionList/index.js +0 -1
  352. package/src/drawer/index.js +0 -1
  353. package/src/flowNavigation/backButton/BackButton.js +0 -32
  354. package/src/flowNavigation/backButton/BackButton.spec.js +0 -16
  355. package/src/flowNavigation/backButton/__snapshots__/BackButton.spec.js.snap +0 -37
  356. package/src/flowNavigation/backButton/index.js +0 -3
  357. package/src/logo/index.js +0 -2
  358. package/src/logo/logoTypes.ts +0 -6
  359. package/src/overlayHeader/index.js +0 -1
  360. package/src/snackbar/Snackbar.spec.js +0 -112
  361. package/src/sticky/Sticky.spec.js +0 -34
  362. /package/src/checkbox/__snapshots__/{Checkbox.spec.js.snap → Checkbox.spec.tsx.snap} +0 -0
  363. /package/src/drawer/__snapshots__/{Drawer.rtl.spec.js.snap → Drawer.rtl.spec.tsx.snap} +0 -0
  364. /package/src/logo/{Logo.spec.js → Logo.spec.tsx} +0 -0
  365. /package/src/logo/__snapshots__/{Logo.spec.js.snap → Logo.spec.tsx.snap} +0 -0
  366. /package/src/overlayHeader/__snapshots__/{OverlayHeader.spec.js.snap → OverlayHeader.spec.tsx.snap} +0 -0
  367. /package/src/tile/{Tile.story.js → Tile.story.tsx} +0 -0
  368. /package/src/tile/__snapshots__/{Tile.spec.js.snap → Tile.spec.tsx.snap} +0 -0
  369. /package/src/tile/{index.js → index.ts} +0 -0
@@ -0,0 +1,29 @@
1
+ import { ArrowLeft as ArrowLeftIcon } from '@transferwise/icons';
2
+ import classNames from 'classnames';
3
+
4
+ import Avatar, { AvatarType } from '../../avatar';
5
+
6
+ export interface BackButtonProps {
7
+ 'aria-label': string;
8
+ className?: string;
9
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
10
+ }
11
+
12
+ export default function BackButton({
13
+ className,
14
+ onClick,
15
+ 'aria-label': ariaLabel,
16
+ }: BackButtonProps) {
17
+ return (
18
+ <Avatar type={AvatarType.ICON} size={40}>
19
+ <button
20
+ type="button"
21
+ aria-label={ariaLabel}
22
+ className={classNames('np-back-button', 'btn-unstyled', className)}
23
+ onClick={onClick}
24
+ >
25
+ <ArrowLeftIcon size={24} />
26
+ </button>
27
+ </Avatar>
28
+ );
29
+ }
@@ -0,0 +1,2 @@
1
+ export { default } from './BackButton';
2
+ export type { BackButtonProps } from './BackButton';
@@ -9,7 +9,7 @@ describe('Header', () => {
9
9
  expect(screen.getByText('Header title')).toBeInTheDocument();
10
10
  });
11
11
 
12
- it('can trigger header action', () => {
12
+ it('can trigger header action', async () => {
13
13
  const onHeaderActionClick = jest.fn();
14
14
 
15
15
  render(
@@ -22,12 +22,12 @@ describe('Header', () => {
22
22
  />,
23
23
  );
24
24
 
25
- userEvent.click(screen.getByRole('button', { name: 'Click me!' }));
25
+ await userEvent.click(screen.getByRole('button', { name: 'Click me!' }));
26
26
 
27
27
  expect(onHeaderActionClick).toHaveBeenCalledTimes(1);
28
28
  });
29
29
 
30
- it('can set aria-label property for header action', () => {
30
+ it('can set aria-label property for header action', async () => {
31
31
  const onHeaderActionClick = jest.fn();
32
32
 
33
33
  render(
@@ -41,7 +41,7 @@ describe('Header', () => {
41
41
  />,
42
42
  );
43
43
 
44
- userEvent.click(screen.getByRole('button', { name: 'Magic' }));
44
+ await userEvent.click(screen.getByRole('button', { name: 'Magic' }));
45
45
 
46
46
  expect(onHeaderActionClick).toHaveBeenCalledTimes(1);
47
47
  });
@@ -75,7 +75,7 @@ describe('Header', () => {
75
75
  expect(screen.getByRole('heading', { name: 'Header title', level: 3 })).toBeInTheDocument();
76
76
  });
77
77
 
78
- it('runs onClick if specified even when it got href prop', () => {
78
+ it('runs onClick if specified even when it got href prop', async () => {
79
79
  const callback = jest.fn();
80
80
  render(
81
81
  <Header
@@ -88,7 +88,7 @@ describe('Header', () => {
88
88
  const button = screen.getByRole('link', { name: 'Click me' });
89
89
  expect(button).toBeInTheDocument();
90
90
 
91
- userEvent.click(button);
91
+ await userEvent.click(button);
92
92
 
93
93
  expect(callback).toHaveBeenCalledTimes(1);
94
94
  });
@@ -1,4 +1,3 @@
1
- import '@testing-library/jest-dom';
2
1
  import * as useHasIntersectedUtils from '../common/hooks/useHasIntersected/useHasIntersected';
3
2
  import { render, fireEvent, screen } from '../test-utils';
4
3
 
package/src/index.ts CHANGED
@@ -6,7 +6,9 @@ export type { ActionOptionProps } from './actionOption';
6
6
  export type { AlertAction, AlertProps, AlertType } from './alert';
7
7
  export type { AvatarProps } from './avatar';
8
8
  export type { BadgeProps } from './badge';
9
+ export type { CardProps } from './card';
9
10
  export type { CarouselProps } from './carousel';
11
+ export type { CheckboxProps } from './checkbox';
10
12
  export type { CircularButtonProps } from './circularButton';
11
13
  export type {
12
14
  BodyTypes,
@@ -20,7 +22,9 @@ export type { BottomSheetProps } from './common/bottomSheet';
20
22
  export type { DateInputProps } from './dateInput';
21
23
  export type { DateLookupProps } from './dateLookup';
22
24
  export type { DecisionProps } from './decision/Decision';
25
+ export type { DefinitionListProps } from './definitionList';
23
26
  export type { DimmerProps } from './dimmer';
27
+ export type { DrawerProps } from './drawer';
24
28
  export type { EmphasisProps } from './emphasis';
25
29
  export type { FieldProps } from './field/Field';
26
30
  export type { InfoProps } from './info';
@@ -51,6 +55,7 @@ export type {
51
55
  MoneyInputProps,
52
56
  } from './moneyInput';
53
57
  export type { NavigationOptionListProps } from './navigationOptionsList';
58
+ export type { OverlayHeaderProps } from './overlayHeader';
54
59
  export type { PhoneNumberInputProps } from './phoneNumberInput/PhoneNumberInput';
55
60
  export type { PopoverProps } from './popover';
56
61
  export type { ProcessIndicatorProps } from './processIndicator';
@@ -5,7 +5,7 @@ import { lorem10, storyConfig } from '../test-utils';
5
5
 
6
6
  import Info, { InfoPresentation } from '.';
7
7
 
8
- export default {
8
+ const meta = {
9
9
  component: Info,
10
10
  title: 'Dialogs/Info',
11
11
  args: {
@@ -20,16 +20,18 @@ export default {
20
20
  ),
21
21
  } satisfies Meta<typeof Info>;
22
22
 
23
- type Story = StoryObj<typeof Info>;
23
+ export default meta;
24
24
 
25
- export const Basic: Story = storyConfig(
25
+ type Story = StoryObj<typeof meta>;
26
+
27
+ export const Basic = storyConfig<typeof meta>(
26
28
  {},
27
29
  {
28
30
  variants: ['default', 'dark', 'rtl'],
29
31
  },
30
32
  );
31
33
 
32
- export const OpenedPopover: Story = {
34
+ export const OpenedPopover = {
33
35
  parameters: {
34
36
  chromatic: {
35
37
  delay: 1000,
@@ -39,15 +41,19 @@ export const OpenedPopover: Story = {
39
41
  const canvas = within(canvasElement);
40
42
  await userEvent.click(canvas.getByRole('button'));
41
43
  },
42
- };
44
+ } satisfies Story;
43
45
 
44
- export const OpenedPopoverMobile: Story = storyConfig(OpenedPopover, { variants: ['mobile'] });
46
+ export const OpenedPopoverMobile = storyConfig(OpenedPopover, {
47
+ variants: ['mobile'],
48
+ });
45
49
 
46
- export const OpenedModal: Story = {
50
+ export const OpenedModal = {
47
51
  ...OpenedPopover,
48
52
  args: {
49
53
  presentation: InfoPresentation.MODAL,
50
54
  },
51
- };
55
+ } satisfies Story;
52
56
 
53
- export const OpenedModalMobile: Story = storyConfig(OpenedModal, { variants: ['mobile'] });
57
+ export const OpenedModalMobile = storyConfig(OpenedModal, {
58
+ variants: ['mobile'],
59
+ });
package/src/info/Info.tsx CHANGED
@@ -10,7 +10,7 @@ import Popover, { PopoverPreferredPlacement } from '../popover';
10
10
  import messages from './Info.messages';
11
11
  import { InfoPresentation } from './infoPresentations';
12
12
 
13
- export interface Props {
13
+ export interface InfoProps {
14
14
  'aria-label'?: string;
15
15
  /**
16
16
  * Extra classes applied to Info
@@ -48,7 +48,7 @@ const Info = ({
48
48
  title = undefined,
49
49
  'aria-label': ariaLabel,
50
50
  preferredPlacement = Position.BOTTOM,
51
- }: Props) => {
51
+ }: InfoProps) => {
52
52
  const intl = useIntl();
53
53
  const [open, setOpen] = useState(false);
54
54
  ariaLabel ??= intl.formatMessage(messages.ariaLabel);
package/src/info/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { InfoPresentation } from './infoPresentations';
2
2
  export { default } from './Info';
3
- export type { Props as InfoProps } from './Info';
3
+ export type { InfoProps } from './Info';
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable no-console */
2
- import '@testing-library/jest-dom';
3
2
  import { Sentiment } from '../common';
4
3
  import { render, screen } from '../test-utils';
5
4
 
@@ -1,5 +1,5 @@
1
- import { act, screen, waitFor, within } from '@testing-library/react';
2
- import userEvent from '@testing-library/user-event';
1
+ import { screen, waitFor, within } from '@testing-library/react';
2
+ import { userEvent } from '@testing-library/user-event';
3
3
 
4
4
  import { render, mockMatchMedia, mockResizeObserver } from '../test-utils';
5
5
 
@@ -42,25 +42,22 @@ describe('SelectInput', () => {
42
42
  />,
43
43
  );
44
44
 
45
- // eslint-disable-next-line @typescript-eslint/require-await
46
- await act(async () => {
47
- userEvent.tab();
48
- userEvent.keyboard(' ');
49
- });
45
+ await userEvent.tab();
46
+ await userEvent.keyboard(' ');
50
47
 
51
48
  const footer = screen.getByText('All items shown');
52
49
  expect(footer).toBeInTheDocument();
53
50
 
54
- userEvent.keyboard('u');
51
+ await userEvent.keyboard('u');
55
52
  expect(footer).toHaveTextContent(/‘u’$/);
56
53
 
57
- userEvent.keyboard('r');
54
+ await userEvent.keyboard('r');
58
55
  expect(footer).toHaveTextContent(/‘ur’$/);
59
56
 
60
- userEvent.keyboard('x');
57
+ await userEvent.keyboard('x');
61
58
  expect(footer).toHaveTextContent(/‘urx’$/);
62
59
 
63
- userEvent.keyboard('{Backspace}');
60
+ await userEvent.keyboard('{Backspace}');
64
61
  expect(footer).toHaveTextContent(/‘ur’$/);
65
62
  });
66
63
 
@@ -80,16 +77,13 @@ describe('SelectInput', () => {
80
77
  expect(screen.queryByText('EUR')).not.toBeInTheDocument();
81
78
 
82
79
  const trigger = screen.getAllByRole('button')[0];
83
- // eslint-disable-next-line @typescript-eslint/require-await
84
- await act(async () => {
85
- userEvent.click(trigger);
86
- });
80
+ await userEvent.click(trigger);
87
81
 
88
82
  expect(handleClose).not.toHaveBeenCalled();
89
83
 
90
84
  const listbox = screen.getByRole('listbox');
91
85
  const option = within(listbox).getByRole('option', { name: 'EUR' });
92
- userEvent.click(option);
86
+ await userEvent.click(option);
93
87
 
94
88
  expect(handleClose).toHaveBeenCalledTimes(1);
95
89
  expect(trigger).toHaveTextContent('EUR');
@@ -117,34 +111,28 @@ describe('SelectInput', () => {
117
111
  );
118
112
 
119
113
  const trigger = screen.getAllByRole('button')[0];
120
- // eslint-disable-next-line @typescript-eslint/require-await
121
- await act(async () => {
122
- userEvent.tab();
123
- userEvent.keyboard(' ');
124
- });
114
+ await userEvent.tab();
115
+ await userEvent.keyboard(' ');
125
116
 
126
117
  expect(handleClose).not.toHaveBeenCalled();
127
118
 
128
119
  const listbox = screen.getByRole('listbox');
129
120
  expect(within(listbox).getAllByRole('option')).toHaveLength(3);
130
121
 
131
- userEvent.keyboard('u');
122
+ await userEvent.keyboard('u');
132
123
  expect(within(listbox).getAllByRole('option')).toHaveLength(2);
133
124
 
134
- userEvent.keyboard('r');
125
+ await userEvent.keyboard('r');
135
126
  expect(within(listbox).getByRole('option')).toBeInTheDocument();
136
127
 
137
- userEvent.keyboard('x');
128
+ await userEvent.keyboard('x');
138
129
  expect(within(listbox).queryByRole('option')).not.toBeInTheDocument();
139
130
 
140
- userEvent.keyboard('{Backspace}');
131
+ await userEvent.keyboard('{Backspace}');
141
132
  expect(within(listbox).getByRole('option')).toBeInTheDocument();
142
133
 
143
134
  const option = within(listbox).getAllByRole('option')[0];
144
- // eslint-disable-next-line @typescript-eslint/require-await
145
- await act(async () => {
146
- userEvent.click(option);
147
- });
135
+ await userEvent.click(option);
148
136
 
149
137
  expect(handleClose).toHaveBeenCalledTimes(1);
150
138
  expect(trigger).toHaveTextContent('EUR');
@@ -165,21 +153,18 @@ describe('SelectInput', () => {
165
153
  );
166
154
 
167
155
  const trigger = screen.getAllByRole('button')[0];
168
- // eslint-disable-next-line @typescript-eslint/require-await
169
- await act(async () => {
170
- userEvent.tab();
171
- userEvent.keyboard(' ');
172
- });
156
+ await userEvent.tab();
157
+ await userEvent.keyboard(' ');
173
158
 
174
159
  expect(handleFilterChange).not.toHaveBeenCalled();
175
160
 
176
- userEvent.keyboard(' x');
161
+ await userEvent.keyboard(' x');
177
162
  expect(handleFilterChange).toHaveBeenLastCalledWith({
178
163
  query: ' x',
179
164
  queryNormalized: 'x',
180
165
  });
181
166
 
182
- userEvent.keyboard('{Escape}');
167
+ await userEvent.keyboard('{Escape}');
183
168
  await waitFor(() => {
184
169
  expect(handleFilterChange).toHaveBeenLastCalledWith({
185
170
  query: '',
@@ -187,10 +172,7 @@ describe('SelectInput', () => {
187
172
  });
188
173
  });
189
174
 
190
- // eslint-disable-next-line @typescript-eslint/require-await
191
- await act(async () => {
192
- userEvent.click(trigger);
193
- });
175
+ await userEvent.click(trigger);
194
176
 
195
177
  const listbox = screen.getByRole('listbox');
196
178
  expect(within(listbox).getAllByRole('option')).toHaveLength(2);
@@ -208,16 +190,13 @@ describe('SelectInput', () => {
208
190
  );
209
191
 
210
192
  const trigger = screen.getAllByRole('button')[0];
211
- // eslint-disable-next-line @typescript-eslint/require-await
212
- await act(async () => {
213
- userEvent.click(trigger);
214
- });
193
+ await userEvent.click(trigger);
215
194
 
216
195
  const listbox = screen.getByRole('listbox');
217
196
  const options = within(listbox).getAllByRole('option');
218
- options.forEach((option) => {
219
- userEvent.click(option);
220
- });
197
+ for (const option of options) {
198
+ await userEvent.click(option);
199
+ }
221
200
 
222
201
  expect(trigger).toHaveTextContent('USD, EUR');
223
202
  });
@@ -1,4 +1,3 @@
1
- import '@testing-library/jest-dom';
2
1
  import { render, screen } from '../test-utils';
3
2
 
4
3
  import Link from '.';
@@ -1,4 +1,3 @@
1
- import '@testing-library/jest-dom';
2
1
  import ActionButton from '../actionButton/ActionButton';
3
2
  import { render, screen, within } from '../test-utils';
4
3
 
@@ -1,14 +1,11 @@
1
1
  import { Meta, StoryObj } from '@storybook/react';
2
2
 
3
- import Logo, { LogoType } from '.';
3
+ import Logo from '.';
4
4
 
5
5
  export default {
6
6
  component: Logo,
7
7
  title: 'Content/Logo',
8
- render: (args) => {
9
- const type = args.type as LogoType;
10
- const inverse = args.inverse as boolean;
11
-
8
+ render: ({ inverse, type }) => {
12
9
  return (
13
10
  <div className={`${inverse ? 'bg--dark' : ''} p-a-3`}>
14
11
  <Logo type={type} inverse={inverse} />
@@ -22,7 +19,7 @@ type Story = StoryObj<typeof Logo>;
22
19
 
23
20
  export const Basic: Story = {
24
21
  args: {
25
- type: LogoType.WISE,
22
+ type: 'WISE',
26
23
  inverse: false,
27
24
  },
28
25
  };
@@ -1,7 +1,5 @@
1
1
  import classNames from 'classnames';
2
- import PropTypes from 'prop-types';
3
2
 
4
- import { LogoType } from './logoTypes';
5
3
  import { ReactComponent as LogoFlagInverse } from './svg/flag-inverse.svg';
6
4
  import { ReactComponent as LogoFlagPlatformInverse } from './svg/flag-platform-white.svg';
7
5
  import { ReactComponent as LogoFlagPlatform } from './svg/flag-platform.svg';
@@ -24,44 +22,36 @@ const svgPaths = {
24
22
  WISE_FLAG_PLATFORM_INVERSE: LogoFlagPlatformInverse,
25
23
  };
26
24
 
27
- const Logo = ({ className, inverse, type }) => {
25
+ export enum LogoType {
26
+ WISE = 'WISE',
27
+ WISE_BUSINESS = 'WISE_BUSINESS',
28
+ WISE_PLATFORM = 'WISE_PLATFORM',
29
+ }
30
+
31
+ export interface LogoProps {
32
+ /** Extra classes applied to Logo */
33
+ className?: string;
34
+ /** If true, will use dark colours for dark on light theme */
35
+ inverse?: boolean;
36
+ /** What type of logo to display */
37
+ type?: `${LogoType}`;
38
+ }
39
+
40
+ const labelByType = {
41
+ WISE: 'Wise',
42
+ WISE_BUSINESS: 'Wise Business',
43
+ WISE_PLATFORM: 'Wise Platform',
44
+ } satisfies Record<`${LogoType}`, string>;
45
+
46
+ export default function Logo({ className, inverse, type = 'WISE' }: LogoProps) {
28
47
  const LogoSm =
29
- svgPaths[
30
- `WISE_FLAG${type === LogoType.WISE_PLATFORM ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`
31
- ];
48
+ svgPaths[`WISE_FLAG${type === 'WISE_PLATFORM' ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`];
32
49
  const LogoMd = svgPaths[`${type}${inverse ? '_INVERSE' : ''}`];
33
50
 
34
51
  return (
35
- <span
36
- aria-label={
37
- type === LogoType.WISE
38
- ? 'Wise'
39
- : 'Wise Business' | (type === LogoType.WISE_PLATFORM)
40
- ? 'Wise Platform'
41
- : 'Wise Business'
42
- }
43
- role="img"
44
- className={classNames(className, 'np-logo')}
45
- >
52
+ <span aria-label={labelByType[type]} role="img" className={classNames(className, 'np-logo')}>
46
53
  <LogoSm className="np-logo-svg np-logo-svg--size-sm" />
47
54
  <LogoMd className="np-logo-svg np-logo-svg--size-md" />
48
55
  </span>
49
56
  );
50
- };
51
-
52
- Logo.propTypes = {
53
- /** Extra classes applied to Logo */
54
- className: PropTypes.string,
55
- /** If true, will use dark colours for dark on light theme */
56
- inverse: PropTypes.bool,
57
- /** What type of logo to display */
58
- type: PropTypes.oneOf(['WISE', 'WISE_BUSINESS', 'WISE_PLATFORM']),
59
- };
60
-
61
- Logo.defaultProps = {
62
- className: undefined,
63
- inverse: false,
64
- type: LogoType.WISE,
65
- };
66
-
67
- export default Logo;
57
+ }
@@ -0,0 +1 @@
1
+ export { default, LogoType } from './Logo';