@transferwise/components 46.36.1 → 46.38.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 (351) hide show
  1. package/README.md +1 -1
  2. package/build/index.js +169 -348
  3. package/build/index.js.map +1 -1
  4. package/build/index.mjs +164 -342
  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/accordion/AccordionItem/AccordionItem.d.ts.map +1 -1
  12. package/build/types/actionButton/ActionButton.d.ts +2 -2
  13. package/build/types/actionButton/ActionButton.d.ts.map +1 -1
  14. package/build/types/actionOption/ActionOption.d.ts +4 -5
  15. package/build/types/actionOption/ActionOption.d.ts.map +1 -1
  16. package/build/types/alert/Alert.d.ts +1 -2
  17. package/build/types/alert/Alert.d.ts.map +1 -1
  18. package/build/types/alert/inlineMarkdown/InlineMarkdown.d.ts +4 -11
  19. package/build/types/alert/inlineMarkdown/InlineMarkdown.d.ts.map +1 -1
  20. package/build/types/alert/inlineMarkdown/index.d.ts +2 -1
  21. package/build/types/alert/inlineMarkdown/index.d.ts.map +1 -1
  22. package/build/types/avatar/Avatar.d.ts +0 -1
  23. package/build/types/avatar/Avatar.d.ts.map +1 -1
  24. package/build/types/avatar/colors/colors.d.ts.map +1 -1
  25. package/build/types/avatarWrapper/AvatarWrapper.d.ts +0 -1
  26. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  27. package/build/types/body/Body.d.ts +3 -3
  28. package/build/types/body/Body.d.ts.map +1 -1
  29. package/build/types/button/Button.d.ts +0 -1
  30. package/build/types/button/Button.d.ts.map +1 -1
  31. package/build/types/button/Button.messages.d.ts +3 -3
  32. package/build/types/button/classMap.d.ts +6 -6
  33. package/build/types/card/Card.d.ts +16 -20
  34. package/build/types/card/Card.d.ts.map +1 -1
  35. package/build/types/card/index.d.ts +2 -1
  36. package/build/types/card/index.d.ts.map +1 -1
  37. package/build/types/checkbox/Checkbox.d.ts +15 -20
  38. package/build/types/checkbox/Checkbox.d.ts.map +1 -1
  39. package/build/types/checkbox/index.d.ts +2 -2
  40. package/build/types/checkbox/index.d.ts.map +1 -1
  41. package/build/types/checkboxOption/CheckboxOption.d.ts +2 -3
  42. package/build/types/checkboxOption/CheckboxOption.d.ts.map +1 -1
  43. package/build/types/chevron/Chevron.d.ts +0 -1
  44. package/build/types/chevron/Chevron.d.ts.map +1 -1
  45. package/build/types/chips/Chip.d.ts +1 -2
  46. package/build/types/chips/Chip.d.ts.map +1 -1
  47. package/build/types/chips/Chips.d.ts +1 -2
  48. package/build/types/chips/Chips.d.ts.map +1 -1
  49. package/build/types/circularButton/CircularButton.d.ts +0 -1
  50. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  51. package/build/types/common/RadioButton/RadioButton.d.ts +0 -1
  52. package/build/types/common/RadioButton/RadioButton.d.ts.map +1 -1
  53. package/build/types/common/action/Action.d.ts +0 -1
  54. package/build/types/common/action/Action.d.ts.map +1 -1
  55. package/build/types/common/bottomSheet/BottomSheet.d.ts +2 -2
  56. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  57. package/build/types/common/closeButton/CloseButton.d.ts +5 -6
  58. package/build/types/common/closeButton/CloseButton.d.ts.map +1 -1
  59. package/build/types/common/commonProps.d.ts +0 -1
  60. package/build/types/common/commonProps.d.ts.map +1 -1
  61. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts +1 -1
  62. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts.map +1 -1
  63. package/build/types/common/flowHeader/FlowHeader.d.ts +1 -1
  64. package/build/types/common/flowHeader/FlowHeader.d.ts.map +1 -1
  65. package/build/types/common/focusBoundary/FocusBoundary.d.ts +0 -1
  66. package/build/types/common/focusBoundary/FocusBoundary.d.ts.map +1 -1
  67. package/build/types/common/hooks/useDirection/useDirection.d.ts.map +1 -1
  68. package/build/types/common/hooks/useResizeObserver.d.ts +1 -2
  69. package/build/types/common/hooks/useResizeObserver.d.ts.map +1 -1
  70. package/build/types/common/panel/Panel.d.ts +11 -11
  71. package/build/types/common/panel/Panel.d.ts.map +1 -1
  72. package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts +1 -2
  73. package/build/types/common/polymorphicWithOverrides/PolymorphicWithOverrides.d.ts.map +1 -1
  74. package/build/types/common/responsivePanel/ResponsivePanel.d.ts +9 -10
  75. package/build/types/common/responsivePanel/ResponsivePanel.d.ts.map +1 -1
  76. package/build/types/criticalBanner/CriticalCommsBanner.d.ts +0 -1
  77. package/build/types/criticalBanner/CriticalCommsBanner.d.ts.map +1 -1
  78. package/build/types/dateInput/DateInput.d.ts +0 -1
  79. package/build/types/dateInput/DateInput.d.ts.map +1 -1
  80. package/build/types/dateLookup/DateLookup.d.ts +1 -1
  81. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  82. package/build/types/dateLookup/dateHeader/DateHeader.d.ts +0 -1
  83. package/build/types/dateLookup/dateHeader/DateHeader.d.ts.map +1 -1
  84. package/build/types/dateLookup/dateTrigger/DateTrigger.d.ts +0 -1
  85. package/build/types/dateLookup/dateTrigger/DateTrigger.d.ts.map +1 -1
  86. package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts +0 -1
  87. package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts.map +1 -1
  88. package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts +0 -1
  89. package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts.map +1 -1
  90. package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts +0 -1
  91. package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts.map +1 -1
  92. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts +0 -1
  93. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts.map +1 -1
  94. package/build/types/dateLookup/tableLink/TableLink.d.ts +0 -1
  95. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
  96. package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts +0 -1
  97. package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts.map +1 -1
  98. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts +0 -1
  99. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts.map +1 -1
  100. package/build/types/decision/Decision.d.ts +1 -2
  101. package/build/types/decision/Decision.d.ts.map +1 -1
  102. package/build/types/definitionList/DefinitionList.d.ts +19 -24
  103. package/build/types/definitionList/DefinitionList.d.ts.map +1 -1
  104. package/build/types/definitionList/index.d.ts +2 -1
  105. package/build/types/definitionList/index.d.ts.map +1 -1
  106. package/build/types/dimmer/Dimmer.d.ts +3 -3
  107. package/build/types/dimmer/Dimmer.d.ts.map +1 -1
  108. package/build/types/drawer/Drawer.d.ts +18 -36
  109. package/build/types/drawer/Drawer.d.ts.map +1 -1
  110. package/build/types/drawer/index.d.ts +2 -1
  111. package/build/types/drawer/index.d.ts.map +1 -1
  112. package/build/types/dropFade/DropFade.d.ts.map +1 -1
  113. package/build/types/emphasis/Emphasis.d.ts +1 -2
  114. package/build/types/emphasis/Emphasis.d.ts.map +1 -1
  115. package/build/types/field/Field.d.ts +0 -1
  116. package/build/types/field/Field.d.ts.map +1 -1
  117. package/build/types/flowNavigation/FlowNavigation.d.ts +0 -1
  118. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  119. package/build/types/flowNavigation/backButton/BackButton.d.ts +3 -3
  120. package/build/types/flowNavigation/backButton/index.d.ts +1 -1
  121. package/build/types/flowNavigation/backButton/index.d.ts.map +1 -1
  122. package/build/types/header/Header.d.ts +0 -1
  123. package/build/types/header/Header.d.ts.map +1 -1
  124. package/build/types/image/Image.d.ts +0 -1
  125. package/build/types/image/Image.d.ts.map +1 -1
  126. package/build/types/index.d.ts +4 -0
  127. package/build/types/index.d.ts.map +1 -1
  128. package/build/types/info/Info.d.ts +0 -1
  129. package/build/types/info/Info.d.ts.map +1 -1
  130. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts +0 -1
  131. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts.map +1 -1
  132. package/build/types/inputs/Input.d.ts +1 -2
  133. package/build/types/inputs/Input.d.ts.map +1 -1
  134. package/build/types/inputs/InputGroup.d.ts +0 -1
  135. package/build/types/inputs/InputGroup.d.ts.map +1 -1
  136. package/build/types/inputs/SearchInput.d.ts +1 -2
  137. package/build/types/inputs/SearchInput.d.ts.map +1 -1
  138. package/build/types/inputs/SelectInput.d.ts +0 -1
  139. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  140. package/build/types/inputs/TextArea.d.ts +1 -2
  141. package/build/types/inputs/TextArea.d.ts.map +1 -1
  142. package/build/types/inputs/_BottomSheet.d.ts +1 -2
  143. package/build/types/inputs/_BottomSheet.d.ts.map +1 -1
  144. package/build/types/inputs/_ButtonInput.d.ts +1 -2
  145. package/build/types/inputs/_ButtonInput.d.ts.map +1 -1
  146. package/build/types/inputs/_Popover.d.ts +0 -1
  147. package/build/types/inputs/_Popover.d.ts.map +1 -1
  148. package/build/types/inputs/contexts.d.ts +0 -1
  149. package/build/types/inputs/contexts.d.ts.map +1 -1
  150. package/build/types/label/Label.d.ts +0 -1
  151. package/build/types/label/Label.d.ts.map +1 -1
  152. package/build/types/loader/Loader.d.ts +0 -1
  153. package/build/types/loader/Loader.d.ts.map +1 -1
  154. package/build/types/logo/Logo.d.ts +15 -23
  155. package/build/types/logo/Logo.d.ts.map +1 -1
  156. package/build/types/logo/index.d.ts +1 -2
  157. package/build/types/logo/index.d.ts.map +1 -1
  158. package/build/types/markdown/Markdown.d.ts +0 -1
  159. package/build/types/markdown/Markdown.d.ts.map +1 -1
  160. package/build/types/money/Money.d.ts +0 -1
  161. package/build/types/money/Money.d.ts.map +1 -1
  162. package/build/types/moneyInput/MoneyInput.d.ts +0 -1
  163. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  164. package/build/types/navigationOption/NavigationOption.d.ts +0 -1
  165. package/build/types/navigationOption/NavigationOption.d.ts.map +1 -1
  166. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts +0 -1
  167. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  168. package/build/types/popover/Popover.d.ts +0 -1
  169. package/build/types/popover/Popover.d.ts.map +1 -1
  170. package/build/types/progress/Progress.d.ts +1 -2
  171. package/build/types/progress/Progress.d.ts.map +1 -1
  172. package/build/types/progressBar/ProgressBar.d.ts +1 -2
  173. package/build/types/progressBar/ProgressBar.d.ts.map +1 -1
  174. package/build/types/promoCard/PromoCard.d.ts +1 -1
  175. package/build/types/promoCard/PromoCard.d.ts.map +1 -1
  176. package/build/types/provider/Provider.d.ts +0 -1
  177. package/build/types/provider/Provider.d.ts.map +1 -1
  178. package/build/types/provider/direction/DirectionProvider.d.ts +2 -2
  179. package/build/types/provider/direction/DirectionProvider.d.ts.map +1 -1
  180. package/build/types/provider/language/LanguageProvider.d.ts +2 -2
  181. package/build/types/provider/language/LanguageProvider.d.ts.map +1 -1
  182. package/build/types/radio/Radio.d.ts +0 -1
  183. package/build/types/radio/Radio.d.ts.map +1 -1
  184. package/build/types/radioGroup/RadioGroup.d.ts +0 -1
  185. package/build/types/radioGroup/RadioGroup.d.ts.map +1 -1
  186. package/build/types/radioOption/RadioOption.d.ts +0 -1
  187. package/build/types/radioOption/RadioOption.d.ts.map +1 -1
  188. package/build/types/segmentedControl/SegmentedControl.d.ts +0 -1
  189. package/build/types/segmentedControl/SegmentedControl.d.ts.map +1 -1
  190. package/build/types/select/index.d.ts +1 -1
  191. package/build/types/select/index.d.ts.map +1 -1
  192. package/build/types/select/option/Option.d.ts +2 -1
  193. package/build/types/select/option/Option.d.ts.map +1 -1
  194. package/build/types/select/option/index.d.ts +1 -1
  195. package/build/types/select/option/index.d.ts.map +1 -1
  196. package/build/types/select/searchBox/SearchBox.d.ts +3 -3
  197. package/build/types/select/searchBox/SearchBox.d.ts.map +1 -1
  198. package/build/types/slidingPanel/SlidingPanel.d.ts +2 -2
  199. package/build/types/slidingPanel/SlidingPanel.d.ts.map +1 -1
  200. package/build/types/snackbar/Snackbar.d.ts +2 -1
  201. package/build/types/snackbar/Snackbar.d.ts.map +1 -1
  202. package/build/types/snackbar/SnackbarContext.d.ts +0 -1
  203. package/build/types/snackbar/SnackbarContext.d.ts.map +1 -1
  204. package/build/types/snackbar/SnackbarProvider.d.ts +0 -1
  205. package/build/types/snackbar/SnackbarProvider.d.ts.map +1 -1
  206. package/build/types/statusIcon/StatusIcon.d.ts +0 -1
  207. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  208. package/build/types/sticky/Sticky.d.ts +32 -4
  209. package/build/types/sticky/Sticky.d.ts.map +1 -1
  210. package/build/types/switchOption/SwitchOption.d.ts +3 -4
  211. package/build/types/switchOption/SwitchOption.d.ts.map +1 -1
  212. package/build/types/tabs/TabList.d.ts +1 -1
  213. package/build/types/tabs/TabPanel.d.ts +4 -4
  214. package/build/types/tabs/Tabs.d.ts +1 -1
  215. package/build/types/tabs/Tabs.d.ts.map +1 -1
  216. package/build/types/test-utils/story-config.d.ts +8 -0
  217. package/build/types/test-utils/story-config.d.ts.map +1 -1
  218. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts +0 -1
  219. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts.map +1 -1
  220. package/build/types/tile/Tile.d.ts +16 -37
  221. package/build/types/tile/Tile.d.ts.map +1 -1
  222. package/build/types/tile/index.d.ts +1 -1
  223. package/build/types/tile/index.d.ts.map +1 -1
  224. package/build/types/tooltip/Tooltip.d.ts.map +1 -1
  225. package/build/types/typeahead/Typeahead.d.ts.map +1 -1
  226. package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts +0 -1
  227. package/build/types/typeahead/typeaheadOption/TypeaheadOption.d.ts.map +1 -1
  228. package/build/types/typeahead/util/highlight.d.ts +0 -1
  229. package/build/types/typeahead/util/highlight.d.ts.map +1 -1
  230. package/build/types/upload/Upload.d.ts.map +1 -1
  231. package/build/types/upload/Upload.messages.d.ts +20 -20
  232. package/build/types/upload/steps/completeStep/completeStep.d.ts +10 -10
  233. package/build/types/upload/steps/mediaUploadStep/mediaUploadStep.d.ts +8 -8
  234. package/build/types/upload/steps/processingStep/processingStep.d.ts +8 -8
  235. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +9 -9
  236. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts.map +1 -1
  237. package/build/types/uploadInput/UploadInput.d.ts +1 -2
  238. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  239. package/build/types/uploadInput/types.d.ts +9 -1
  240. package/build/types/uploadInput/types.d.ts.map +1 -1
  241. package/build/types/uploadInput/uploadButton/UploadButton.d.ts +1 -6
  242. package/build/types/uploadInput/uploadButton/UploadButton.d.ts.map +1 -1
  243. package/build/types/uploadInput/uploadItem/UploadItem.d.ts +0 -1
  244. package/build/types/uploadInput/uploadItem/UploadItem.d.ts.map +1 -1
  245. package/build/types/withDisplayFormat/WithDisplayFormat.d.ts +4 -4
  246. package/build/types/withDisplayFormat/WithDisplayFormat.d.ts.map +1 -1
  247. package/build/types/withNextPortal/withNextPortal.d.ts +0 -1
  248. package/build/types/withNextPortal/withNextPortal.d.ts.map +1 -1
  249. package/package.json +3 -4
  250. package/src/accordion/AccordionItem/AccordionItem.tsx +5 -2
  251. package/src/actionOption/ActionOption.tsx +4 -5
  252. package/src/alert/Alert.tsx +1 -1
  253. package/src/alert/inlineMarkdown/InlineMarkdown.tsx +13 -0
  254. package/src/alert/inlineMarkdown/index.ts +2 -0
  255. package/src/body/Body.tsx +4 -3
  256. package/src/card/{Card.story.js → Card.story.tsx} +6 -15
  257. package/src/card/{Card.js → Card.tsx} +23 -34
  258. package/src/card/index.ts +2 -0
  259. package/src/checkbox/{Checkbox.spec.js → Checkbox.spec.tsx} +5 -5
  260. package/src/checkbox/{Checkbox.js → Checkbox.tsx} +19 -41
  261. package/src/checkbox/index.ts +2 -0
  262. package/src/chips/Chip.tsx +5 -6
  263. package/src/chips/Chips.tsx +1 -2
  264. package/src/common/bottomSheet/BottomSheet.tsx +2 -9
  265. package/src/common/closeButton/CloseButton.tsx +1 -1
  266. package/src/common/flowHeader/FlowHeader.tsx +1 -1
  267. package/src/common/hooks/useResizeObserver.ts +1 -1
  268. package/src/common/panel/Panel.spec.tsx +1 -1
  269. package/src/common/panel/Panel.tsx +7 -7
  270. package/src/common/polymorphicWithOverrides/PolymorphicWithOverrides.tsx +1 -1
  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.tsx +2 -10
  276. package/src/drawer/{Drawer.rtl.spec.js → Drawer.rtl.spec.tsx} +4 -2
  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.tsx +1 -3
  281. package/src/index.ts +4 -0
  282. package/src/inputs/Input.tsx +1 -1
  283. package/src/inputs/SearchInput.tsx +1 -1
  284. package/src/inputs/SelectInput.tsx +4 -4
  285. package/src/inputs/TextArea.tsx +1 -1
  286. package/src/inputs/_BottomSheet.tsx +1 -1
  287. package/src/inputs/_ButtonInput.tsx +1 -1
  288. package/src/logo/Logo.story.tsx +3 -6
  289. package/src/logo/{Logo.js → Logo.tsx} +25 -35
  290. package/src/logo/index.ts +1 -0
  291. package/src/main.css +127 -108
  292. package/src/progress/Progress.tsx +3 -15
  293. package/src/progressBar/ProgressBar.tsx +1 -2
  294. package/src/promoCard/PromoCard.tsx +2 -2
  295. package/src/promoCard/PromoCardContext.spec.tsx +1 -1
  296. package/src/provider/direction/DirectionProvider.tsx +2 -5
  297. package/src/provider/language/LanguageProvider.tsx +2 -2
  298. package/src/section/Section.story.tsx +0 -2
  299. package/src/segmentedControl/SegmentedControl.tsx +2 -2
  300. package/src/select/option/Option.tsx +6 -18
  301. package/src/slidingPanel/SlidingPanel.spec.js +2 -1
  302. package/src/slidingPanel/SlidingPanel.tsx +4 -1
  303. package/src/snackbar/Snackbar.story.tsx +20 -100
  304. package/src/snackbar/Snackbar.tests.story.tsx +281 -0
  305. package/src/snackbar/Snackbar.tsx +8 -12
  306. package/src/ssr.spec.js +6 -0
  307. package/src/sticky/Sticky.spec.tsx +71 -0
  308. package/src/sticky/Sticky.story.tsx +72 -15
  309. package/src/sticky/Sticky.tsx +49 -5
  310. package/src/switchOption/SwitchOption.tsx +5 -7
  311. package/src/tabs/Tabs.js +3 -3
  312. package/src/test-utils/Parameters.d.ts +8 -0
  313. package/src/test-utils/story-config.ts +5 -0
  314. package/src/tile/{Tile.spec.js → Tile.spec.tsx} +1 -1
  315. package/src/tile/{Tile.js → Tile.tsx} +24 -35
  316. package/src/tooltip/Tooltip.tsx +2 -1
  317. package/src/uploadInput/UploadInput.css +25 -27
  318. package/src/uploadInput/UploadInput.less +24 -23
  319. package/src/uploadInput/UploadInput.story.tsx +60 -10
  320. package/src/uploadInput/UploadInput.tsx +3 -6
  321. package/src/uploadInput/types.ts +11 -1
  322. package/src/uploadInput/uploadButton/UploadButton.css +24 -38
  323. package/src/uploadInput/uploadButton/UploadButton.less +27 -40
  324. package/src/uploadInput/uploadButton/UploadButton.spec.tsx +0 -1
  325. package/src/uploadInput/uploadButton/UploadButton.tsx +12 -37
  326. package/src/uploadInput/uploadItem/UploadItem.css +81 -46
  327. package/src/uploadInput/uploadItem/UploadItem.less +75 -40
  328. package/src/uploadInput/uploadItem/UploadItem.tsx +33 -29
  329. package/src/uploadInput/uploadItem/UploadItemBody.tsx +1 -1
  330. package/src/withDisplayFormat/WithDisplayFormat.tsx +3 -3
  331. package/build/types/logo/logoTypes.d.ts +0 -6
  332. package/build/types/logo/logoTypes.d.ts.map +0 -1
  333. package/src/alert/inlineMarkdown/InlineMarkdown.js +0 -21
  334. package/src/alert/inlineMarkdown/index.js +0 -1
  335. package/src/card/index.js +0 -1
  336. package/src/checkbox/index.js +0 -3
  337. package/src/definitionList/DefinitionList.js +0 -100
  338. package/src/definitionList/index.js +0 -1
  339. package/src/drawer/index.js +0 -1
  340. package/src/logo/index.js +0 -2
  341. package/src/logo/logoTypes.ts +0 -6
  342. package/src/snackbar/Snackbar.spec.js +0 -112
  343. package/src/sticky/Sticky.spec.js +0 -34
  344. /package/src/card/{Card.spec.js → Card.spec.tsx} +0 -0
  345. /package/src/checkbox/__snapshots__/{Checkbox.spec.js.snap → Checkbox.spec.tsx.snap} +0 -0
  346. /package/src/drawer/__snapshots__/{Drawer.rtl.spec.js.snap → Drawer.rtl.spec.tsx.snap} +0 -0
  347. /package/src/logo/{Logo.spec.js → Logo.spec.tsx} +0 -0
  348. /package/src/logo/__snapshots__/{Logo.spec.js.snap → Logo.spec.tsx.snap} +0 -0
  349. /package/src/tile/{Tile.story.js → Tile.story.tsx} +0 -0
  350. /package/src/tile/__snapshots__/{Tile.spec.js.snap → Tile.spec.tsx.snap} +0 -0
  351. /package/src/tile/{index.js → index.ts} +0 -0
