@transferwise/components 0.0.0-experimental-9f96230 → 0.0.0-experimental-9b505c9

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 (417) hide show
  1. package/build/accordion/AccordionItem/AccordionItem.js +22 -3
  2. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.mjs +22 -3
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js +22 -1
  6. package/build/actionButton/ActionButton.js.map +1 -1
  7. package/build/actionButton/ActionButton.mjs +22 -1
  8. package/build/actionButton/ActionButton.mjs.map +1 -1
  9. package/build/actionOption/ActionOption.js +24 -2
  10. package/build/actionOption/ActionOption.js.map +1 -1
  11. package/build/actionOption/ActionOption.mjs +24 -2
  12. package/build/actionOption/ActionOption.mjs.map +1 -1
  13. package/build/alert/Alert.js +21 -5
  14. package/build/alert/Alert.js.map +1 -1
  15. package/build/alert/Alert.mjs +21 -5
  16. package/build/alert/Alert.mjs.map +1 -1
  17. package/build/alert/inlineMarkdown/InlineMarkdown.js +25 -2
  18. package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
  19. package/build/alert/inlineMarkdown/InlineMarkdown.mjs +25 -2
  20. package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
  21. package/build/avatar/Avatar.js +25 -9
  22. package/build/avatar/Avatar.js.map +1 -1
  23. package/build/avatar/Avatar.mjs +25 -9
  24. package/build/avatar/Avatar.mjs.map +1 -1
  25. package/build/avatarWrapper/AvatarWrapper.js +23 -3
  26. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  27. package/build/avatarWrapper/AvatarWrapper.mjs +23 -3
  28. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  29. package/build/badge/Badge.js +24 -12
  30. package/build/badge/Badge.js.map +1 -1
  31. package/build/badge/Badge.mjs +24 -12
  32. package/build/badge/Badge.mjs.map +1 -1
  33. package/build/button/Button.js +22 -3
  34. package/build/button/Button.js.map +1 -1
  35. package/build/button/Button.mjs +22 -3
  36. package/build/button/Button.mjs.map +1 -1
  37. package/build/button/classMap.js +24 -0
  38. package/build/button/classMap.js.map +1 -1
  39. package/build/button/classMap.mjs +24 -0
  40. package/build/button/classMap.mjs.map +1 -1
  41. package/build/button/legacyUtils/legacyUtils.js +24 -2
  42. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  43. package/build/button/legacyUtils/legacyUtils.mjs +24 -2
  44. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  45. package/build/card/Card.js +23 -3
  46. package/build/card/Card.js.map +1 -1
  47. package/build/card/Card.mjs +23 -3
  48. package/build/card/Card.mjs.map +1 -1
  49. package/build/checkbox/Checkbox.js +23 -1
  50. package/build/checkbox/Checkbox.js.map +1 -1
  51. package/build/checkbox/Checkbox.mjs +23 -1
  52. package/build/checkbox/Checkbox.mjs.map +1 -1
  53. package/build/chevron/Chevron.js +21 -1
  54. package/build/chevron/Chevron.js.map +1 -1
  55. package/build/chevron/Chevron.mjs +21 -1
  56. package/build/chevron/Chevron.mjs.map +1 -1
  57. package/build/chips/Chip.js +19 -1
  58. package/build/chips/Chip.js.map +1 -1
  59. package/build/chips/Chip.mjs +19 -1
  60. package/build/chips/Chip.mjs.map +1 -1
  61. package/build/circularButton/CircularButton.js +24 -5
  62. package/build/circularButton/CircularButton.js.map +1 -1
  63. package/build/circularButton/CircularButton.mjs +24 -5
  64. package/build/circularButton/CircularButton.mjs.map +1 -1
  65. package/build/common/bottomSheet/BottomSheet.js +3 -2
  66. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  67. package/build/common/bottomSheet/BottomSheet.mjs +3 -2
  68. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  69. package/build/common/circle/Circle.js +15 -2
  70. package/build/common/circle/Circle.js.map +1 -1
  71. package/build/common/circle/Circle.mjs +15 -2
  72. package/build/common/circle/Circle.mjs.map +1 -1
  73. package/build/common/hooks/useHasIntersected/useHasIntersected.js +10 -10
  74. package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
  75. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs +10 -10
  76. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
  77. package/build/common/locale/index.js +24 -0
  78. package/build/common/locale/index.js.map +1 -1
  79. package/build/common/locale/index.mjs +24 -0
  80. package/build/common/locale/index.mjs.map +1 -1
  81. package/build/common/panel/Panel.js +23 -2
  82. package/build/common/panel/Panel.js.map +1 -1
  83. package/build/common/panel/Panel.mjs +23 -2
  84. package/build/common/panel/Panel.mjs.map +1 -1
  85. package/build/common/responsivePanel/ResponsivePanel.js +27 -3
  86. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  87. package/build/common/responsivePanel/ResponsivePanel.mjs +27 -3
  88. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  89. package/build/criticalBanner/CriticalCommsBanner.js +22 -3
  90. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  91. package/build/criticalBanner/CriticalCommsBanner.mjs +22 -3
  92. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  93. package/build/dateInput/DateInput.js +22 -5
  94. package/build/dateInput/DateInput.js.map +1 -1
  95. package/build/dateInput/DateInput.mjs +22 -5
  96. package/build/dateInput/DateInput.mjs.map +1 -1
  97. package/build/dateLookup/DateLookup.js +24 -6
  98. package/build/dateLookup/DateLookup.js.map +1 -1
  99. package/build/dateLookup/DateLookup.mjs +24 -6
  100. package/build/dateLookup/DateLookup.mjs.map +1 -1
  101. package/build/dateLookup/dateHeader/DateHeader.js +26 -5
  102. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  103. package/build/dateLookup/dateHeader/DateHeader.mjs +26 -5
  104. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  105. package/build/dateLookup/dateTrigger/DateTrigger.js +19 -3
  106. package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
  107. package/build/dateLookup/dateTrigger/DateTrigger.mjs +19 -3
  108. package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
  109. package/build/decision/Decision.js +24 -3
  110. package/build/decision/Decision.js.map +1 -1
  111. package/build/decision/Decision.mjs +24 -3
  112. package/build/decision/Decision.mjs.map +1 -1
  113. package/build/definitionList/DefinitionList.js +23 -1
  114. package/build/definitionList/DefinitionList.js.map +1 -1
  115. package/build/definitionList/DefinitionList.mjs +23 -1
  116. package/build/definitionList/DefinitionList.mjs.map +1 -1
  117. package/build/dimmer/Dimmer.js +24 -2
  118. package/build/dimmer/Dimmer.js.map +1 -1
  119. package/build/dimmer/Dimmer.mjs +24 -2
  120. package/build/dimmer/Dimmer.mjs.map +1 -1
  121. package/build/display/Display.js +23 -1
  122. package/build/display/Display.js.map +1 -1
  123. package/build/display/Display.mjs +23 -1
  124. package/build/display/Display.mjs.map +1 -1
  125. package/build/drawer/Drawer.js +22 -3
  126. package/build/drawer/Drawer.js.map +1 -1
  127. package/build/drawer/Drawer.mjs +22 -3
  128. package/build/drawer/Drawer.mjs.map +1 -1
  129. package/build/field/Field.js +23 -2
  130. package/build/field/Field.js.map +1 -1
  131. package/build/field/Field.mjs +23 -2
  132. package/build/field/Field.mjs.map +1 -1
  133. package/build/flowNavigation/FlowNavigation.js +19 -2
  134. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  135. package/build/flowNavigation/FlowNavigation.mjs +19 -2
  136. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  137. package/build/header/Header.js +24 -2
  138. package/build/header/Header.js.map +1 -1
  139. package/build/header/Header.mjs +24 -2
  140. package/build/header/Header.mjs.map +1 -1
  141. package/build/i18n/en.json +0 -5
  142. package/build/i18n/en.json.js +0 -5
  143. package/build/i18n/en.json.js.map +1 -1
  144. package/build/i18n/en.json.mjs +0 -5
  145. package/build/i18n/en.json.mjs.map +1 -1
  146. package/build/image/Image.js +4 -1
  147. package/build/image/Image.js.map +1 -1
  148. package/build/image/Image.mjs +4 -1
  149. package/build/image/Image.mjs.map +1 -1
  150. package/build/index.js +69 -62
  151. package/build/index.js.map +1 -1
  152. package/build/index.mjs +27 -20
  153. package/build/index.mjs.map +1 -1
  154. package/build/info/Info.js +21 -3
  155. package/build/info/Info.js.map +1 -1
  156. package/build/info/Info.mjs +21 -3
  157. package/build/info/Info.mjs.map +1 -1
  158. package/build/inlineAlert/InlineAlert.js +24 -3
  159. package/build/inlineAlert/InlineAlert.js.map +1 -1
  160. package/build/inlineAlert/InlineAlert.mjs +24 -3
  161. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  162. package/build/inputs/SearchInput.js +23 -2
  163. package/build/inputs/SearchInput.js.map +1 -1
  164. package/build/inputs/SearchInput.mjs +23 -2
  165. package/build/inputs/SearchInput.mjs.map +1 -1
  166. package/build/instructionsList/InstructionsList.js +22 -1
  167. package/build/instructionsList/InstructionsList.js.map +1 -1
  168. package/build/instructionsList/InstructionsList.mjs +22 -1
  169. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  170. package/build/loader/Loader.js +22 -1
  171. package/build/loader/Loader.js.map +1 -1
  172. package/build/loader/Loader.mjs +22 -1
  173. package/build/loader/Loader.mjs.map +1 -1
  174. package/build/main.css +46 -322
  175. package/build/markdown/Markdown.js +24 -1
  176. package/build/markdown/Markdown.js.map +1 -1
  177. package/build/markdown/Markdown.mjs +24 -1
  178. package/build/markdown/Markdown.mjs.map +1 -1
  179. package/build/modal/Modal.js +22 -5
  180. package/build/modal/Modal.js.map +1 -1
  181. package/build/modal/Modal.mjs +22 -5
  182. package/build/modal/Modal.mjs.map +1 -1
  183. package/build/moneyInput/MoneyInput.js +22 -3
  184. package/build/moneyInput/MoneyInput.js.map +1 -1
  185. package/build/moneyInput/MoneyInput.mjs +22 -3
  186. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  187. package/build/navigationOption/NavigationOption.js +23 -2
  188. package/build/navigationOption/NavigationOption.js.map +1 -1
  189. package/build/navigationOption/NavigationOption.mjs +23 -2
  190. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  191. package/build/nudge/Nudge.js +19 -1
  192. package/build/nudge/Nudge.js.map +1 -1
  193. package/build/nudge/Nudge.mjs +19 -1
  194. package/build/nudge/Nudge.mjs.map +1 -1
  195. package/build/overlayHeader/OverlayHeader.js +19 -1
  196. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  197. package/build/overlayHeader/OverlayHeader.mjs +19 -1
  198. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  199. package/build/phoneNumberInput/PhoneNumberInput.js +23 -2
  200. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  201. package/build/phoneNumberInput/PhoneNumberInput.mjs +23 -2
  202. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  203. package/build/popover/Popover.js +24 -4
  204. package/build/popover/Popover.js.map +1 -1
  205. package/build/popover/Popover.mjs +24 -4
  206. package/build/popover/Popover.mjs.map +1 -1
  207. package/build/processIndicator/ProcessIndicator.js +22 -1
  208. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  209. package/build/processIndicator/ProcessIndicator.mjs +22 -1
  210. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  211. package/build/progressBar/ProgressBar.js +24 -2
  212. package/build/progressBar/ProgressBar.js.map +1 -1
  213. package/build/progressBar/ProgressBar.mjs +24 -2
  214. package/build/progressBar/ProgressBar.mjs.map +1 -1
  215. package/build/promoCard/PromoCard.js +22 -2
  216. package/build/promoCard/PromoCard.js.map +1 -1
  217. package/build/promoCard/PromoCard.mjs +22 -2
  218. package/build/promoCard/PromoCard.mjs.map +1 -1
  219. package/build/promoCard/PromoCardIndicator.js +22 -1
  220. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  221. package/build/promoCard/PromoCardIndicator.mjs +22 -1
  222. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  223. package/build/provider/Provider.js +25 -2
  224. package/build/provider/Provider.js.map +1 -1
  225. package/build/provider/Provider.mjs +25 -2
  226. package/build/provider/Provider.mjs.map +1 -1
  227. package/build/radio/Radio.js +24 -2
  228. package/build/radio/Radio.js.map +1 -1
  229. package/build/radio/Radio.mjs +24 -2
  230. package/build/radio/Radio.mjs.map +1 -1
  231. package/build/segmentedControl/SegmentedControl.js +22 -1
  232. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  233. package/build/segmentedControl/SegmentedControl.mjs +22 -1
  234. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  235. package/build/select/Select.js +26 -4
  236. package/build/select/Select.js.map +1 -1
  237. package/build/select/Select.mjs +26 -4
  238. package/build/select/Select.mjs.map +1 -1
  239. package/build/select/option/Option.js +22 -1
  240. package/build/select/option/Option.js.map +1 -1
  241. package/build/select/option/Option.mjs +22 -1
  242. package/build/select/option/Option.mjs.map +1 -1
  243. package/build/selectOption/SelectOption.js +24 -6
  244. package/build/selectOption/SelectOption.js.map +1 -1
  245. package/build/selectOption/SelectOption.mjs +24 -6
  246. package/build/selectOption/SelectOption.mjs.map +1 -1
  247. package/build/statusIcon/StatusIcon.js +26 -8
  248. package/build/statusIcon/StatusIcon.js.map +1 -1
  249. package/build/statusIcon/StatusIcon.mjs +26 -8
  250. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  251. package/build/stepper/Stepper.js +25 -3
  252. package/build/stepper/Stepper.js.map +1 -1
  253. package/build/stepper/Stepper.mjs +25 -3
  254. package/build/stepper/Stepper.mjs.map +1 -1
  255. package/build/sticky/Sticky.js +25 -2
  256. package/build/sticky/Sticky.js.map +1 -1
  257. package/build/sticky/Sticky.mjs +25 -2
  258. package/build/sticky/Sticky.mjs.map +1 -1
  259. package/build/styles/avatar/Avatar.css +29 -0
  260. package/build/styles/badge/Badge.css +6 -0
  261. package/build/styles/circularButton/CircularButton.css +2 -2
  262. package/build/styles/common/circle/Circle.css +4 -0
  263. package/build/styles/main.css +46 -322
  264. package/build/styles/statusIcon/StatusIcon.css +0 -20
  265. package/build/summary/Summary.js +21 -5
  266. package/build/summary/Summary.js.map +1 -1
  267. package/build/summary/Summary.mjs +21 -5
  268. package/build/summary/Summary.mjs.map +1 -1
  269. package/build/tabs/Tabs.js +23 -3
  270. package/build/tabs/Tabs.js.map +1 -1
  271. package/build/tabs/Tabs.mjs +23 -3
  272. package/build/tabs/Tabs.mjs.map +1 -1
  273. package/build/tile/Tile.js +24 -2
  274. package/build/tile/Tile.js.map +1 -1
  275. package/build/tile/Tile.mjs +24 -2
  276. package/build/tile/Tile.mjs.map +1 -1
  277. package/build/title/Title.js +23 -1
  278. package/build/title/Title.js.map +1 -1
  279. package/build/title/Title.mjs +23 -1
  280. package/build/title/Title.mjs.map +1 -1
  281. package/build/tooltip/Tooltip.js +22 -1
  282. package/build/tooltip/Tooltip.js.map +1 -1
  283. package/build/tooltip/Tooltip.mjs +22 -1
  284. package/build/tooltip/Tooltip.mjs.map +1 -1
  285. package/build/typeahead/Typeahead.js +22 -4
  286. package/build/typeahead/Typeahead.js.map +1 -1
  287. package/build/typeahead/Typeahead.mjs +22 -4
  288. package/build/typeahead/Typeahead.mjs.map +1 -1
  289. package/build/types/avatar/Avatar.d.ts.map +1 -1
  290. package/build/types/badge/Badge.d.ts.map +1 -1
  291. package/build/types/common/circle/Circle.d.ts +1 -1
  292. package/build/types/common/circle/Circle.d.ts.map +1 -1
  293. package/build/types/common/fakeEvents.d.ts +23 -0
  294. package/build/types/common/fakeEvents.d.ts.map +1 -0
  295. package/build/types/common/hooks/index.d.ts +4 -4
  296. package/build/types/common/hooks/index.d.ts.map +1 -1
  297. package/build/types/common/hooks/useConditionalListener/index.d.ts +1 -1
  298. package/build/types/common/hooks/useConditionalListener/index.d.ts.map +1 -1
  299. package/build/types/common/hooks/useDirection/index.d.ts +1 -1
  300. package/build/types/common/hooks/useDirection/index.d.ts.map +1 -1
  301. package/build/types/common/hooks/useHasIntersected/index.d.ts +1 -1
  302. package/build/types/common/hooks/useHasIntersected/index.d.ts.map +1 -1
  303. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts +15 -4
  304. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts.map +1 -1
  305. package/build/types/common/index.d.ts +28 -28
  306. package/build/types/common/index.d.ts.map +1 -1
  307. package/build/types/common/responsivePanel/index.d.ts +1 -1
  308. package/build/types/common/responsivePanel/index.d.ts.map +1 -1
  309. package/build/types/index.d.ts +1 -0
  310. package/build/types/index.d.ts.map +1 -1
  311. package/build/types/navigationOption/NavigationOption.d.ts +1 -0
  312. package/build/types/navigationOption/NavigationOption.d.ts.map +1 -1
  313. package/build/types/statusIcon/StatusIcon.d.ts +7 -3
  314. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  315. package/build/upload/Upload.js +21 -2
  316. package/build/upload/Upload.js.map +1 -1
  317. package/build/upload/Upload.mjs +21 -2
  318. package/build/upload/Upload.mjs.map +1 -1
  319. package/build/upload/steps/processingStep/processingStep.js +25 -3
  320. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  321. package/build/upload/steps/processingStep/processingStep.mjs +25 -3
  322. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  323. package/build/upload/steps/uploadImageStep/uploadImageStep.js +23 -3
  324. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  325. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +23 -3
  326. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  327. package/build/uploadInput/UploadInput.js +22 -3
  328. package/build/uploadInput/UploadInput.js.map +1 -1
  329. package/build/uploadInput/UploadInput.mjs +22 -3
  330. package/build/uploadInput/UploadInput.mjs.map +1 -1
  331. package/build/uploadInput/uploadButton/UploadButton.js +21 -2
  332. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  333. package/build/uploadInput/uploadButton/UploadButton.mjs +21 -2
  334. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  335. package/build/uploadInput/uploadButton/defaults.js +24 -0
  336. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  337. package/build/uploadInput/uploadButton/defaults.mjs +24 -0
  338. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  339. package/build/uploadInput/uploadItem/UploadItem.js +21 -4
  340. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  341. package/build/uploadInput/uploadItem/UploadItem.mjs +21 -4
  342. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  343. package/build/withDisplayFormat/WithDisplayFormat.js +25 -1
  344. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  345. package/build/withDisplayFormat/WithDisplayFormat.mjs +25 -1
  346. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  347. package/package.json +3 -3
  348. package/src/avatar/Avatar.css +29 -0
  349. package/src/avatar/Avatar.less +12 -0
  350. package/src/avatar/Avatar.tsx +4 -8
  351. package/src/avatarWrapper/__snapshots__/AvatarWrapper.spec.tsx.snap +11 -22
  352. package/src/badge/Badge.css +6 -0
  353. package/src/badge/Badge.less +6 -0
  354. package/src/badge/Badge.tsx +1 -11
  355. package/src/circularButton/CircularButton.css +2 -2
  356. package/src/circularButton/CircularButton.less +1 -1
  357. package/src/circularButton/CircularButton.story.tsx +3 -0
  358. package/src/circularButton/CircularButton.tsx +1 -1
  359. package/src/circularButton/__snapshots__/CircularButton.spec.tsx.snap +10 -10
  360. package/src/common/circle/Circle.css +4 -0
  361. package/src/common/circle/Circle.less +6 -0
  362. package/src/common/circle/Circle.story.tsx +2 -2
  363. package/src/common/circle/Circle.tsx +25 -2
  364. package/src/common/{fakeEvents.js → fakeEvents.ts} +1 -1
  365. package/src/common/hooks/useHasIntersected/{useHasIntersected.js → useHasIntersected.ts} +20 -11
  366. package/src/flowNavigation/__snapshots__/FlowNavigation.spec.js.snap +4 -8
  367. package/src/i18n/en.json +0 -5
  368. package/src/index.ts +1 -0
  369. package/src/main.css +46 -322
  370. package/src/main.less +0 -1
  371. package/src/navigationOption/{NavigationOption.story.js → NavigationOption.story.tsx} +23 -5
  372. package/src/navigationOption/NavigationOption.tsx +1 -1
  373. package/src/overlayHeader/__snapshots__/OverlayHeader.spec.tsx.snap +2 -4
  374. package/src/promoCard/PromoCard.spec.tsx +1 -1
  375. package/src/radio/__snapshots__/Radio.rtl.spec.tsx.snap +2 -4
  376. package/src/statusIcon/StatusIcon.css +0 -20
  377. package/src/statusIcon/StatusIcon.less +0 -17
  378. package/src/statusIcon/StatusIcon.spec.tsx +2 -21
  379. package/src/statusIcon/StatusIcon.story.tsx +32 -1
  380. package/src/statusIcon/StatusIcon.tsx +11 -10
  381. package/build/styles/table/Table.css +0 -300
  382. package/build/types/table/Table.d.ts +0 -24
  383. package/build/types/table/Table.d.ts.map +0 -1
  384. package/build/types/table/Table.messages.d.ts +0 -24
  385. package/build/types/table/Table.messages.d.ts.map +0 -1
  386. package/build/types/table/TableCell.d.ts +0 -44
  387. package/build/types/table/TableCell.d.ts.map +0 -1
  388. package/build/types/table/TableHeader.d.ts +0 -13
  389. package/build/types/table/TableHeader.d.ts.map +0 -1
  390. package/build/types/table/TableRow.d.ts +0 -17
  391. package/build/types/table/TableRow.d.ts.map +0 -1
  392. package/build/types/table/TableStatusText.d.ts +0 -9
  393. package/build/types/table/TableStatusText.d.ts.map +0 -1
  394. package/build/types/table/index.d.ts +0 -6
  395. package/build/types/table/index.d.ts.map +0 -1
  396. package/src/common/requirements.js +0 -440
  397. package/src/table/Table.css +0 -300
  398. package/src/table/Table.less +0 -361
  399. package/src/table/Table.messages.ts +0 -24
  400. package/src/table/Table.spec.tsx +0 -89
  401. package/src/table/Table.story.tsx +0 -364
  402. package/src/table/Table.tsx +0 -167
  403. package/src/table/TableCell.spec.tsx +0 -304
  404. package/src/table/TableCell.tsx +0 -170
  405. package/src/table/TableHeader.spec.tsx +0 -55
  406. package/src/table/TableHeader.tsx +0 -75
  407. package/src/table/TableRow.spec.tsx +0 -117
  408. package/src/table/TableRow.tsx +0 -67
  409. package/src/table/TableStatusText.spec.tsx +0 -53
  410. package/src/table/TableStatusText.tsx +0 -36
  411. package/src/table/index.ts +0 -11
  412. /package/src/common/hooks/{index.js → index.ts} +0 -0
  413. /package/src/common/hooks/useConditionalListener/{index.js → index.ts} +0 -0
  414. /package/src/common/hooks/useDirection/{index.js → index.ts} +0 -0
  415. /package/src/common/hooks/useHasIntersected/{index.js → index.ts} +0 -0
  416. /package/src/common/{index.js → index.ts} +0 -0
  417. /package/src/common/responsivePanel/{index.js → index.ts} +0 -0