@@ -4,7 +4,7 @@ import { Story, Meta } from '@storybook/react';
4
4
  import { Status } from '../common';
5
5
 
6
6
  import UploadInput, { UploadInputProps } from './UploadInput';
7
- import { UploadResponse } from './types';
7
+ import { UploadedFile, UploadResponse } from './types';
8
8
 
9
9
  const meta: Meta<typeof UploadInput> = {
10
10
  title: 'Forms/UploadInput',
@@ -17,7 +17,12 @@ export default meta;
17
17
  const files = [
18
18
  {
19
19
  id: 1,
20
- filename: 'purchase-receipt.pdf',
20
+ filename: 'purchase-receipt-0.pdf',
21
+ url: 'https://wise.com/public-resources/assets/logos/wise/brand_logo_inverse.svg',
22
+ },
23
+ {
24
+ id: 2,
25
+ filename: 'purchase-receipt-1.pdf',
21
26
  url: 'https://wise.com/public-resources/assets/logos/wise/brand_logo_inverse.svg',
22
27
  },
23
28
  {
@@ -28,16 +33,18 @@ const files = [
28
33
  {
29
34
  id: 3,
30
35
  filename: 'receipt failed with error string.png',
31
- status: Status.SUCCEEDED,
36
+ status: Status.FAILED,
37
+ error: 'Something went wrong',
32
38
  },
33
39
  {
34
40
  id: 4,
35
41
  filename: 'receipt failed with error object.png',
36
- status: Status.SUCCEEDED,
42
+ status: Status.FAILED,
43
+ error: { message: 'Something went wrong' },
37
44
  },
38
- ];
45
+ ] satisfies UploadedFile[];
39
46
 
40
- const createDelayedPromise = ({
47
+ const createDelayedPromise = async ({
41
48
  successful = true,
42
49
  delaySeconds = 3,
43
50
  response = { id: Math.round(Math.random() * 10000), url: '#' },
@@ -54,10 +61,10 @@ const createDelayedPromise = ({
54
61
  });
55
62
 
56
63
  const props = {
57
- onUploadFile: (formData: FormData) => {
64
+ onUploadFile: async (formData: FormData) => {
58
65
  return createDelayedPromise();
59
66
  },
60
- onDeleteFile: (id: string | number) => {
67
+ onDeleteFile: async (id: string | number) => {
61
68
  return createDelayedPromise();
62
69
  },
63
70
  };
@@ -93,6 +100,49 @@ WithMultipleExistingFiles.args = {
93
100
  multiple: true,
94
101
  };
95
102
 
103
+ export const WithFileErrors: Story<UploadInputProps> = Template.bind({});
104
+ WithFileErrors.args = {
105
+ ...props,
106
+ files: [
107
+ {
108
+ id: 1,
109
+ filename: 'Error with default message.png',
110
+ status: Status.FAILED,
111
+ },
112
+ {
113
+ id: 2,
114
+ filename: 'Error with `string` error.png',
115
+ status: Status.FAILED,
116
+ error: 'Single string error',
117
+ },
118
+ {
119
+ id: 3,
120
+ filename: 'Error with `obj` error ({ message : `string` }).png',
121
+ status: Status.FAILED,
122
+ error: { message: 'Single obj error' },
123
+ },
124
+ {
125
+ id: 4,
126
+ filename: 'Error with single error passed in `array`.png',
127
+ status: Status.FAILED,
128
+ errors: ['Single error in array'],
129
+ },
130
+ {
131
+ id: 5,
132
+ filename: 'Error with multiple `string` errors passed in `array`.png',
133
+ status: Status.FAILED,
134
+ errors: ['Error 1', 'Error 2', 'Error 3'],
135
+ },
136
+ {
137
+ id: 6,
138
+ filename: 'Error with multiple `obj` errors passed in `array`.png',
139
+ status: Status.FAILED,
140
+ errors: [{ message: 'Error 1' }, { message: 'Error 2' }, { message: 'Error 3' }],
141
+ },
142
+ ],
143
+ multiple: true,
144
+ };
145
+
96
146
  export const WithoutDelete: Story<UploadInputProps> = Template.bind({});
97
147
  WithoutDelete.args = {
98
148
  ...props,
@@ -105,7 +155,7 @@ export const WithUploadFailed: Story<UploadInputProps> = Template.bind({});
105
155
  WithUploadFailed.args = {
106
156
  ...props,
107
157
  files: files.slice(0),
108
- onUploadFile: () => createDelayedPromise({ successful: false }),
158
+ onUploadFile: async () => createDelayedPromise({ successful: false }),
109
159
  multiple: true,
110
160
  };
111
161
 
@@ -113,7 +163,7 @@ export const WithDeleteFailed: Story<UploadInputProps> = Template.bind({});
113
163
  WithDeleteFailed.args = {
114
164
  ...props,
115
165
  files: files.slice(0),
116
- onDeleteFile: () => createDelayedPromise({ successful: false }),
166
+ onDeleteFile: async () => createDelayedPromise({ successful: false }),
117
167
  multiple: true,
118
168
  };
119
169
 
@@ -1,6 +1,5 @@
1
- import { useTheme } from '@wise/components-theming';
2
1
  import classNames from 'classnames';
3
- import { ReactElement, useEffect, useRef, useState } from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
4
3
  import { useIntl } from 'react-intl';
5
4
 
6
5
  import Button from '../button';
@@ -127,8 +126,7 @@ const UploadInput = ({
127
126
  id,
128
127
  sizeLimitErrorMessage,
129
128
  uploadButtonTitle,
130
- }: UploadInputProps): ReactElement => {
131
- const { isModern } = useTheme();
129
+ }: UploadInputProps) => {
132
130
  const [markedFileForDelete, setMarkedFileForDelete] = useState<UploadedFile | null>(null);
133
131
  const [mounted, setMounted] = useState(false);
134
132
  const { formatMessage } = useIntl();
@@ -301,7 +299,7 @@ const UploadInput = ({
301
299
 
302
300
  return (
303
301
  <>
304
- <div className={classNames('np-upload-input', className, { disabled: isModern && disabled })}>
302
+ <div className={classNames('np-upload-input', className, { disabled })}>
305
303
  {uploadedFiles.map((file) => (
306
304
  <UploadItem
307
305
  key={file.id}
@@ -329,7 +327,6 @@ const UploadInput = ({
329
327
  sizeLimit={sizeLimit}
330
328
  description={description}
331
329
  maxFiles={maxFiles}
332
- multipleFileInputWithFilesAdded={multiple && uploadedFiles.length > 0}
333
330
  onChange={addFiles}
334
331
  />
335
332
  )}
@@ -19,9 +19,14 @@ export type UploadResponse = {
19
19
  url?: string;
20
20
 
21
21
  /**
22
- * Optionally set a translated error message when file was rejected
22
+ * Optionally sets translated error message when a file gets rejected
23
23
  */
24
24
  error?: UploadError;
25
+
26
+ /**
27
+ * Optionally sets translated error messages when a file gets rejected
28
+ */
29
+ errors?: UploadError[];
25
30
  [key: string]: any;
26
31
  };
27
32
 
@@ -46,6 +51,11 @@ export type UploadedFile = {
46
51
  */
47
52
  error?: UploadError;
48
53
 
54
+ /**
55
+ * Any API errors array. The messages should be localized.
56
+ */
57
+ errors?: UploadError[];
58
+
49
59
  /**
50
60
  * Optional. An external URL where the file can be opened from.
51
61
  */
@@ -1,49 +1,35 @@
1
- .np-upload-button {
2
- width: 100%;
3
- border: 0 !important;
4
- padding: 12px 16px;
5
- padding: var(--size-12) var(--size-16);
6
- }
7
- .np-upload-button.np-upload-accent {
8
- color: #00a2dd;
9
- color: var(--color-interactive-accent);
10
- }
11
- label.np-upload-button:not(.disabled):hover,
12
- label.np-upload-button:not(.disabled):focus-visible,
13
- label.np-upload-button:not(.disabled):active {
14
- background-color: rgba(134,167,189,0.10196);
15
- background-color: var(--color-background-neutral);
16
- }
17
- .np-theme-personal label.np-upload-button:not(.disabled):hover,
18
- .np-theme-personal label.np-upload-button:not(.disabled):focus-visible,
19
- .np-theme-personal label.np-upload-button:not(.disabled):active {
20
- background-color: var(--color-background-screen-hover);
21
- }
22
- .np-theme-personal .disabled label.np-upload-button:not(.disabled):hover,
23
- .np-theme-personal .disabled label.np-upload-button:not(.disabled):focus-visible,
24
- .np-theme-personal .disabled label.np-upload-button:not(.disabled):active {
25
- background-color: transparent;
26
- }
27
- .np-upload-button .np-upload-icon {
28
- display: flex;
29
- align-items: center;
30
- }
31
- .np-upload-button-container.droppable {
32
- border: 0;
1
+ .np-upload-button-container {
2
+ border-style: solid;
33
3
  }
34
4
  .np-upload-button-container .droppable-card-content {
35
5
  display: flex;
36
6
  }
37
- .np-theme-personal .np-upload-button-container .droppable-card-content {
38
- border-radius: calc(10px - 1px);
39
- border-radius: calc(var(--radius-small) - 1px);
7
+ .np-upload-button-container.droppable-dropping {
8
+ border-color: #c9cbce !important;
9
+ border-color: var(--color-interactive-secondary) !important;
40
10
  }
41
11
  .np-upload-button-container input[type="file"] {
42
12
  opacity: 0;
43
13
  z-index: -1;
44
14
  position: absolute;
45
15
  }
46
- .np-upload-button-container input[type="file"]:focus-visible + label {
47
- background-color: rgba(134,167,189,0.10196);
48
- background-color: var(--color-background-neutral);
16
+ .np-upload-button-container .np-upload-button {
17
+ border: none;
18
+ }
19
+ .np-upload-button {
20
+ width: 100%;
21
+ padding: 16px;
22
+ padding: var(--padding-small);
23
+ border-radius: 0;
24
+ }
25
+ label.np-upload-button:not(.disabled):hover,
26
+ label.np-upload-button:not(.disabled):active {
27
+ background-color: var(--color-background-screen-hover);
28
+ }
29
+ .disabled label.np-upload-button:not(.disabled):hover,
30
+ .disabled label.np-upload-button:not(.disabled):active {
31
+ background-color: transparent;
32
+ }
33
+ .np-upload-button .media {
34
+ align-items: flex-start;
49
35
  }
@@ -1,57 +1,44 @@
1
- @import (reference) '../uploadItem/UploadItem.less';
1
+ .np-upload-button-container {
2
+ border-style: solid;
2
3
 
3
- .np-upload-button {
4
- width: 100%;
5
- border: 0 !important; // Remove from btn
6
- padding: var(--size-12) var(--size-16);
4
+ .droppable-card-content {
5
+ display: flex;
6
+ }
7
7
 
8
- &.np-upload-accent {
9
- color: var(--color-interactive-accent);
8
+ &.droppable-dropping {
9
+ border-color: var(--color-interactive-secondary) !important;
10
10
  }
11
11
 
12
+ input[type="file"] {
13
+ opacity: 0;
14
+ z-index: -1;
15
+ position: absolute;
16
+ }
17
+
18
+ .np-upload-button {
19
+ border: none;
20
+ }
21
+ }
22
+
23
+ .np-upload-button {
24
+ width: 100%;
25
+ padding: var(--padding-small);
26
+ border-radius: 0;
27
+
12
28
  label& {
13
29
  &:not(.disabled) {
14
30
  &:hover,
15
- &:focus-visible,
16
31
  &:active {
17
- background-color: var(--color-background-neutral);
18
-
19
- .np-theme-personal & {
20
- background-color: var(--color-background-screen-hover);
21
- }
32
+ background-color: var(--color-background-screen-hover);
22
33
 
23
- .np-theme-personal .disabled & {
34
+ .disabled & {
24
35
  background-color: transparent;
25
36
  }
26
37
  }
27
38
  }
28
39
  }
29
40
 
30
- .np-upload-icon {
31
- display: flex;
32
- align-items: center;
33
- }
34
- }
35
-
36
- .np-upload-button-container {
37
- &.droppable {
38
- border: 0;
39
- }
40
-
41
- .droppable-card-content {
42
- display: flex;
43
- .np-theme-personal & {
44
- border-radius: @small-border-minus-one;
45
- }
46
- }
47
-
48
- input[type="file"] {
49
- opacity: 0;
50
- z-index: -1;
51
- position: absolute;
52
-
53
- &:focus-visible + label {
54
- background-color: var(--color-background-neutral); // Tab focus style
55
- }
41
+ .media {
42
+ align-items: flex-start;
56
43
  }
57
44
  }
@@ -9,7 +9,6 @@ describe('UploadButton', () => {
9
9
 
10
10
  const props: UploadButtonProps = {
11
11
  onChange: jest.fn(),
12
- multipleFileInputWithFilesAdded: true,
13
12
  };
14
13
 
15
14
  const renderComponent = (customProps = props) => render(<UploadButton {...customProps} />);
@@ -1,12 +1,10 @@
1
1
  import { PlusCircle as PlusIcon, Upload as UploadIcon } from '@transferwise/icons';
2
- import { useTheme } from '@wise/components-theming';
3
2
  import classNames from 'classnames';
4
3
  import { ChangeEvent, DragEvent, useRef, useState } from 'react';
5
4
  import { useIntl } from 'react-intl';
6
5
 
7
6
  import Body from '../../body';
8
7
  import { FileType, Typography } from '../../common';
9
- import { useDirection } from '../../common/hooks';
10
8
 
11
9
  import MESSAGES from './UploadButton.messages';
12
10
  import { DEFAULT_SIZE_LIMIT, imageFileTypes } from './defaults';
@@ -60,11 +58,6 @@ export type UploadButtonProps = {
60
58
  * Title for the upload button
61
59
  */
62
60
  uploadButtonTitle?: string;
63
-
64
- /**
65
- * Are there any uploaded items on a multiple-file upload? Used for calculating border radiuses
66
- */
67
- multipleFileInputWithFilesAdded: boolean;
68
61
  };
69
62
 
70
63
  export enum TEST_IDS {
@@ -87,10 +80,7 @@ const UploadButton = ({
87
80
  onChange,
88
81
  id = DEFAULT_FILE_INPUT_ID,
89
82
  uploadButtonTitle,
90
- multipleFileInputWithFilesAdded,
91
83
  }: UploadButtonProps) => {
92
- const { isModern } = useTheme();
93
- const { isRTL } = useDirection();
94
84
  const { formatMessage } = useIntl();
95
85
  const inputReference = useRef<HTMLInputElement>(null);
96
86
 
@@ -167,7 +157,7 @@ const UploadButton = ({
167
157
  const areAllFilesAllowed = getFileTypesDescription() === '*';
168
158
 
169
159
  if (areAllFilesAllowed) {
170
- return {}; //file input by default allows all files
160
+ return {}; // file input by default allows all files
171
161
  }
172
162
 
173
163
  if (Array.isArray(fileTypes)) {
@@ -179,23 +169,15 @@ const UploadButton = ({
179
169
 
180
170
  function renderDescription() {
181
171
  return (
182
- <>
183
- <Body
184
- className={classNames({
185
- 'text-primary': !disabled,
186
- small: !isModern,
187
- 'font-weight-normal': !isModern,
188
- })}
189
- >
190
- {getDescription()}
191
- {maxFiles && (
192
- <>
193
- <br />
194
- {`Maximum ${maxFiles} files.`}
195
- </>
196
- )}
197
- </Body>
198
- </>
172
+ <Body className={classNames({ 'text-primary': !disabled })}>
173
+ {getDescription()}
174
+ {maxFiles && (
175
+ <>
176
+ <br />
177
+ {`Maximum ${maxFiles} files.`}
178
+ </>
179
+ )}
180
+ </Body>
199
181
  );
200
182
  }
201
183
 
@@ -226,15 +208,9 @@ const UploadButton = ({
226
208
  onChange={filesSelected}
227
209
  />
228
210
  {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}
229
- <label
230
- htmlFor={id}
231
- className={classNames('btn', 'np-upload-accent', 'np-upload-button', {
232
- disabled,
233
- 'np-upload-input--square-top': multipleFileInputWithFilesAdded,
234
- })}
235
- >
211
+ <label htmlFor={id} className={classNames('btn', 'np-upload-button')}>
236
212
  <div className="media">
237
- <div className="np-upload-icon media-left">
213
+ <div className="np-upload-icon media-middle media-left">
238
214
  <UploadIcon size={24} className="text-link" />
239
215
  </div>
240
216
  <div className="media-body text-xs-left" data-testid={TEST_IDS.mediaBody}>
@@ -253,7 +229,6 @@ const UploadButton = ({
253
229
  'droppable-card',
254
230
  'droppable-dropping-card',
255
231
  'droppable-card-content',
256
- { 'np-upload-input--square-top': multipleFileInputWithFilesAdded },
257
232
  )}
258
233
  >
259
234
  <PlusIcon className="m-x-1" size={24} />
@@ -1,74 +1,109 @@
1
- .np-upload-item:not(:last-child)::after {
1
+ .np-upload-item {
2
+ border: 1px solid #c9cbce;
3
+ border: 1px solid var(--color-interactive-secondary);
4
+ }
5
+ .np-upload-item:first-child ~ div:before {
2
6
  display: block;
3
7
  position: relative;
4
- border-bottom: 1px solid rgba(0,0,0,0.10196);
5
- border-bottom: 1px solid var(--color-border-neutral);
8
+ height: 1px;
9
+ background-color: rgba(0,0,0,0.10196);
10
+ background-color: var(--color-border-neutral);
6
11
  content: " ";
7
12
  margin: 0 16px;
8
13
  margin: 0 var(--size-16);
9
14
  }
10
- .np-theme-personal .np-upload-item:first-child a:hover,
11
- .np-theme-personal .np-upload-item:first-child a:focus-visible,
12
- .np-theme-personal .np-upload-item:first-child a:active {
13
- border-top-left-radius: calc(10px - 1px);
14
- border-top-left-radius: calc(var(--radius-small) - 1px);
15
+ .np-upload-item:first-child ~ div {
16
+ border-top: 0;
17
+ }
18
+ .np-upload-item:not(:last-child) {
19
+ border-bottom: 0;
20
+ }
21
+ .np-upload-item.np-upload-item__link:hover:before,
22
+ .np-upload-button-container:hover:before {
23
+ margin: 0 !important;
24
+ }
25
+ .np-upload-item.np-upload-item__link:hover + div:before,
26
+ .np-upload-button-container:hover + div:before {
27
+ margin: 0 !important;
28
+ }
29
+ .np-upload-button-container:has(:focus-visible) {
30
+ outline: var(--ring-outline-color) solid var(--ring-outline-width);
31
+ outline-offset: var(--ring-outline-offset);
32
+ border-color: transparent;
33
+ outline-offset: -3px;
15
34
  }
16
- .np-theme-personal .np-upload-item:first-child a:hover ~ .np-upload-item__remove-button,
17
- .np-theme-personal .np-upload-item:first-child a:focus-visible ~ .np-upload-item__remove-button,
18
- .np-theme-personal .np-upload-item:first-child a:active ~ .np-upload-item__remove-button {
19
- border-top-right-radius: calc(10px - 1px);
20
- border-top-right-radius: calc(var(--radius-small) - 1px);
35
+ .np-upload-item--single-file:focus-visible,
36
+ .np-upload-item--link:focus-visible,
37
+ .np-upload-button-container:has(:focus-visible) {
38
+ outline-width: 3px;
21
39
  }
22
40
  .np-upload-item__link a {
23
41
  flex: 1;
24
42
  -webkit-text-decoration: none;
25
43
  text-decoration: none;
26
- outline: none;
27
- border-top-right-radius: 0;
28
- border-bottom-right-radius: 0;
44
+ border-radius: inherit;
29
45
  }
30
- .np-theme-personal .np-upload-item__link a {
31
- border-radius: 0;
32
- border-radius: initial;
33
- }
34
- .np-upload-item__link a.np-upload-item--single-file {
35
- border-bottom-left-radius: calc(10px - 1px);
36
- border-bottom-left-radius: calc(var(--radius-small) - 1px);
46
+ .np-upload-item__link a:focus-visible {
47
+ outline-offset: -2px;
37
48
  }
38
49
  .np-upload-item__link a:hover,
39
- .np-upload-item__link a:focus-visible,
40
50
  .np-upload-item__link a:active {
41
51
  -webkit-text-decoration: none;
42
52
  text-decoration: none;
43
53
  background-color: rgba(134,167,189,0.10196);
44
54
  background-color: var(--color-background-neutral);
45
55
  }
46
- .np-upload-item__link a:hover ~ .np-upload-item__remove-button,
47
- .np-upload-item__link a:focus-visible ~ .np-upload-item__remove-button,
48
- .np-upload-item__link a:active ~ .np-upload-item__remove-button {
49
- background-color: rgba(134,167,189,0.10196);
50
- background-color: var(--color-background-neutral);
51
- }
52
- .np-upload-item__link .np-upload-item__remove-button.np-upload-item--single-file {
53
- border-bottom-right-radius: calc(10px - 1px);
54
- border-bottom-right-radius: calc(var(--radius-small) - 1px);
55
- }
56
56
  .np-upload-item__body {
57
57
  display: flex;
58
58
  align-items: center;
59
59
  justify-content: space-between;
60
+ position: relative;
61
+ border-radius: inherit;
60
62
  }
61
63
  .np-upload-item__remove-button {
62
- flex-shrink: 0;
63
- align-self: stretch;
64
- padding: 12px 16px;
65
- padding: var(--size-12) var(--size-16);
66
- color: #c9cbce;
67
- color: var(--color-interactive-secondary);
68
- background: transparent;
69
- }
70
- .np-upload-item__remove-button:hover,
71
- .np-upload-item__remove-button:focus {
72
- color: #d03238 !important;
73
- color: var(--color-interactive-negative-hover) !important;
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ align-self: flex-start;
68
+ position: absolute;
69
+ height: 24px;
70
+ height: var(--size-24);
71
+ min-height: 0;
72
+ width: 24px;
73
+ width: var(--size-24);
74
+ padding: 0;
75
+ border-radius: 50% !important;
76
+ outline-offset: 0 !important;
77
+ background-color: rgba(134,167,189,0.10196);
78
+ background-color: var(--color-background-neutral);
79
+ color: var(--color-interactive-primary);
80
+ right: 16px;
81
+ right: var(--size-16);
82
+ top: 16px;
83
+ top: var(--size-16);
84
+ transition: color, background-color 0.15s ease-in-out;
85
+ }
86
+ @media (max-width: 320px) {
87
+ .np-upload-item__remove-button {
88
+ top: 16px;
89
+ top: var(--size-16);
90
+ right: 16px;
91
+ right: var(--size-16);
92
+ height: 48px;
93
+ height: var(--size-48);
94
+ width: 48px;
95
+ width: var(--size-48);
96
+ }
97
+ }
98
+ .np-upload-item__remove-button:hover {
99
+ background-color: var(--color-sentiment-negative);
100
+ color: var(--color-contrast-overlay) !important;
101
+ }
102
+ .np-upload-item__remove-button:before {
103
+ display: block;
104
+ width: 44px;
105
+ height: 44px;
106
+ content: '';
107
+ border-radius: 50%;
108
+ position: absolute;
74
109
  }