@@ -1,89 +0,0 @@
1
- import React from 'react';
2
- import { render, screen } from '@testing-library/react';
3
- import { userEvent } from '@testing-library/user-event';
4
- import '@testing-library/jest-dom';
5
- import { IntlProvider } from 'react-intl';
6
- import Table, { TableProps } from './Table';
7
- import { mockMatchMedia } from '../test-utils';
8
-
9
- mockMatchMedia();
10
-
11
- const renderWithIntl = (component: React.ReactNode) => {
12
- return render(<IntlProvider locale="en">{component}</IntlProvider>);
13
- };
14
-
15
- describe('Table Component', () => {
16
- const defaultProps: TableProps = {
17
- data: {
18
- headers: [{ header: 'Header 1' }, { header: 'Header 2' }],
19
- rows: [
20
- {
21
- cells: [
22
- { cell: { type: 'text', text: 'Cell content 1' } },
23
- { cell: { type: 'text', text: 'Cell content 2' } },
24
- ],
25
- },
26
- {
27
- cells: [
28
- { cell: { type: 'text', text: 'Cell content 3' } },
29
- { cell: { type: 'text', text: 'Cell content 4' } },
30
- ],
31
- },
32
- ],
33
- onRowClick: jest.fn(),
34
- },
35
- loading: false,
36
- className: '',
37
- fullWidth: true,
38
- error: undefined,
39
- onRetry: jest.fn(),
40
- };
41
-
42
- it('renders table', () => {
43
- renderWithIntl(<Table {...defaultProps} />);
44
- expect(screen.getByText('Header 1')).toBeInTheDocument();
45
- expect(screen.getByText('Header 2')).toBeInTheDocument();
46
- expect(screen.getByText('Cell content 1')).toBeInTheDocument();
47
- expect(screen.getByText('Cell content 2')).toBeInTheDocument();
48
- expect(screen.getByText('Cell content 3')).toBeInTheDocument();
49
- expect(screen.getByText('Cell content 4')).toBeInTheDocument();
50
- });
51
-
52
- it('renders `loading` state on loading', () => {
53
- renderWithIntl(<Table {...defaultProps} loading />);
54
- expect(screen.getAllByTestId('np-table-loader')).toHaveLength(1);
55
- });
56
-
57
- it('renders `empty data` message for empty table`s data', () => {
58
- renderWithIntl(<Table {...defaultProps} data={{ headers: [], rows: [] }} />);
59
- expect(screen.getAllByTestId('np-table-empty-data')).toHaveLength(1);
60
- });
61
-
62
- it('renders `error` message if `error` is passed', () => {
63
- const errorProps: TableProps = {
64
- ...defaultProps,
65
- error: { message: 'Error occurred', action: { text: 'Retry' } },
66
- };
67
- renderWithIntl(<Table {...errorProps} />);
68
- expect(screen.getByText('Error occurred')).toBeInTheDocument();
69
- expect(screen.getByText('Retry')).toBeInTheDocument();
70
- });
71
-
72
- it('renders with custom class name', () => {
73
- renderWithIntl(<Table {...defaultProps} className="custom-class" />);
74
- expect(screen.getByTestId('np-table-container')).toHaveClass('custom-class');
75
- });
76
-
77
- it('renders with `fullWidth` set to false', () => {
78
- renderWithIntl(<Table {...defaultProps} fullWidth={false} />);
79
- expect(screen.getByTestId('np-table-outer-container')).toHaveClass(
80
- 'np-table-outer-container--center',
81
- );
82
- });
83
-
84
- it('calls `onRowClick` when a row is clicked', async () => {
85
- renderWithIntl(<Table {...defaultProps} />);
86
- await userEvent.click(screen.getByText('Cell content 1'));
87
- expect(defaultProps.data.onRowClick).toHaveBeenCalled();
88
- });
89
- });
@@ -1,364 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import Table from './Table';
3
- import { TableHeaderType } from './TableHeader';
4
- import { TableRowType, TableRowClickableType } from './TableRow';
5
-
6
- export default {
7
- component: Table,
8
- title: 'Option/Table',
9
- tags: ['autodocs'],
10
- } satisfies Meta<typeof Table>;
11
-
12
- type Story = StoryObj<typeof Table>;
13
-
14
- const tableData = {
15
- headers: [
16
- {
17
- header: 'Employee',
18
- width: '200px',
19
- },
20
- {
21
- header: 'Location',
22
- width: '15%',
23
- },
24
- {
25
- header: 'Emplpyment Date',
26
- className: 'np-table-header--custom-class',
27
- },
28
- {
29
- header: 'Payment',
30
- alignment: 'right',
31
- },
32
- {
33
- header: 'Status',
34
- status: 'error',
35
- },
36
- ] satisfies TableHeaderType[],
37
- rows: [
38
- {
39
- id: 0,
40
- cells: [
41
- {
42
- cell: {
43
- type: 'leading',
44
- primaryText: 'Bob Brown',
45
- secondaryText: 'Software Engineer',
46
- avatar: {
47
- fullName: 'Bob Brown',
48
- },
49
- },
50
- },
51
- {
52
- cell: {
53
- type: 'text',
54
- text: 'FR, Paris',
55
- },
56
- },
57
- {
58
- cell: {
59
- type: 'text',
60
- text: '11 Oct 2022',
61
- },
62
- },
63
- {
64
- cell: {
65
- type: 'currency',
66
- primaryCurrency: {
67
- value: '12345.67',
68
- currency: 'eur',
69
- },
70
- secondaryCurrency: {
71
- value: '11000.00',
72
- currency: 'gbp',
73
- },
74
- },
75
- alignment: 'right',
76
- },
77
- {
78
- cell: {
79
- type: 'status',
80
- primaryText: 'Cancelled',
81
- secondaryText: '1 day ago',
82
- sentiment: 'negative',
83
- },
84
- },
85
- ],
86
- },
87
- {
88
- id: 1,
89
- cells: [
90
- {
91
- cell: {
92
- type: 'leading',
93
- primaryText: 'Jan Kowalski',
94
- secondaryText: 'Product Manager',
95
- avatar: {
96
- fullName: 'Jan Kowalski',
97
- backgroundColorSeed: 'Jan Kowalski',
98
- },
99
- },
100
- },
101
- {
102
- cell: {
103
- type: 'text',
104
- text: 'US, New York',
105
- },
106
- },
107
- {
108
- cell: {
109
- type: 'text',
110
- text: '24 Jan 2024',
111
- },
112
- },
113
- {
114
- cell: {
115
- type: 'currency',
116
- primaryCurrency: {
117
- value: 23456.78,
118
- currency: 'usd',
119
- },
120
- secondaryCurrency: {
121
- value: 21000.0,
122
- currency: 'gbp',
123
- },
124
- },
125
- alignment: 'right',
126
- },
127
- {
128
- cell: {
129
- type: 'status',
130
- primaryText: 'Scheduled',
131
- secondaryText: 'Tomorrow',
132
- sentiment: 'neutral',
133
- },
134
- },
135
- ],
136
- },
137
- {
138
- id: 2,
139
- cells: [
140
- {
141
- cell: {
142
- type: 'leading',
143
- primaryText: 'William Davis',
144
- secondaryText: 'Data Scientist',
145
- avatar: {
146
- fullName: 'William Davis',
147
- backgroundColorSeed: 'William Davis',
148
- },
149
- },
150
- },
151
- {
152
- cell: {
153
- type: 'text',
154
- text: 'UK, London',
155
- },
156
- },
157
- {
158
- cell: {
159
- type: 'text',
160
- text: '9 Sept 2023',
161
- },
162
- },
163
- {
164
- cell: {
165
- type: 'currency',
166
- primaryCurrency: {
167
- value: '34567.89',
168
- currency: 'gbp',
169
- },
170
- secondaryCurrency: {
171
- value: '31000.00',
172
- currency: 'eur',
173
- },
174
- },
175
- alignment: 'right',
176
- },
177
- {
178
- cell: {
179
- type: 'status',
180
- primaryText: 'Paid',
181
- secondaryText: 'Yesterday',
182
- sentiment: 'positive',
183
- },
184
- },
185
- ],
186
- },
187
- {
188
- id: 3,
189
- cells: [
190
- {
191
- cell: {
192
- type: 'leading',
193
- primaryText: 'Jane Smith',
194
- secondaryText: 'IT Support Specialist',
195
- status: 'success',
196
- avatar: {
197
- src: 'avatar-square-dude.webp',
198
- },
199
- },
200
- },
201
- {
202
- cell: {
203
- type: 'text',
204
- text: 'NO, Oslo',
205
- },
206
- },
207
- {
208
- cell: {
209
- type: 'text',
210
- text: '12 Apr 2024',
211
- status: 'success',
212
- },
213
- },
214
- {
215
- cell: {
216
- type: 'currency',
217
- primaryCurrency: {
218
- value: '45678.90',
219
- currency: 'nok',
220
- },
221
- secondaryCurrency: {
222
- value: '41000.00',
223
- currency: 'gbp',
224
- },
225
- status: 'success',
226
- },
227
- alignment: 'right',
228
- },
229
- {
230
- cell: {
231
- type: 'status',
232
- primaryText: 'Overdue',
233
- secondaryText: '3 days ago',
234
- sentiment: 'warning',
235
- },
236
- },
237
- ],
238
- },
239
- {
240
- id: 4,
241
- cells: [
242
- {
243
- cell: {
244
- type: 'leading',
245
- primaryText: 'Alice Johnson',
246
- secondaryText: 'Frontend Developer',
247
- status: 'error',
248
- avatar: {
249
- src: 'avatar-square-dude.webp',
250
- },
251
- },
252
- },
253
- {
254
- cell: {
255
- type: 'text',
256
- text: 'JP, Tokyo',
257
- },
258
- },
259
- {
260
- cell: {
261
- type: 'text',
262
- text: '27 Nov 2023',
263
- status: 'error',
264
- },
265
- },
266
- {
267
- cell: {
268
- type: 'currency',
269
- primaryCurrency: {
270
- value: '56789.01', // JPY currency's value is always cropped to zero decimals, you'll see `56789` instead of `56789.01` in screen/tests
271
- currency: 'jpy',
272
- },
273
- secondaryCurrency: {
274
- value: '51000.00',
275
- currency: 'gbp',
276
- },
277
- status: 'error',
278
- },
279
- alignment: 'right',
280
- },
281
- {
282
- cell: {
283
- type: 'status',
284
- primaryText: 'Overdue',
285
- secondaryText: '6 days ago',
286
- sentiment: 'pending',
287
- },
288
- },
289
- ],
290
- },
291
- ] satisfies TableRowType[] | TableRowClickableType[],
292
- };
293
-
294
- export const Basic: Story = {
295
- args: {
296
- 'aria-labelledby': 'Basic Table',
297
- data: tableData,
298
- },
299
- render: (args) => {
300
- return <Table {...args} />;
301
- },
302
- };
303
-
304
- export const WithClickableRow: Story = {
305
- args: {
306
- 'aria-labelledby': 'Table With Clickable Row',
307
- data: {
308
- ...tableData,
309
- onRowClick: (rowData: TableRowType | TableRowClickableType) => {
310
- // eslint-disable-next-line no-console
311
- console.log(`Row clicked, data:`, rowData);
312
- },
313
- },
314
- },
315
- render: (args) => {
316
- return <Table {...args} />;
317
- },
318
- };
319
-
320
- export const WithLoading: Story = {
321
- args: {
322
- 'aria-labelledby': 'Table With Loading',
323
- loading: true,
324
- },
325
- };
326
-
327
- export const WithEmptyData: Story = {
328
- args: {
329
- 'aria-labelledby': 'Table With Empty Data',
330
- data: {
331
- headers: tableData.headers,
332
- rows: [],
333
- },
334
- },
335
- };
336
-
337
- export const WithError: Story = {
338
- args: {
339
- error: {
340
- message: 'Something went wrong during data fetching',
341
- action: {
342
- href: '/?path=/story/option-table--with-error',
343
- text: 'To Refresh page, click here',
344
- },
345
- },
346
- },
347
- };
348
-
349
- export const WithAFewColums: Story = {
350
- args: {
351
- 'aria-labelledby': 'Table With A Few Columns',
352
- data: {
353
- headers: tableData.headers
354
- .slice(0, 1)
355
- .concat(tableData.headers[3])
356
- .concat(tableData.headers[4]),
357
- rows: tableData.rows.map((row) => ({
358
- id: row.id,
359
- cells: row.cells.slice(0, 1).concat(row.cells[3]).concat(row.cells[4]),
360
- })),
361
- },
362
- fullWidth: false,
363
- },
364
- };
@@ -1,167 +0,0 @@
1
- import { useIntl } from 'react-intl';
2
- import TableCell from './TableCell';
3
- import TableHeader, { TableHeaderType } from './TableHeader';
4
- import TableRow, { TableRowClickableType, TableRowType } from './TableRow';
5
- import Alert from '../alert';
6
-
7
- import messages from './Table.messages';
8
- import Loader from '../loader';
9
- import { Sentiment, Size } from '../common';
10
- import StatusIcon from '../statusIcon';
11
- import { clsx } from 'clsx';
12
- import { useTheme } from '@wise/components-theming';
13
-
14
- export interface TableProps {
15
- 'aria-labelledby'?: string;
16
- data: {
17
- headers?: TableHeaderType[];
18
- rows?: TableRowType[] | TableRowClickableType[];
19
- onRowClick?: (rowData: TableRowType | TableRowClickableType) => void;
20
- };
21
- loading?: boolean;
22
- className?: string | undefined;
23
- fullWidth?: boolean;
24
- error?: {
25
- message?: string;
26
- action?: {
27
- href?: string;
28
- text?: string;
29
- };
30
- };
31
- onRetry?: () => void;
32
- }
33
-
34
- const Table: React.FC<TableProps> = ({
35
- 'aria-labelledby': ariaLabelledBy,
36
- data,
37
- loading,
38
- className,
39
- fullWidth = true,
40
- error,
41
- }) => {
42
- const { formatMessage } = useIntl();
43
- const { theme } = useTheme();
44
-
45
- const getRowLength = () => {
46
- const columnsLength = data?.headers?.length ?? 0;
47
- return data?.onRowClick ? columnsLength + 1 : columnsLength;
48
- };
49
-
50
- const getTableContent = () => {
51
- if (loading) {
52
- return (
53
- <TableRow>
54
- <TableCell>
55
- <Loader data-testid="np-table-loader" />
56
- </TableCell>
57
- </TableRow>
58
- );
59
- }
60
-
61
- // Shows the `emptyData` message when there is no data to display
62
- if (!data?.rows?.length) {
63
- return (
64
- <TableRow>
65
- <TableCell colSpan={data?.headers?.length ? data?.headers?.length : undefined}>
66
- <div className="np-table-empty-data" data-testid="np-table-empty-data">
67
- <StatusIcon sentiment={Sentiment.WARNING} size={Size.MEDIUM} />
68
- <div className="np-text-body-default-bold">{formatMessage(messages.emptyData)}</div>
69
- </div>
70
- </TableCell>
71
- </TableRow>
72
- );
73
- }
74
-
75
- return data?.rows?.map((rowData, rowIndex) => {
76
- return (
77
- <TableRow
78
- key={'table-row-'.concat(rowIndex.toString())}
79
- rowData={rowData}
80
- hasSeparator={data?.rows?.length ? data.rows.length - 1 !== rowIndex : false}
81
- onRowClick={data?.onRowClick}
82
- />
83
- );
84
- });
85
- };
86
-
87
- if (error) {
88
- return (
89
- <Alert
90
- className="np-table-error"
91
- message={error.message}
92
- type={Sentiment.NEGATIVE}
93
- action={{
94
- href: error?.action?.href ?? '/',
95
- text: error?.action?.text ?? formatMessage(messages.refreshPage),
96
- }}
97
- data-testid="np-table-error"
98
- />
99
- );
100
- }
101
-
102
- return (
103
- <>
104
- <div aria-live="polite" className="sr-only">
105
- {formatMessage(messages[loading ? 'loading' : 'loaded'])}
106
- </div>
107
- <div
108
- role={loading ? 'presentation' : 'region'}
109
- aria-labelledby={ariaLabelledBy}
110
- className={clsx('np-table-outer-container', {
111
- 'np-theme-personal': theme === 'bright-green',
112
- 'np-table-outer-container--center': !fullWidth,
113
- 'np-table-outer-container--full-width': fullWidth,
114
- })}
115
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
116
- tabIndex={0}
117
- data-testid="np-table-outer-container"
118
- >
119
- <div
120
- className={clsx('np-table-container', className, {
121
- 'np-table-container--loading': loading,
122
- })}
123
- data-testid="np-table-container"
124
- >
125
- <div className="np-table-inner-container">
126
- <table className="np-table">
127
- <thead role={loading ? 'presentation' : undefined}>
128
- <tr>
129
- {(loading ?? (data?.headers && !data?.headers.length)) ? (
130
- <TableHeader />
131
- ) : (
132
- data?.headers?.map((headerItem: TableHeaderType, index) => (
133
- <TableHeader
134
- key={headerItem.header?.concat(index.toString())}
135
- {...headerItem}
136
- />
137
- ))
138
- )}
139
- {data?.onRowClick && <TableHeader isActionHeader />}
140
- </tr>
141
- </thead>
142
- <tbody>
143
- <tr
144
- key="first-presentation"
145
- role="presentation"
146
- className="np-table-row np-table-row--cosmetic"
147
- >
148
- <td className="np-table-cell" colSpan={getRowLength()} />
149
- </tr>
150
- {getTableContent()}
151
- <tr
152
- key="last-presentation"
153
- role="presentation"
154
- className="np-table-row np-table-row--cosmetic"
155
- >
156
- <td className="np-table-cell" colSpan={getRowLength()} />
157
- </tr>
158
- </tbody>
159
- </table>
160
- </div>
161
- </div>
162
- </div>
163
- </>
164
- );
165
- };
166
-
167
- export default Table;