@transferwise/components 46.97.4 → 46.98.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 (869) hide show
  1. package/build/accordion/Accordion.js.map +1 -1
  2. package/build/accordion/Accordion.mjs.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js.map +1 -1
  6. package/build/actionButton/ActionButton.mjs.map +1 -1
  7. package/build/actionOption/ActionOption.js.map +1 -1
  8. package/build/actionOption/ActionOption.mjs.map +1 -1
  9. package/build/alert/Alert.js +8 -0
  10. package/build/alert/Alert.js.map +1 -1
  11. package/build/alert/Alert.mjs +8 -0
  12. package/build/alert/Alert.mjs.map +1 -1
  13. package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
  14. package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
  15. package/build/avatar/Avatar.js.map +1 -1
  16. package/build/avatar/Avatar.mjs.map +1 -1
  17. package/build/avatar/avatarTypes.js.map +1 -1
  18. package/build/avatar/avatarTypes.mjs.map +1 -1
  19. package/build/avatarLayout/AvatarLayout.js.map +1 -1
  20. package/build/avatarLayout/AvatarLayout.mjs.map +1 -1
  21. package/build/avatarView/AvatarView.js.map +1 -1
  22. package/build/avatarView/AvatarView.mjs.map +1 -1
  23. package/build/avatarView/NotificationDot.js.map +1 -1
  24. package/build/avatarView/NotificationDot.mjs.map +1 -1
  25. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  26. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  27. package/build/badge/Badge.js.map +1 -1
  28. package/build/badge/Badge.mjs.map +1 -1
  29. package/build/badge/BadgeAssets.js.map +1 -1
  30. package/build/badge/BadgeAssets.mjs.map +1 -1
  31. package/build/body/Body.js.map +1 -1
  32. package/build/body/Body.mjs.map +1 -1
  33. package/build/button/Button.js.map +1 -1
  34. package/build/button/Button.mjs.map +1 -1
  35. package/build/button/Button.resolver.js.map +1 -1
  36. package/build/button/Button.resolver.mjs.map +1 -1
  37. package/build/button/LegacyButton.js.map +1 -1
  38. package/build/button/LegacyButton.mjs +1 -1
  39. package/build/button/LegacyButton.mjs.map +1 -1
  40. package/build/button/classMap.js.map +1 -1
  41. package/build/button/classMap.mjs.map +1 -1
  42. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  43. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  44. package/build/card/Card.js.map +1 -1
  45. package/build/card/Card.mjs.map +1 -1
  46. package/build/carousel/Carousel.js.map +1 -1
  47. package/build/carousel/Carousel.mjs.map +1 -1
  48. package/build/checkbox/Checkbox.js.map +1 -1
  49. package/build/checkbox/Checkbox.mjs.map +1 -1
  50. package/build/checkboxButton/CheckboxButton.js.map +1 -1
  51. package/build/checkboxButton/CheckboxButton.mjs.map +1 -1
  52. package/build/checkboxOption/CheckboxOption.js.map +1 -1
  53. package/build/checkboxOption/CheckboxOption.mjs.map +1 -1
  54. package/build/chevron/Chevron.js.map +1 -1
  55. package/build/chevron/Chevron.mjs.map +1 -1
  56. package/build/chips/Chip.js.map +1 -1
  57. package/build/chips/Chip.mjs.map +1 -1
  58. package/build/chips/Chips.js.map +1 -1
  59. package/build/chips/Chips.messages.js.map +1 -1
  60. package/build/chips/Chips.messages.mjs.map +1 -1
  61. package/build/chips/Chips.mjs.map +1 -1
  62. package/build/circularButton/CircularButton.js.map +1 -1
  63. package/build/circularButton/CircularButton.mjs.map +1 -1
  64. package/build/common/DOMOperations/DOMOperations.js.map +1 -1
  65. package/build/common/DOMOperations/DOMOperations.mjs.map +1 -1
  66. package/build/common/Option/Option.js.map +1 -1
  67. package/build/common/Option/Option.mjs.map +1 -1
  68. package/build/common/RadioButton/RadioButton.js.map +1 -1
  69. package/build/common/RadioButton/RadioButton.mjs.map +1 -1
  70. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  71. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  72. package/build/common/card/Card.js.map +1 -1
  73. package/build/common/card/Card.mjs.map +1 -1
  74. package/build/common/circle/Circle.js.map +1 -1
  75. package/build/common/circle/Circle.mjs.map +1 -1
  76. package/build/common/closeButton/CloseButton.js +3 -1
  77. package/build/common/closeButton/CloseButton.js.map +1 -1
  78. package/build/common/closeButton/CloseButton.messages.js.map +1 -1
  79. package/build/common/closeButton/CloseButton.messages.mjs.map +1 -1
  80. package/build/common/closeButton/CloseButton.mjs +3 -1
  81. package/build/common/closeButton/CloseButton.mjs.map +1 -1
  82. package/build/common/colors.js.map +1 -1
  83. package/build/common/colors.mjs.map +1 -1
  84. package/build/common/dateUtils/getDateView/getDateView.js.map +1 -1
  85. package/build/common/dateUtils/getDateView/getDateView.mjs.map +1 -1
  86. package/build/common/dateUtils/getDayNames/getDayNames.js.map +1 -1
  87. package/build/common/dateUtils/getDayNames/getDayNames.mjs.map +1 -1
  88. package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.js.map +1 -1
  89. package/build/common/dateUtils/getFormatForLocale/getFormatForLocale.mjs.map +1 -1
  90. package/build/common/dateUtils/getMonthNames/getMonthNames.js.map +1 -1
  91. package/build/common/dateUtils/getMonthNames/getMonthNames.mjs.map +1 -1
  92. package/build/common/dateUtils/isDateValid/isDateValid.js.map +1 -1
  93. package/build/common/dateUtils/isDateValid/isDateValid.mjs.map +1 -1
  94. package/build/common/dateUtils/isWithinRange/isWithinRange.js.map +1 -1
  95. package/build/common/dateUtils/isWithinRange/isWithinRange.mjs.map +1 -1
  96. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.js.map +1 -1
  97. package/build/common/dateUtils/moveToWithinRange/moveToWithinRange.mjs.map +1 -1
  98. package/build/common/deviceDetection/deviceDetection.js.map +1 -1
  99. package/build/common/deviceDetection/deviceDetection.mjs.map +1 -1
  100. package/build/common/direction.js.map +1 -1
  101. package/build/common/direction.mjs.map +1 -1
  102. package/build/common/domHelpers/documentIosClick.js.map +1 -1
  103. package/build/common/domHelpers/documentIosClick.mjs.map +1 -1
  104. package/build/common/fileType.js.map +1 -1
  105. package/build/common/fileType.mjs.map +1 -1
  106. package/build/common/flowHeader/FlowHeader.js.map +1 -1
  107. package/build/common/flowHeader/FlowHeader.mjs.map +1 -1
  108. package/build/common/focusBoundary/FocusBoundary.js.map +1 -1
  109. package/build/common/focusBoundary/FocusBoundary.mjs.map +1 -1
  110. package/build/common/historyNavigator/historyNavigator.js.map +1 -1
  111. package/build/common/historyNavigator/historyNavigator.mjs.map +1 -1
  112. package/build/common/hooks/useConditionalListener/useConditionalListener.js.map +1 -1
  113. package/build/common/hooks/useConditionalListener/useConditionalListener.mjs.map +1 -1
  114. package/build/common/hooks/useDirection/useDirection.js.map +1 -1
  115. package/build/common/hooks/useDirection/useDirection.mjs.map +1 -1
  116. package/build/common/hooks/useEffectEvent.js.map +1 -1
  117. package/build/common/hooks/useEffectEvent.mjs.map +1 -1
  118. package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
  119. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
  120. package/build/common/hooks/useLayout/useLayout.js.map +1 -1
  121. package/build/common/hooks/useLayout/useLayout.mjs.map +1 -1
  122. package/build/common/hooks/useMedia.js.map +1 -1
  123. package/build/common/hooks/useMedia.mjs.map +1 -1
  124. package/build/common/hooks/useResizeObserver.js.map +1 -1
  125. package/build/common/hooks/useResizeObserver.mjs.map +1 -1
  126. package/build/common/hooks/useScreenSize.js.map +1 -1
  127. package/build/common/hooks/useScreenSize.mjs.map +1 -1
  128. package/build/common/hooks/useVirtualKeyboard.js.map +1 -1
  129. package/build/common/hooks/useVirtualKeyboard.mjs.map +1 -1
  130. package/build/common/initials.js +3 -0
  131. package/build/common/initials.js.map +1 -1
  132. package/build/common/initials.mjs +3 -0
  133. package/build/common/initials.mjs.map +1 -1
  134. package/build/common/locale/index.js.map +1 -1
  135. package/build/common/locale/index.mjs.map +1 -1
  136. package/build/common/panel/Panel.js.map +1 -1
  137. package/build/common/panel/Panel.mjs.map +1 -1
  138. package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.js.map +1 -1
  139. package/build/common/polymorphicWithOverrides/PolymorphicWithOverrides.mjs.map +1 -1
  140. package/build/common/preventScroll/PreventScroll.js.map +1 -1
  141. package/build/common/preventScroll/PreventScroll.mjs.map +1 -1
  142. package/build/common/propsValues/breakpoint.js.map +1 -1
  143. package/build/common/propsValues/breakpoint.mjs.map +1 -1
  144. package/build/common/propsValues/control.js.map +1 -1
  145. package/build/common/propsValues/control.mjs.map +1 -1
  146. package/build/common/propsValues/dateMode.js.map +1 -1
  147. package/build/common/propsValues/dateMode.mjs.map +1 -1
  148. package/build/common/propsValues/layouts.js.map +1 -1
  149. package/build/common/propsValues/layouts.mjs.map +1 -1
  150. package/build/common/propsValues/markdownNodeType.js.map +1 -1
  151. package/build/common/propsValues/markdownNodeType.mjs.map +1 -1
  152. package/build/common/propsValues/monthFormat.js.map +1 -1
  153. package/build/common/propsValues/monthFormat.mjs.map +1 -1
  154. package/build/common/propsValues/position.js.map +1 -1
  155. package/build/common/propsValues/position.mjs.map +1 -1
  156. package/build/common/propsValues/profileType.js.map +1 -1
  157. package/build/common/propsValues/profileType.mjs.map +1 -1
  158. package/build/common/propsValues/scroll.js.map +1 -1
  159. package/build/common/propsValues/scroll.mjs.map +1 -1
  160. package/build/common/propsValues/sentiment.js.map +1 -1
  161. package/build/common/propsValues/sentiment.mjs.map +1 -1
  162. package/build/common/propsValues/size.js.map +1 -1
  163. package/build/common/propsValues/size.mjs.map +1 -1
  164. package/build/common/propsValues/status.js.map +1 -1
  165. package/build/common/propsValues/status.mjs.map +1 -1
  166. package/build/common/propsValues/type.js.map +1 -1
  167. package/build/common/propsValues/type.mjs.map +1 -1
  168. package/build/common/propsValues/typography.js.map +1 -1
  169. package/build/common/propsValues/typography.mjs.map +1 -1
  170. package/build/common/propsValues/variant.js.map +1 -1
  171. package/build/common/propsValues/variant.mjs.map +1 -1
  172. package/build/common/propsValues/width.js.map +1 -1
  173. package/build/common/propsValues/width.mjs.map +1 -1
  174. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  175. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  176. package/build/common/textFormat/formatWithPattern/formatWithPattern.js.map +1 -1
  177. package/build/common/textFormat/formatWithPattern/formatWithPattern.mjs.map +1 -1
  178. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.js.map +1 -1
  179. package/build/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.mjs.map +1 -1
  180. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.js.map +1 -1
  181. package/build/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.mjs.map +1 -1
  182. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.js.map +1 -1
  183. package/build/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.mjs.map +1 -1
  184. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.js.map +1 -1
  185. package/build/common/textFormat/unformatWithPattern/unformatWithPattern.mjs.map +1 -1
  186. package/build/common/theme.js.map +1 -1
  187. package/build/common/theme.mjs.map +1 -1
  188. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  189. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  190. package/build/dateInput/DateInput.js.map +1 -1
  191. package/build/dateInput/DateInput.messages.js.map +1 -1
  192. package/build/dateInput/DateInput.messages.mjs.map +1 -1
  193. package/build/dateInput/DateInput.mjs.map +1 -1
  194. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.js.map +1 -1
  195. package/build/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.mjs.map +1 -1
  196. package/build/dateLookup/DateLookup.js +4 -4
  197. package/build/dateLookup/DateLookup.js.map +1 -1
  198. package/build/dateLookup/DateLookup.messages.js.map +1 -1
  199. package/build/dateLookup/DateLookup.messages.mjs.map +1 -1
  200. package/build/dateLookup/DateLookup.mjs +4 -4
  201. package/build/dateLookup/DateLookup.mjs.map +1 -1
  202. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  203. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  204. package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
  205. package/build/dateLookup/dateTrigger/DateTrigger.messages.js.map +1 -1
  206. package/build/dateLookup/dateTrigger/DateTrigger.messages.mjs.map +1 -1
  207. package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
  208. package/build/dateLookup/dayCalendar/DayCalendar.js.map +1 -1
  209. package/build/dateLookup/dayCalendar/DayCalendar.mjs.map +1 -1
  210. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js +3 -3
  211. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +1 -1
  212. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs +3 -3
  213. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs.map +1 -1
  214. package/build/dateLookup/getFocusableTime/getFocusableTime.js.map +1 -1
  215. package/build/dateLookup/getFocusableTime/getFocusableTime.mjs.map +1 -1
  216. package/build/dateLookup/getStartOfDay/getStartOfDay.js.map +1 -1
  217. package/build/dateLookup/getStartOfDay/getStartOfDay.mjs.map +1 -1
  218. package/build/dateLookup/monthCalendar/MonthCalendar.js.map +1 -1
  219. package/build/dateLookup/monthCalendar/MonthCalendar.mjs.map +1 -1
  220. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js.map +1 -1
  221. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs.map +1 -1
  222. package/build/dateLookup/tableLink/TableLink.js.map +1 -1
  223. package/build/dateLookup/tableLink/TableLink.mjs.map +1 -1
  224. package/build/dateLookup/yearCalendar/YearCalendar.js.map +1 -1
  225. package/build/dateLookup/yearCalendar/YearCalendar.mjs.map +1 -1
  226. package/build/dateLookup/yearCalendar/table/YearCalendarTable.js.map +1 -1
  227. package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs.map +1 -1
  228. package/build/decision/Decision.js.map +1 -1
  229. package/build/decision/Decision.mjs.map +1 -1
  230. package/build/definitionList/DefinitionList.js.map +1 -1
  231. package/build/definitionList/DefinitionList.mjs.map +1 -1
  232. package/build/dimmer/Dimmer.js.map +1 -1
  233. package/build/dimmer/Dimmer.mjs.map +1 -1
  234. package/build/dimmer/dimmerManager/DimmerManager.js.map +1 -1
  235. package/build/dimmer/dimmerManager/DimmerManager.mjs.map +1 -1
  236. package/build/display/Display.js.map +1 -1
  237. package/build/display/Display.mjs.map +1 -1
  238. package/build/divider/Divider.js.map +1 -1
  239. package/build/divider/Divider.mjs.map +1 -1
  240. package/build/drawer/Drawer.js.map +1 -1
  241. package/build/drawer/Drawer.mjs.map +1 -1
  242. package/build/dropFade/DropFade.js.map +1 -1
  243. package/build/dropFade/DropFade.mjs.map +1 -1
  244. package/build/emphasis/Emphasis.js.map +1 -1
  245. package/build/emphasis/Emphasis.mjs.map +1 -1
  246. package/build/emphasis/EmphasisHtmlTransformer.js.map +1 -1
  247. package/build/emphasis/EmphasisHtmlTransformer.mjs.map +1 -1
  248. package/build/field/Field.js.map +1 -1
  249. package/build/field/Field.mjs.map +1 -1
  250. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  251. package/build/flowNavigation/FlowNavigation.messages.js.map +1 -1
  252. package/build/flowNavigation/FlowNavigation.messages.mjs.map +1 -1
  253. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  254. package/build/flowNavigation/animatedLabel/AnimatedLabel.js.map +1 -1
  255. package/build/flowNavigation/animatedLabel/AnimatedLabel.mjs.map +1 -1
  256. package/build/header/Header.js.map +1 -1
  257. package/build/header/Header.mjs.map +1 -1
  258. package/build/i18n/commonMessages/Button.messages.js.map +1 -1
  259. package/build/i18n/commonMessages/Button.messages.mjs.map +1 -1
  260. package/build/i18n/cs.json +12 -9
  261. package/build/i18n/cs.json.js +12 -9
  262. package/build/i18n/cs.json.js.map +1 -1
  263. package/build/i18n/cs.json.mjs +12 -9
  264. package/build/i18n/cs.json.mjs.map +1 -1
  265. package/build/i18n/de.json +3 -0
  266. package/build/i18n/de.json.js +3 -0
  267. package/build/i18n/de.json.js.map +1 -1
  268. package/build/i18n/de.json.mjs +3 -0
  269. package/build/i18n/de.json.mjs.map +1 -1
  270. package/build/i18n/en.json +3 -0
  271. package/build/i18n/en.json.js +3 -0
  272. package/build/i18n/en.json.js.map +1 -1
  273. package/build/i18n/en.json.mjs +3 -0
  274. package/build/i18n/en.json.mjs.map +1 -1
  275. package/build/i18n/es.json +3 -0
  276. package/build/i18n/es.json.js +3 -0
  277. package/build/i18n/es.json.js.map +1 -1
  278. package/build/i18n/es.json.mjs +3 -0
  279. package/build/i18n/es.json.mjs.map +1 -1
  280. package/build/i18n/fr.json +3 -0
  281. package/build/i18n/fr.json.js +3 -0
  282. package/build/i18n/fr.json.js.map +1 -1
  283. package/build/i18n/fr.json.mjs +3 -0
  284. package/build/i18n/fr.json.mjs.map +1 -1
  285. package/build/i18n/hu.json +3 -0
  286. package/build/i18n/hu.json.js +3 -0
  287. package/build/i18n/hu.json.js.map +1 -1
  288. package/build/i18n/hu.json.mjs +3 -0
  289. package/build/i18n/hu.json.mjs.map +1 -1
  290. package/build/i18n/id.json +3 -0
  291. package/build/i18n/id.json.js +3 -0
  292. package/build/i18n/id.json.js.map +1 -1
  293. package/build/i18n/id.json.mjs +3 -0
  294. package/build/i18n/id.json.mjs.map +1 -1
  295. package/build/i18n/index.js.map +1 -1
  296. package/build/i18n/index.mjs.map +1 -1
  297. package/build/i18n/it.json +3 -0
  298. package/build/i18n/it.json.js +3 -0
  299. package/build/i18n/it.json.js.map +1 -1
  300. package/build/i18n/it.json.mjs +3 -0
  301. package/build/i18n/it.json.mjs.map +1 -1
  302. package/build/i18n/ja.json +3 -0
  303. package/build/i18n/ja.json.js +3 -0
  304. package/build/i18n/ja.json.js.map +1 -1
  305. package/build/i18n/ja.json.mjs +3 -0
  306. package/build/i18n/ja.json.mjs.map +1 -1
  307. package/build/i18n/nl.json +6 -3
  308. package/build/i18n/pl.json +3 -0
  309. package/build/i18n/pl.json.js +3 -0
  310. package/build/i18n/pl.json.js.map +1 -1
  311. package/build/i18n/pl.json.mjs +3 -0
  312. package/build/i18n/pl.json.mjs.map +1 -1
  313. package/build/i18n/pt.json +3 -0
  314. package/build/i18n/pt.json.js +3 -0
  315. package/build/i18n/pt.json.js.map +1 -1
  316. package/build/i18n/pt.json.mjs +3 -0
  317. package/build/i18n/pt.json.mjs.map +1 -1
  318. package/build/i18n/ro.json +3 -0
  319. package/build/i18n/ro.json.js +3 -0
  320. package/build/i18n/ro.json.js.map +1 -1
  321. package/build/i18n/ro.json.mjs +3 -0
  322. package/build/i18n/ro.json.mjs.map +1 -1
  323. package/build/i18n/ru.json +3 -0
  324. package/build/i18n/ru.json.js +3 -0
  325. package/build/i18n/ru.json.js.map +1 -1
  326. package/build/i18n/ru.json.mjs +3 -0
  327. package/build/i18n/ru.json.mjs.map +1 -1
  328. package/build/i18n/th.json +3 -0
  329. package/build/i18n/th.json.js +3 -0
  330. package/build/i18n/th.json.js.map +1 -1
  331. package/build/i18n/th.json.mjs +3 -0
  332. package/build/i18n/th.json.mjs.map +1 -1
  333. package/build/i18n/tr.json +3 -0
  334. package/build/i18n/tr.json.js +3 -0
  335. package/build/i18n/tr.json.js.map +1 -1
  336. package/build/i18n/tr.json.mjs +3 -0
  337. package/build/i18n/tr.json.mjs.map +1 -1
  338. package/build/i18n/zh-CN.json +3 -0
  339. package/build/i18n/zh-CN.json.js +3 -0
  340. package/build/i18n/zh-CN.json.js.map +1 -1
  341. package/build/i18n/zh-CN.json.mjs +3 -0
  342. package/build/i18n/zh-CN.json.mjs.map +1 -1
  343. package/build/i18n/zh-HK.json +3 -0
  344. package/build/i18n/zh-HK.json.js +3 -0
  345. package/build/i18n/zh-HK.json.js.map +1 -1
  346. package/build/i18n/zh-HK.json.mjs +3 -0
  347. package/build/i18n/zh-HK.json.mjs.map +1 -1
  348. package/build/iconButton/IconButton.js.map +1 -1
  349. package/build/iconButton/IconButton.mjs.map +1 -1
  350. package/build/image/Image.js +9 -10
  351. package/build/image/Image.js.map +1 -1
  352. package/build/image/Image.mjs +11 -11
  353. package/build/image/Image.mjs.map +1 -1
  354. package/build/info/Info.js.map +1 -1
  355. package/build/info/Info.messages.js.map +1 -1
  356. package/build/info/Info.messages.mjs.map +1 -1
  357. package/build/info/Info.mjs.map +1 -1
  358. package/build/info/infoPresentations.js.map +1 -1
  359. package/build/info/infoPresentations.mjs.map +1 -1
  360. package/build/inlineAlert/InlineAlert.js.map +1 -1
  361. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  362. package/build/inputWithDisplayFormat/InputWithDisplayFormat.js.map +1 -1
  363. package/build/inputWithDisplayFormat/InputWithDisplayFormat.mjs.map +1 -1
  364. package/build/inputs/Input.js.map +1 -1
  365. package/build/inputs/Input.mjs.map +1 -1
  366. package/build/inputs/InputGroup.js +16 -20
  367. package/build/inputs/InputGroup.js.map +1 -1
  368. package/build/inputs/InputGroup.mjs +17 -21
  369. package/build/inputs/InputGroup.mjs.map +1 -1
  370. package/build/inputs/SearchInput.js.map +1 -1
  371. package/build/inputs/SearchInput.mjs.map +1 -1
  372. package/build/inputs/SelectInput.js +6 -1
  373. package/build/inputs/SelectInput.js.map +1 -1
  374. package/build/inputs/SelectInput.messages.js.map +1 -1
  375. package/build/inputs/SelectInput.messages.mjs.map +1 -1
  376. package/build/inputs/SelectInput.mjs +6 -1
  377. package/build/inputs/SelectInput.mjs.map +1 -1
  378. package/build/inputs/TextArea.js.map +1 -1
  379. package/build/inputs/TextArea.mjs.map +1 -1
  380. package/build/inputs/_BottomSheet.js.map +1 -1
  381. package/build/inputs/_BottomSheet.mjs.map +1 -1
  382. package/build/inputs/_ButtonInput.js.map +1 -1
  383. package/build/inputs/_ButtonInput.mjs.map +1 -1
  384. package/build/inputs/_Popover.js.map +1 -1
  385. package/build/inputs/_Popover.mjs +1 -1
  386. package/build/inputs/_Popover.mjs.map +1 -1
  387. package/build/inputs/_common.js.map +1 -1
  388. package/build/inputs/_common.mjs.map +1 -1
  389. package/build/inputs/contexts.js.map +1 -1
  390. package/build/inputs/contexts.mjs.map +1 -1
  391. package/build/instructionsList/InstructionsList.js.map +1 -1
  392. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  393. package/build/label/Label.js.map +1 -1
  394. package/build/label/Label.messages.js.map +1 -1
  395. package/build/label/Label.messages.mjs.map +1 -1
  396. package/build/label/Label.mjs.map +1 -1
  397. package/build/legacylistItem/LegacyListItem.js.map +1 -1
  398. package/build/legacylistItem/LegacyListItem.mjs.map +1 -1
  399. package/build/legacylistItem/List.js.map +1 -1
  400. package/build/legacylistItem/List.mjs.map +1 -1
  401. package/build/link/Link.js.map +1 -1
  402. package/build/link/Link.messages.js.map +1 -1
  403. package/build/link/Link.messages.mjs.map +1 -1
  404. package/build/link/Link.mjs.map +1 -1
  405. package/build/loader/Loader.js.map +1 -1
  406. package/build/loader/Loader.mjs.map +1 -1
  407. package/build/logo/Logo.js.map +1 -1
  408. package/build/logo/Logo.mjs +1 -1
  409. package/build/logo/Logo.mjs.map +1 -1
  410. package/build/logo/logo-assets.js.map +1 -1
  411. package/build/logo/logo-assets.mjs.map +1 -1
  412. package/build/main.css +20 -2
  413. package/build/markdown/Markdown.js +20 -4
  414. package/build/markdown/Markdown.js.map +1 -1
  415. package/build/markdown/Markdown.mjs +1 -1
  416. package/build/markdown/Markdown.mjs.map +1 -1
  417. package/build/mocks.js.map +1 -1
  418. package/build/mocks.mjs.map +1 -1
  419. package/build/modal/Modal.js.map +1 -1
  420. package/build/modal/Modal.mjs.map +1 -1
  421. package/build/money/Money.js.map +1 -1
  422. package/build/money/Money.mjs.map +1 -1
  423. package/build/moneyInput/MoneyInput.js +4 -8
  424. package/build/moneyInput/MoneyInput.js.map +1 -1
  425. package/build/moneyInput/MoneyInput.messages.js +3 -0
  426. package/build/moneyInput/MoneyInput.messages.js.map +1 -1
  427. package/build/moneyInput/MoneyInput.messages.mjs +3 -0
  428. package/build/moneyInput/MoneyInput.messages.mjs.map +1 -1
  429. package/build/moneyInput/MoneyInput.mjs +4 -8
  430. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  431. package/build/moneyInput/currencyFormatting.js.map +1 -1
  432. package/build/moneyInput/currencyFormatting.mjs.map +1 -1
  433. package/build/navigationOption/NavigationOption.js.map +1 -1
  434. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  435. package/build/navigationOptionsList/NavigationOptionsList.js.map +1 -1
  436. package/build/navigationOptionsList/NavigationOptionsList.mjs.map +1 -1
  437. package/build/nudge/Nudge.js.map +1 -1
  438. package/build/nudge/Nudge.mjs.map +1 -1
  439. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  440. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  441. package/build/phoneNumberInput/PhoneNumberInput.js +38 -4
  442. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  443. package/build/phoneNumberInput/PhoneNumberInput.messages.js +6 -0
  444. package/build/phoneNumberInput/PhoneNumberInput.messages.js.map +1 -1
  445. package/build/phoneNumberInput/PhoneNumberInput.messages.mjs +6 -0
  446. package/build/phoneNumberInput/PhoneNumberInput.messages.mjs.map +1 -1
  447. package/build/phoneNumberInput/PhoneNumberInput.mjs +38 -4
  448. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  449. package/build/phoneNumberInput/data/countries.js.map +1 -1
  450. package/build/phoneNumberInput/data/countries.mjs.map +1 -1
  451. package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.js.map +1 -1
  452. package/build/phoneNumberInput/utils/cleanNumber/cleanNumber.mjs.map +1 -1
  453. package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.js.map +1 -1
  454. package/build/phoneNumberInput/utils/excludeCountries/excludeCountries.mjs.map +1 -1
  455. package/build/phoneNumberInput/utils/explodeNumberModel/index.js.map +1 -1
  456. package/build/phoneNumberInput/utils/explodeNumberModel/index.mjs.map +1 -1
  457. package/build/phoneNumberInput/utils/findCountryByCode/index.js.map +1 -1
  458. package/build/phoneNumberInput/utils/findCountryByCode/index.mjs.map +1 -1
  459. package/build/phoneNumberInput/utils/findCountryByPrefix/index.js.map +1 -1
  460. package/build/phoneNumberInput/utils/findCountryByPrefix/index.mjs.map +1 -1
  461. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.js.map +1 -1
  462. package/build/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.mjs.map +1 -1
  463. package/build/phoneNumberInput/utils/setDefaultPrefix/index.js.map +1 -1
  464. package/build/phoneNumberInput/utils/setDefaultPrefix/index.mjs.map +1 -1
  465. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.js.map +1 -1
  466. package/build/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.mjs.map +1 -1
  467. package/build/popover/Popover.js.map +1 -1
  468. package/build/popover/Popover.mjs +1 -1
  469. package/build/popover/Popover.mjs.map +1 -1
  470. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.js.map +1 -1
  471. package/build/primitives/PrimitiveAnchor/PrimitiveAnchor.mjs.map +1 -1
  472. package/build/primitives/PrimitiveButton/PrimitiveButton.js.map +1 -1
  473. package/build/primitives/PrimitiveButton/PrimitiveButton.mjs.map +1 -1
  474. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  475. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  476. package/build/progress/Progress.js.map +1 -1
  477. package/build/progress/Progress.mjs.map +1 -1
  478. package/build/progressBar/ProgressBar.js.map +1 -1
  479. package/build/progressBar/ProgressBar.mjs.map +1 -1
  480. package/build/promoCard/PromoCard.js.map +1 -1
  481. package/build/promoCard/PromoCard.mjs.map +1 -1
  482. package/build/promoCard/PromoCardContext.js.map +1 -1
  483. package/build/promoCard/PromoCardContext.mjs.map +1 -1
  484. package/build/promoCard/PromoCardGroup.js +1 -1
  485. package/build/promoCard/PromoCardGroup.js.map +1 -1
  486. package/build/promoCard/PromoCardGroup.mjs +1 -1
  487. package/build/promoCard/PromoCardGroup.mjs.map +1 -1
  488. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  489. package/build/promoCard/PromoCardIndicator.mjs +1 -1
  490. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  491. package/build/provider/Provider.js.map +1 -1
  492. package/build/provider/Provider.mjs.map +1 -1
  493. package/build/provider/direction/DirectionProvider.js.map +1 -1
  494. package/build/provider/direction/DirectionProvider.mjs.map +1 -1
  495. package/build/provider/language/LanguageProvider.js.map +1 -1
  496. package/build/provider/language/LanguageProvider.mjs.map +1 -1
  497. package/build/provider/overlay/OverlayIdProvider.js.map +1 -1
  498. package/build/provider/overlay/OverlayIdProvider.mjs +1 -1
  499. package/build/provider/overlay/OverlayIdProvider.mjs.map +1 -1
  500. package/build/radio/Radio.js.map +1 -1
  501. package/build/radio/Radio.mjs.map +1 -1
  502. package/build/radioGroup/RadioGroup.js.map +1 -1
  503. package/build/radioGroup/RadioGroup.mjs.map +1 -1
  504. package/build/radioOption/RadioOption.js.map +1 -1
  505. package/build/radioOption/RadioOption.mjs.map +1 -1
  506. package/build/section/Section.js.map +1 -1
  507. package/build/section/Section.mjs.map +1 -1
  508. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  509. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  510. package/build/select/Select.js +14 -22
  511. package/build/select/Select.js.map +1 -1
  512. package/build/select/Select.messages.js.map +1 -1
  513. package/build/select/Select.messages.mjs.map +1 -1
  514. package/build/select/Select.mjs +14 -22
  515. package/build/select/Select.mjs.map +1 -1
  516. package/build/select/option/Option.js.map +1 -1
  517. package/build/select/option/Option.mjs.map +1 -1
  518. package/build/select/searchBox/SearchBox.js.map +1 -1
  519. package/build/select/searchBox/SearchBox.mjs.map +1 -1
  520. package/build/selectOption/SelectOption.js.map +1 -1
  521. package/build/selectOption/SelectOption.messages.js.map +1 -1
  522. package/build/selectOption/SelectOption.messages.mjs.map +1 -1
  523. package/build/selectOption/SelectOption.mjs +1 -1
  524. package/build/selectOption/SelectOption.mjs.map +1 -1
  525. package/build/slidingPanel/SlidingPanel.js.map +1 -1
  526. package/build/slidingPanel/SlidingPanel.mjs.map +1 -1
  527. package/build/snackbar/Snackbar.js +1 -1
  528. package/build/snackbar/Snackbar.js.map +1 -1
  529. package/build/snackbar/Snackbar.mjs +1 -1
  530. package/build/snackbar/Snackbar.mjs.map +1 -1
  531. package/build/snackbar/SnackbarContext.js.map +1 -1
  532. package/build/snackbar/SnackbarContext.mjs.map +1 -1
  533. package/build/snackbar/SnackbarProvider.js.map +1 -1
  534. package/build/snackbar/SnackbarProvider.mjs.map +1 -1
  535. package/build/snackbar/useSnackbar.js.map +1 -1
  536. package/build/snackbar/useSnackbar.mjs.map +1 -1
  537. package/build/statusIcon/StatusIcon.js.map +1 -1
  538. package/build/statusIcon/StatusIcon.messages.js.map +1 -1
  539. package/build/statusIcon/StatusIcon.messages.mjs.map +1 -1
  540. package/build/statusIcon/StatusIcon.mjs +1 -1
  541. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  542. package/build/stepper/Stepper.js.map +1 -1
  543. package/build/stepper/Stepper.mjs.map +1 -1
  544. package/build/stepper/deviceDetection.js.map +1 -1
  545. package/build/stepper/deviceDetection.mjs.map +1 -1
  546. package/build/sticky/Sticky.js.map +1 -1
  547. package/build/sticky/Sticky.mjs.map +1 -1
  548. package/build/styles/circularButton/CircularButton.css +1 -0
  549. package/build/styles/dateInput/DateInput.css +2 -1
  550. package/build/styles/inputs/Input.css +10 -0
  551. package/build/styles/inputs/TextArea.css +10 -0
  552. package/build/styles/main.css +20 -2
  553. package/build/styles/upload/Upload.css +3 -0
  554. package/build/styles/uploadInput/uploadItem/UploadItem.css +2 -1
  555. package/build/summary/Summary.js.map +1 -1
  556. package/build/summary/Summary.messages.js.map +1 -1
  557. package/build/summary/Summary.messages.mjs.map +1 -1
  558. package/build/summary/Summary.mjs +1 -1
  559. package/build/summary/Summary.mjs.map +1 -1
  560. package/build/switch/Switch.js.map +1 -1
  561. package/build/switch/Switch.mjs.map +1 -1
  562. package/build/switchOption/SwitchOption.js.map +1 -1
  563. package/build/switchOption/SwitchOption.mjs.map +1 -1
  564. package/build/table/Table.js.map +1 -1
  565. package/build/table/Table.messages.js.map +1 -1
  566. package/build/table/Table.messages.mjs.map +1 -1
  567. package/build/table/Table.mjs.map +1 -1
  568. package/build/table/TableCell.js.map +1 -1
  569. package/build/table/TableCell.mjs.map +1 -1
  570. package/build/table/TableHeader.js.map +1 -1
  571. package/build/table/TableHeader.mjs.map +1 -1
  572. package/build/table/TableRow.js.map +1 -1
  573. package/build/table/TableRow.mjs.map +1 -1
  574. package/build/table/TableStatusText.js.map +1 -1
  575. package/build/table/TableStatusText.mjs.map +1 -1
  576. package/build/tabs/Tab.js.map +1 -1
  577. package/build/tabs/Tab.mjs.map +1 -1
  578. package/build/tabs/TabList.js.map +1 -1
  579. package/build/tabs/TabList.mjs.map +1 -1
  580. package/build/tabs/TabPanel.js.map +1 -1
  581. package/build/tabs/TabPanel.mjs.map +1 -1
  582. package/build/tabs/Tabs.js +3 -3
  583. package/build/tabs/Tabs.js.map +1 -1
  584. package/build/tabs/Tabs.mjs +4 -4
  585. package/build/tabs/Tabs.mjs.map +1 -1
  586. package/build/tabs/utils.js +1 -1
  587. package/build/tabs/utils.js.map +1 -1
  588. package/build/tabs/utils.mjs +1 -1
  589. package/build/tabs/utils.mjs.map +1 -1
  590. package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.js.map +1 -1
  591. package/build/textareaWithDisplayFormat/TextareaWithDisplayFormat.mjs.map +1 -1
  592. package/build/tile/Tile.js.map +1 -1
  593. package/build/tile/Tile.mjs.map +1 -1
  594. package/build/title/Title.js.map +1 -1
  595. package/build/title/Title.mjs.map +1 -1
  596. package/build/tooltip/Tooltip.js.map +1 -1
  597. package/build/tooltip/Tooltip.mjs.map +1 -1
  598. package/build/typeahead/Typeahead.js +57 -61
  599. package/build/typeahead/Typeahead.js.map +1 -1
  600. package/build/typeahead/Typeahead.messages.js.map +1 -1
  601. package/build/typeahead/Typeahead.messages.mjs.map +1 -1
  602. package/build/typeahead/Typeahead.mjs +57 -61
  603. package/build/typeahead/Typeahead.mjs.map +1 -1
  604. package/build/typeahead/typeaheadInput/TypeaheadInput.js +2 -2
  605. package/build/typeahead/typeaheadInput/TypeaheadInput.js.map +1 -1
  606. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs +2 -2
  607. package/build/typeahead/typeaheadInput/TypeaheadInput.mjs.map +1 -1
  608. package/build/typeahead/typeaheadOption/TypeaheadOption.js.map +1 -1
  609. package/build/typeahead/typeaheadOption/TypeaheadOption.mjs.map +1 -1
  610. package/build/typeahead/util/highlight.js.map +1 -1
  611. package/build/typeahead/util/highlight.mjs.map +1 -1
  612. package/build/types/actionOption/ActionOption.d.ts.map +1 -1
  613. package/build/types/alert/Alert.d.ts.map +1 -1
  614. package/build/types/avatarWrapper/AvatarWrapper.d.ts.map +1 -1
  615. package/build/types/badge/Badge.d.ts.map +1 -1
  616. package/build/types/chevron/Chevron.d.ts.map +1 -1
  617. package/build/types/chips/Chip.d.ts.map +1 -1
  618. package/build/types/chips/Chips.d.ts.map +1 -1
  619. package/build/types/circularButton/CircularButton.d.ts.map +1 -1
  620. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  621. package/build/types/common/closeButton/CloseButton.d.ts +2 -0
  622. package/build/types/common/closeButton/CloseButton.d.ts.map +1 -1
  623. package/build/types/common/colors.d.ts.map +1 -1
  624. package/build/types/common/dateUtils/getDateView/getDateView.d.ts.map +1 -1
  625. package/build/types/common/dateUtils/getMonthNames/getMonthNames.d.ts.map +1 -1
  626. package/build/types/common/dateUtils/isDateValid/isDateValid.d.ts.map +1 -1
  627. package/build/types/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.d.ts.map +1 -1
  628. package/build/types/common/fakeEvents.d.ts.map +1 -1
  629. package/build/types/common/focusBoundary/FocusBoundary.d.ts.map +1 -1
  630. package/build/types/common/historyNavigator/historyNavigator.d.ts.map +1 -1
  631. package/build/types/common/hooks/useConditionalListener/useConditionalListener.d.ts.map +1 -1
  632. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts.map +1 -1
  633. package/build/types/common/initials.d.ts.map +1 -1
  634. package/build/types/common/textFormat/formatWithPattern/formatWithPattern.d.ts.map +1 -1
  635. package/build/types/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.d.ts.map +1 -1
  636. package/build/types/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.d.ts.map +1 -1
  637. package/build/types/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.d.ts.map +1 -1
  638. package/build/types/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.d.ts.map +1 -1
  639. package/build/types/common/textFormat/unformatWithPattern/unformatWithPattern.d.ts.map +1 -1
  640. package/build/types/common/theme.d.ts.map +1 -1
  641. package/build/types/dateInput/DateInput.d.ts.map +1 -1
  642. package/build/types/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.d.ts.map +1 -1
  643. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  644. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts.map +1 -1
  645. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +1 -1
  646. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts.map +1 -1
  647. package/build/types/decision/Decision.d.ts.map +1 -1
  648. package/build/types/dimmer/Dimmer.d.ts.map +1 -1
  649. package/build/types/dropFade/DropFade.d.ts.map +1 -1
  650. package/build/types/emphasis/Emphasis.d.ts.map +1 -1
  651. package/build/types/field/Field.d.ts.map +1 -1
  652. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  653. package/build/types/flowNavigation/animatedLabel/AnimatedLabel.d.ts.map +1 -1
  654. package/build/types/header/Header.d.ts.map +1 -1
  655. package/build/types/image/Image.d.ts +0 -1
  656. package/build/types/image/Image.d.ts.map +1 -1
  657. package/build/types/info/Info.d.ts.map +1 -1
  658. package/build/types/inputWithDisplayFormat/InputWithDisplayFormat.d.ts.map +1 -1
  659. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  660. package/build/types/instructionsList/InstructionsList.d.ts.map +1 -1
  661. package/build/types/link/Link.d.ts.map +1 -1
  662. package/build/types/loader/Loader.d.ts.map +1 -1
  663. package/build/types/markdown/Markdown.d.ts.map +1 -1
  664. package/build/types/modal/Modal.d.ts.map +1 -1
  665. package/build/types/money/Money.d.ts.map +1 -1
  666. package/build/types/moneyInput/MoneyInput.d.ts.map +1 -1
  667. package/build/types/moneyInput/MoneyInput.messages.d.ts +5 -0
  668. package/build/types/moneyInput/MoneyInput.messages.d.ts.map +1 -1
  669. package/build/types/navigationOptionsList/NavigationOptionsList.d.ts.map +1 -1
  670. package/build/types/nudge/Nudge.d.ts.map +1 -1
  671. package/build/types/phoneNumberInput/PhoneNumberInput.d.ts.map +1 -1
  672. package/build/types/phoneNumberInput/PhoneNumberInput.messages.d.ts +8 -0
  673. package/build/types/phoneNumberInput/PhoneNumberInput.messages.d.ts.map +1 -1
  674. package/build/types/phoneNumberInput/utils/cleanNumber/cleanNumber.d.ts.map +1 -1
  675. package/build/types/phoneNumberInput/utils/excludeCountries/excludeCountries.d.ts.map +1 -1
  676. package/build/types/phoneNumberInput/utils/explodeNumberModel/index.d.ts.map +1 -1
  677. package/build/types/phoneNumberInput/utils/findCountryByCode/index.d.ts.map +1 -1
  678. package/build/types/phoneNumberInput/utils/findCountryByPrefix/index.d.ts.map +1 -1
  679. package/build/types/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.d.ts.map +1 -1
  680. package/build/types/phoneNumberInput/utils/isStringNumeric/isStringNumeric.d.ts.map +1 -1
  681. package/build/types/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.d.ts.map +1 -1
  682. package/build/types/phoneNumberInput/utils/longestMatchingPrefix/index.d.ts.map +1 -1
  683. package/build/types/phoneNumberInput/utils/setDefaultPrefix/index.d.ts.map +1 -1
  684. package/build/types/progress/Progress.d.ts.map +1 -1
  685. package/build/types/progressBar/ProgressBar.d.ts.map +1 -1
  686. package/build/types/provider/direction/DirectionProvider.d.ts.map +1 -1
  687. package/build/types/provider/language/LanguageProvider.d.ts.map +1 -1
  688. package/build/types/provider/overlay/OverlayIdProvider.d.ts.map +1 -1
  689. package/build/types/section/Section.d.ts.map +1 -1
  690. package/build/types/segmentedControl/SegmentedControl.d.ts.map +1 -1
  691. package/build/types/statusIcon/StatusIcon.d.ts.map +1 -1
  692. package/build/types/stepper/Stepper.d.ts.map +1 -1
  693. package/build/types/summary/Summary.d.ts.map +1 -1
  694. package/build/types/switch/Switch.d.ts.map +1 -1
  695. package/build/types/switchOption/SwitchOption.d.ts.map +1 -1
  696. package/build/types/table/Table.d.ts.map +1 -1
  697. package/build/types/table/TableCell.d.ts.map +1 -1
  698. package/build/types/table/TableHeader.d.ts.map +1 -1
  699. package/build/types/table/TableRow.d.ts.map +1 -1
  700. package/build/types/table/TableStatusText.d.ts.map +1 -1
  701. package/build/types/tabs/Tabs.d.ts.map +1 -1
  702. package/build/types/tabs/utils.d.ts.map +1 -1
  703. package/build/types/test-utils/index.d.ts +6 -0
  704. package/build/types/test-utils/index.d.ts.map +1 -1
  705. package/build/types/test-utils/story-config.d.ts.map +1 -1
  706. package/build/types/textareaWithDisplayFormat/TextareaWithDisplayFormat.d.ts.map +1 -1
  707. package/build/types/tooltip/Tooltip.d.ts.map +1 -1
  708. package/build/types/upload/Upload.d.ts +1 -2
  709. package/build/types/upload/Upload.d.ts.map +1 -1
  710. package/build/types/upload/steps/processingStep/processingStep.d.ts +1 -3
  711. package/build/types/upload/steps/processingStep/processingStep.d.ts.map +1 -1
  712. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +1 -0
  713. package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts.map +1 -1
  714. package/build/types/uploadInput/UploadInput.d.ts.map +1 -1
  715. package/build/types/uploadInput/uploadButton/getAllowedFileTypes.d.ts.map +1 -1
  716. package/build/types/uploadInput/uploadItem/UploadItem.d.ts +1 -1
  717. package/build/types/uploadInput/uploadItem/UploadItem.d.ts.map +1 -1
  718. package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts.map +1 -1
  719. package/build/types/withDisplayFormat/WithDisplayFormat.d.ts.map +1 -1
  720. package/build/types/withNextPortal/withNextPortal.d.ts.map +1 -1
  721. package/build/upload/Upload.js +29 -45
  722. package/build/upload/Upload.js.map +1 -1
  723. package/build/upload/Upload.messages.js.map +1 -1
  724. package/build/upload/Upload.messages.mjs.map +1 -1
  725. package/build/upload/Upload.mjs +29 -45
  726. package/build/upload/Upload.mjs.map +1 -1
  727. package/build/upload/steps/completeStep/completeStep.js.map +1 -1
  728. package/build/upload/steps/completeStep/completeStep.mjs.map +1 -1
  729. package/build/upload/steps/processingStep/processingStep.js +1 -3
  730. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  731. package/build/upload/steps/processingStep/processingStep.mjs +1 -3
  732. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  733. package/build/upload/steps/uploadImageStep/uploadImageStep.js +8 -1
  734. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  735. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +8 -1
  736. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  737. package/build/upload/utils/asyncFileRead/asyncFileRead.js.map +1 -1
  738. package/build/upload/utils/asyncFileRead/asyncFileRead.mjs.map +1 -1
  739. package/build/upload/utils/getFileType/getFileType.js.map +1 -1
  740. package/build/upload/utils/getFileType/getFileType.mjs.map +1 -1
  741. package/build/upload/utils/isSizeValid/isSizeValid.js.map +1 -1
  742. package/build/upload/utils/isSizeValid/isSizeValid.mjs.map +1 -1
  743. package/build/upload/utils/isTypeValid/isTypeValid.js.map +1 -1
  744. package/build/upload/utils/isTypeValid/isTypeValid.mjs.map +1 -1
  745. package/build/upload/utils/postData/postData.js.map +1 -1
  746. package/build/upload/utils/postData/postData.mjs.map +1 -1
  747. package/build/uploadInput/UploadInput.js +55 -6
  748. package/build/uploadInput/UploadInput.js.map +1 -1
  749. package/build/uploadInput/UploadInput.messages.js.map +1 -1
  750. package/build/uploadInput/UploadInput.messages.mjs.map +1 -1
  751. package/build/uploadInput/UploadInput.mjs +57 -8
  752. package/build/uploadInput/UploadInput.mjs.map +1 -1
  753. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  754. package/build/uploadInput/uploadButton/UploadButton.messages.js.map +1 -1
  755. package/build/uploadInput/uploadButton/UploadButton.messages.mjs.map +1 -1
  756. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  757. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  758. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  759. package/build/uploadInput/uploadButton/getAllowedFileTypes.js.map +1 -1
  760. package/build/uploadInput/uploadButton/getAllowedFileTypes.mjs.map +1 -1
  761. package/build/uploadInput/uploadItem/UploadItem.js +12 -6
  762. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  763. package/build/uploadInput/uploadItem/UploadItem.messages.js.map +1 -1
  764. package/build/uploadInput/uploadItem/UploadItem.messages.mjs.map +1 -1
  765. package/build/uploadInput/uploadItem/UploadItem.mjs +12 -6
  766. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  767. package/build/uploadInput/uploadItem/UploadItemLink.js.map +1 -1
  768. package/build/uploadInput/uploadItem/UploadItemLink.mjs.map +1 -1
  769. package/build/utilities/cssValueWithUnit.js.map +1 -1
  770. package/build/utilities/cssValueWithUnit.mjs.map +1 -1
  771. package/build/utilities/logActionRequired.js.map +1 -1
  772. package/build/utilities/logActionRequired.mjs.map +1 -1
  773. package/build/withDisplayFormat/WithDisplayFormat.js +6 -7
  774. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  775. package/build/withDisplayFormat/WithDisplayFormat.mjs +6 -7
  776. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  777. package/build/withId/withId.js.map +1 -1
  778. package/build/withId/withId.mjs.map +1 -1
  779. package/build/withNextPortal/withNextPortal.js +1 -1
  780. package/build/withNextPortal/withNextPortal.js.map +1 -1
  781. package/build/withNextPortal/withNextPortal.mjs +1 -1
  782. package/build/withNextPortal/withNextPortal.mjs.map +1 -1
  783. package/package.json +56 -59
  784. package/src/alert/Alert.spec.tsx +13 -4
  785. package/src/alert/Alert.story.tsx +23 -9
  786. package/src/alert/Alert.tsx +14 -1
  787. package/src/card/Card.story.tsx +4 -2
  788. package/src/checkbox/Checkbox.story.tsx +3 -2
  789. package/src/circularButton/CircularButton.css +1 -0
  790. package/src/circularButton/CircularButton.less +1 -0
  791. package/src/circularButton/CircularButton.tests.story.tsx +23 -0
  792. package/src/common/closeButton/CloseButton.spec.tsx +13 -1
  793. package/src/common/closeButton/CloseButton.tsx +3 -0
  794. package/src/common/initials.spec.tsx +42 -0
  795. package/src/common/initials.ts +4 -0
  796. package/src/dateInput/DateInput.css +2 -1
  797. package/src/dateInput/DateInput.less +7 -4
  798. package/src/dateInput/DateInput.story.tsx +2 -2
  799. package/src/dateInput/DateInput.tests.story.tsx +11 -10
  800. package/src/i18n/cs.json +12 -9
  801. package/src/i18n/de.json +3 -0
  802. package/src/i18n/en.json +3 -0
  803. package/src/i18n/es.json +3 -0
  804. package/src/i18n/fr.json +3 -0
  805. package/src/i18n/hu.json +3 -0
  806. package/src/i18n/id.json +3 -0
  807. package/src/i18n/it.json +3 -0
  808. package/src/i18n/ja.json +3 -0
  809. package/src/i18n/nl.json +6 -3
  810. package/src/i18n/pl.json +3 -0
  811. package/src/i18n/pt.json +3 -0
  812. package/src/i18n/ro.json +3 -0
  813. package/src/i18n/ru.json +3 -0
  814. package/src/i18n/th.json +3 -0
  815. package/src/i18n/tr.json +3 -0
  816. package/src/i18n/zh-CN.json +3 -0
  817. package/src/i18n/zh-HK.json +3 -0
  818. package/src/image/Image.spec.tsx +3 -3
  819. package/src/image/Image.tsx +10 -12
  820. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +1 -1
  821. package/src/inputs/Input.css +10 -0
  822. package/src/inputs/SelectInput.tsx +11 -2
  823. package/src/inputs/TextArea.css +10 -0
  824. package/src/inputs/_common.less +6 -0
  825. package/src/main.css +20 -2
  826. package/src/markdown/Markdown.tsx +2 -1
  827. package/src/moneyInput/MoneyInput.messages.ts +5 -0
  828. package/src/moneyInput/MoneyInput.spec.tsx +42 -5
  829. package/src/moneyInput/MoneyInput.story.tsx +11 -2
  830. package/src/moneyInput/MoneyInput.tsx +5 -7
  831. package/src/phoneNumberInput/PhoneNumberInput.messages.ts +8 -0
  832. package/src/phoneNumberInput/PhoneNumberInput.spec.tsx +77 -43
  833. package/src/phoneNumberInput/PhoneNumberInput.tsx +36 -4
  834. package/src/primitives/PrimitiveAnchor/stories/PrimitiveAnchor.story.tsx +3 -2
  835. package/src/primitives/PrimitiveButton/stories/PrimitiveButton.story.tsx +3 -2
  836. package/src/promoCard/__snapshots__/PromoCard.spec.tsx.snap +1 -0
  837. package/src/promoCard/__snapshots__/PromoCardGroup.spec.tsx.snap +2 -0
  838. package/src/radioGroup/RadioGroup.story.tsx +2 -2
  839. package/src/tabs/Tabs.spec.tsx +137 -0
  840. package/src/tabs/Tabs.story.tsx +1 -0
  841. package/src/tabs/Tabs.tsx +0 -1
  842. package/src/test-utils/jest.setup.ts +0 -4
  843. package/src/textareaWithDisplayFormat/TextareaWithDisplayFormat.spec.js +9 -8
  844. package/src/typeahead/Typeahead.spec.tsx +182 -0
  845. package/src/typeahead/Typeahead.story.tsx +3 -2
  846. package/src/typeahead/typeaheadInput/TypeaheadInput.spec.tsx +103 -0
  847. package/src/typeahead/util/highlight.spec.tsx +43 -0
  848. package/src/upload/Upload.css +3 -0
  849. package/src/upload/Upload.less +7 -1
  850. package/src/upload/Upload.spec.tsx +63 -0
  851. package/src/upload/Upload.story.tsx +1 -52
  852. package/src/upload/Upload.tests.story.tsx +93 -0
  853. package/src/upload/Upload.tsx +28 -49
  854. package/src/upload/steps/processingStep/processingStep.tsx +2 -7
  855. package/src/upload/steps/uploadImageStep/uploadImageStep.spec.tsx +15 -0
  856. package/src/upload/steps/uploadImageStep/uploadImageStep.tsx +8 -0
  857. package/src/uploadInput/UploadInput.tsx +81 -8
  858. package/src/uploadInput/uploadItem/UploadItem.css +2 -1
  859. package/src/uploadInput/uploadItem/UploadItem.less +1 -1
  860. package/src/uploadInput/uploadItem/UploadItem.tsx +11 -6
  861. package/src/withDisplayFormat/WithDisplayFormat.spec.js +123 -216
  862. package/src/withDisplayFormat/WithDisplayFormat.tsx +7 -8
  863. package/src/tabs/Tabs.spec.js +0 -423
  864. package/src/typeahead/Typeahead.rtl.spec.tsx +0 -54
  865. package/src/typeahead/Typeahead.spec.js +0 -404
  866. package/src/typeahead/typeaheadInput/TypeaheadInput.spec.js +0 -74
  867. package/src/typeahead/typeaheadOption/TypeaheadOption.spec.js +0 -75
  868. package/src/typeahead/util/highlight.spec.js +0 -34
  869. package/src/withDisplayFormat/WithDisplayFormat.state.spec.js +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","sources":["../../src/upload/Upload.tsx"],"sourcesContent":["import { Plus as PlusIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { Component } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, ProcessingStep, CompleteStep } from './steps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\nimport { PostDataFetcher, PostDataHTTPOptions, ResponseError } from './utils/postData/postData';\nimport { ProcessIndicatorStatus } from '../processIndicator';\n\n/*\n * This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be\n * rendered first and then updated with the right status.\n */\nconst ANIMATION_FIX = 10;\nexport const MAX_SIZE_DEFAULT = 5000000;\n\nexport enum UploadStep {\n UPLOAD_IMAGE_STEP = 'uploadImageStep',\n}\n\nexport interface UploadProps extends WrappedComponentProps {\n animationDelay?: number;\n csButtonText?: string;\n csFailureText?: string;\n csSuccessText?: string;\n csTooLargeMessage?: string;\n csWrongTypeMessage?: string;\n httpOptions?: PostDataHTTPOptions & {\n fileInputName?: string;\n data?: Record<string, string | Blob>;\n };\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher?: PostDataFetcher;\n maxSize?: number;\n psButtonText?: string;\n psButtonDisabled?: boolean;\n psProcessingText?: string;\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept?: string;\n usButtonText?: string;\n usButtonRetryText?: string;\n usDisabled?: boolean;\n usDropMessage?: string;\n usHelpImage?: React.ReactNode;\n usLabel?: string;\n usPlaceholder?: string;\n /**\n * Override for the [InlineAlert icon's default, accessible name](/?path=/docs/other-statusicon-accessibility--docs)\n * announced by the screen readers\n * */\n errorIconLabel?: string;\n /** @deprecated Only a single variant exists, please remove this prop. */\n uploadStep?: `${UploadStep}`;\n onCancel?: () => void;\n onFailure?: (error: unknown) => void;\n onStart?: (file: File) => void;\n onSuccess?: (response: string | Response, fileName: string) => void;\n}\n\ninterface UploadState {\n fileName: string;\n isDroppable: boolean;\n isComplete: boolean;\n isError: boolean;\n isImage: boolean;\n isProcessing: boolean;\n isSuccess: boolean;\n response: unknown;\n uploadedImage: string | undefined;\n}\n\nexport class Upload extends Component<UploadProps, UploadState> {\n declare props: UploadProps & Required<Pick<UploadProps, keyof typeof Upload.defaultProps>>;\n\n static defaultProps = {\n animationDelay: 700,\n maxSize: MAX_SIZE_DEFAULT,\n psButtonDisabled: false,\n size: 'md',\n usAccept: 'image/*',\n usDisabled: false,\n usLabel: '',\n } satisfies Partial<UploadProps>;\n\n dragCounter = 0;\n timeouts = 0;\n\n constructor(props: UploadProps) {\n super(props);\n\n this.state = {\n fileName: '',\n isDroppable: false,\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: undefined,\n uploadedImage: undefined,\n };\n }\n\n getErrorMessage(status?: number) {\n const { csFailureText, csTooLargeMessage, csWrongTypeMessage, maxSize, intl } = this.props;\n switch (status) {\n case 413:\n return (\n csTooLargeMessage ||\n intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: roundFileSize(maxSize),\n })\n );\n case 415:\n return csWrongTypeMessage || intl.formatMessage(messages.csWrongTypeMessage);\n default:\n return csFailureText || intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n async onDrop(event: React.DragEvent<HTMLDivElement>) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer?.files?.[0]) {\n await this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n onAnimationCompleted = async (status: ProcessIndicatorStatus) => {\n const { response, isProcessing, fileName } = this.state;\n const { animationDelay } = this.props;\n\n if (isProcessing && status === 'succeeded') {\n const { onSuccess } = this.props;\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n onSuccess\n ? () => {\n onSuccess(response as string | Response, fileName);\n }\n : undefined,\n );\n }, animationDelay);\n }\n\n if (isProcessing && status === 'failed') {\n const { onFailure } = this.props;\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n onFailure ? () => onFailure(response) : undefined,\n );\n }, animationDelay);\n }\n };\n\n asyncPost = async (file: File) => {\n const { httpOptions, fetcher } = this.props;\n if (httpOptions == null) {\n throw new Error('Cannot find HTTP options');\n }\n\n const { fileInputName = file.name, data = {} } = httpOptions;\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(httpOptions, formData, fetcher);\n };\n\n asyncResponse = (response: unknown, type: 'success' | 'error') => {\n // Gives time to the animation callback to fire.\n this.timeouts = window.setTimeout(() => {\n this.setState({\n response,\n isError: type === 'error',\n isSuccess: type === 'success',\n });\n }, ANIMATION_FIX);\n };\n\n handleOnClear: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n onCancel?.();\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n window.clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl: string) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file: File) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n onStart?.(file);\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 415,\n statusText: 'Unsupported Media Type',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 413,\n statusText: 'Request Entity Too Large',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n let response;\n try {\n response = await this.asyncPost(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n return false;\n }\n this.asyncResponse(response, 'success');\n this.showDataImage(file64);\n return true;\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n maxSize,\n usDropMessage,\n usAccept,\n usButtonText,\n usButtonRetryText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n intl,\n errorIconLabel,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n return (\n <div\n className={clsx('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete && !isError,\n 'droppable-negative': isError && !isProcessing,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={async (event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadImageStep\n fileDropped={async (file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n />\n )}\n\n {/* Starts render the step when isSuccess is true so markup is there when css transition kicks in\n css transition to work properly */}\n {(isSuccess || isComplete) && !isError && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {isError && !isProcessing && (\n <UploadImageStep\n fileDropped={async (file) => {\n this.reset();\n await this.fileDropped(file);\n }}\n isComplete={!isError}\n usAccept={usAccept}\n usButtonText={usButtonRetryText || intl.formatMessage(messages.retry)}\n usDisabled={usDisabled}\n usHelpImage={null}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n errorMessage={this.getErrorMessage(\n response != null &&\n typeof response === 'object' &&\n 'status' in response &&\n typeof response.status === 'number'\n ? response.status\n : undefined,\n )}\n errorIconLabel={errorIconLabel}\n />\n )}\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onAnimationCompleted={async (status) => this.onAnimationCompleted(status)}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default injectIntl(Upload);\n\nconst roundFileSize = (bytes: number) => {\n const megabytes = bytes / 1000000;\n if (megabytes >= 0.1) {\n const isRound = Math.floor(megabytes) === megabytes;\n return isRound ? `${megabytes}` : megabytes.toFixed(1);\n }\n if (megabytes >= 0.01) {\n return megabytes.toFixed(2);\n }\n return megabytes.toFixed(3);\n};\n"],"names":["ANIMATION_FIX","MAX_SIZE_DEFAULT","UploadStep","Upload","Component","defaultProps","animationDelay","maxSize","psButtonDisabled","size","usAccept","usDisabled","usLabel","dragCounter","timeouts","constructor","props","state","fileName","isDroppable","isComplete","isError","isImage","isProcessing","isSuccess","response","undefined","uploadedImage","getErrorMessage","status","csFailureText","csTooLargeMessage","csWrongTypeMessage","intl","formatMessage","messages","roundFileSize","onDragLeave","event","preventDefault","setState","onDragEnter","onDrop","reset","dataTransfer","files","fileDropped","onAnimationCompleted","onSuccess","window","setTimeout","onFailure","asyncPost","file","httpOptions","fetcher","Error","fileInputName","name","data","formData","FormData","append","Object","keys","forEach","key","postData","asyncResponse","type","handleOnClear","onCancel","clearTimeout","showDataImage","dataUrl","onStart","file64","asyncFileRead","error","getFileType","includes","isTypeValid","ResponseError","Response","statusText","isSizeValid","render","usDropMessage","usButtonText","usButtonRetryText","usHelpImage","usPlaceholder","psButtonText","psProcessingText","csButtonText","csSuccessText","errorIconLabel","_jsxs","className","clsx","droppable","onDragOver","children","_jsx","UploadImageStep","CompleteStep","onClear","retry","errorMessage","ProcessingStep","PlusIcon","Title","Typography","TITLE_BODY","injectIntl","bytes","megabytes","isRound","Math","floor","toFixed"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","sources":["../../src/upload/Upload.tsx"],"sourcesContent":["import { Plus as PlusIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { Component } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, ProcessingStep, CompleteStep } from './steps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\nimport { PostDataFetcher, PostDataHTTPOptions, ResponseError } from './utils/postData/postData';\nimport { ProcessIndicatorStatus } from '../processIndicator';\n\nexport const MAX_SIZE_DEFAULT = 5000000;\n\nexport enum UploadStep {\n UPLOAD_IMAGE_STEP = 'uploadImageStep',\n}\n\nexport interface UploadProps extends WrappedComponentProps {\n animationDelay?: number;\n csButtonText?: string;\n csFailureText?: string;\n csSuccessText?: string;\n csTooLargeMessage?: string;\n csWrongTypeMessage?: string;\n httpOptions?: PostDataHTTPOptions & {\n fileInputName?: string;\n data?: Record<string, string | Blob>;\n };\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher?: PostDataFetcher;\n maxSize?: number;\n psButtonText?: string;\n psButtonDisabled?: boolean;\n psProcessingText?: string;\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept?: string;\n usButtonText?: string;\n usButtonRetryText?: string;\n usDisabled?: boolean;\n usDropMessage?: string;\n usHelpImage?: React.ReactNode;\n usLabel?: string;\n usPlaceholder?: string;\n /**\n * Override for the [InlineAlert icon's default, accessible name](/?path=/docs/other-statusicon-accessibility--docs)\n * announced by the screen readers\n * */\n errorIconLabel?: string;\n /** @deprecated Only a single variant exists, please remove this prop. */\n uploadStep?: `${UploadStep}`;\n onCancel?: () => void;\n onFailure?: (error: unknown) => void;\n onStart?: (file: File) => void;\n onSuccess?: (response: string | Response, fileName: string) => void;\n}\n\ninterface UploadState {\n fileName: string;\n isDroppable: boolean;\n isComplete: boolean;\n isError: boolean;\n isImage: boolean;\n isProcessing: boolean;\n isSuccess: boolean;\n response: unknown;\n uploadedImage: string | undefined;\n}\n\nexport class Upload extends Component<UploadProps, UploadState> {\n declare props: UploadProps & Required<Pick<UploadProps, keyof typeof Upload.defaultProps>>;\n\n static defaultProps = {\n animationDelay: 300,\n maxSize: MAX_SIZE_DEFAULT,\n psButtonDisabled: false,\n size: 'md',\n usAccept: 'image/*',\n usDisabled: false,\n usLabel: '',\n } satisfies Partial<UploadProps>;\n\n dragCounter = 0;\n timeouts = 0;\n\n constructor(props: UploadProps) {\n super(props);\n\n this.state = {\n fileName: '',\n isDroppable: false,\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: undefined,\n uploadedImage: undefined,\n };\n }\n\n getErrorMessage(status?: number) {\n const { csFailureText, csTooLargeMessage, csWrongTypeMessage, maxSize, intl } = this.props;\n switch (status) {\n case 413:\n return (\n csTooLargeMessage ||\n intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: roundFileSize(maxSize),\n })\n );\n case 415:\n return csWrongTypeMessage || intl.formatMessage(messages.csWrongTypeMessage);\n default:\n return csFailureText || intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n async onDrop(event: React.DragEvent<HTMLDivElement>) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer?.files?.[0]) {\n await this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n asyncPost = async (file: File) => {\n const { httpOptions, fetcher } = this.props;\n if (httpOptions == null) {\n throw new Error('Cannot find HTTP options');\n }\n\n const { fileInputName = file.name, data = {} } = httpOptions;\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(httpOptions, formData, fetcher);\n };\n\n handleUploadComplete = (type: 'success' | 'error', response: unknown) => {\n const { animationDelay, onSuccess, onFailure } = this.props;\n const { fileName } = this.state;\n\n window.clearTimeout(this.timeouts);\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => {\n if (type === 'success') {\n onSuccess?.(response as string | Response, fileName);\n } else {\n onFailure?.(response);\n }\n },\n );\n }, animationDelay);\n };\n\n asyncResponse = (response: unknown, type: 'success' | 'error') => {\n this.setState(\n {\n response,\n isError: type === 'error',\n isSuccess: type === 'success',\n },\n () => this.handleUploadComplete(type, response),\n );\n };\n\n handleOnClear: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n onCancel?.();\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n window.clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl: string) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file: File) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n onStart?.(file);\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 415,\n statusText: 'Unsupported Media Type',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 413,\n statusText: 'Request Entity Too Large',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n let response;\n try {\n response = await this.asyncPost(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n return false;\n }\n this.asyncResponse(response, 'success');\n this.showDataImage(file64);\n return true;\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n maxSize,\n usDropMessage,\n usAccept,\n usButtonText,\n usButtonRetryText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n intl,\n errorIconLabel,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n return (\n <div\n className={clsx('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete && !isError,\n 'droppable-negative': isError && !isProcessing,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={async (event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadImageStep\n fileDropped={async (file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n />\n )}\n\n {(isSuccess || isComplete) && !isError && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {isError && !isProcessing && (\n <UploadImageStep\n fileDropped={async (file) => {\n this.reset();\n await this.fileDropped(file);\n }}\n isComplete={!isError}\n usAccept={usAccept}\n usButtonText={usButtonRetryText || intl.formatMessage(messages.retry)}\n usDisabled={usDisabled}\n usHelpImage={null}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n errorMessage={this.getErrorMessage(\n response != null &&\n typeof response === 'object' &&\n 'status' in response &&\n typeof response.status === 'number'\n ? response.status\n : undefined,\n )}\n errorIconLabel={errorIconLabel}\n />\n )}\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default injectIntl(Upload);\n\nconst roundFileSize = (bytes: number) => {\n const megabytes = bytes / 1000000;\n if (megabytes >= 0.1) {\n const isRound = Math.floor(megabytes) === megabytes;\n return isRound ? `${megabytes}` : megabytes.toFixed(1);\n }\n if (megabytes >= 0.01) {\n return megabytes.toFixed(2);\n }\n return megabytes.toFixed(3);\n};\n"],"names":["MAX_SIZE_DEFAULT","UploadStep","Upload","Component","defaultProps","animationDelay","maxSize","psButtonDisabled","size","usAccept","usDisabled","usLabel","dragCounter","timeouts","constructor","props","state","fileName","isDroppable","isComplete","isError","isImage","isProcessing","isSuccess","response","undefined","uploadedImage","getErrorMessage","status","csFailureText","csTooLargeMessage","csWrongTypeMessage","intl","formatMessage","messages","roundFileSize","onDragLeave","event","preventDefault","setState","onDragEnter","onDrop","reset","dataTransfer","files","fileDropped","asyncPost","file","httpOptions","fetcher","Error","fileInputName","name","data","formData","FormData","append","Object","keys","forEach","key","postData","handleUploadComplete","type","onSuccess","onFailure","window","clearTimeout","setTimeout","asyncResponse","handleOnClear","onCancel","showDataImage","dataUrl","onStart","file64","asyncFileRead","error","getFileType","includes","isTypeValid","ResponseError","Response","statusText","isSizeValid","render","usDropMessage","usButtonText","usButtonRetryText","usHelpImage","usPlaceholder","psButtonText","psProcessingText","csButtonText","csSuccessText","errorIconLabel","_jsxs","className","clsx","droppable","onDragOver","children","_jsx","UploadImageStep","CompleteStep","onClear","retry","errorMessage","ProcessingStep","PlusIcon","Title","Typography","TITLE_BODY","injectIntl","bytes","megabytes","isRound","Math","floor","toFixed"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.messages.js","sources":["../../src/upload/Upload.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n retry: {\n id: 'neptune.Upload.retry',\n defaultMessage: 'Retry',\n },\n});\n"],"names":["defineMessages","csButtonText","id","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","retry"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,YAAY,EAAE;IACZC,EAAE,EAAA,6BAAA;GAEH;AACDC,EAAAA,aAAa,EAAE;IACbD,EAAE,EAAA,8BAAA;GAEH;AACDE,EAAAA,aAAa,EAAE;IACbF,EAAE,EAAA,8BAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA,kCAAA;GAEH;AACDI,EAAAA,kBAAkB,EAAE;IAClBJ,EAAE,EAAA,mCAAA;GAEH;AACDK,EAAAA,YAAY,EAAE;IACZL,EAAE,EAAA,6BAAA;GAEH;AACDM,EAAAA,gBAAgB,EAAE;IAChBN,EAAE,EAAA,iCAAA;GAEH;AACDO,EAAAA,YAAY,EAAE;IACZP,EAAE,EAAA,6BAAA;GAEH;AACDQ,EAAAA,aAAa,EAAE;IACbR,EAAE,EAAA,8BAAA;GAEH;AACDS,EAAAA,aAAa,EAAE;IACbT,EAAE,EAAA,8BAAA;GAEH;AACDU,EAAAA,KAAK,EAAE;IACLV,EAAE,EAAA,sBAAA;AAEH,GAAA;AACF,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"Upload.messages.js","sources":["../../src/upload/Upload.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n retry: {\n id: 'neptune.Upload.retry',\n defaultMessage: 'Retry',\n },\n});\n"],"names":["defineMessages","csButtonText","id","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","retry"],"mappings":";;;;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,YAAY,EAAE;IACZC,EAAE,EAAA;GAEH;AACDC,EAAAA,aAAa,EAAE;IACbD,EAAE,EAAA;GAEH;AACDE,EAAAA,aAAa,EAAE;IACbF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;GAEH;AACDI,EAAAA,kBAAkB,EAAE;IAClBJ,EAAE,EAAA;GAEH;AACDK,EAAAA,YAAY,EAAE;IACZL,EAAE,EAAA;GAEH;AACDM,EAAAA,gBAAgB,EAAE;IAChBN,EAAE,EAAA;GAEH;AACDO,EAAAA,YAAY,EAAE;IACZP,EAAE,EAAA;GAEH;AACDQ,EAAAA,aAAa,EAAE;IACbR,EAAE,EAAA;GAEH;AACDS,EAAAA,aAAa,EAAE;IACbT,EAAE,EAAA;GAEH;AACDU,EAAAA,KAAK,EAAE;IACLV,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.messages.mjs","sources":["../../src/upload/Upload.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n retry: {\n id: 'neptune.Upload.retry',\n defaultMessage: 'Retry',\n },\n});\n"],"names":["defineMessages","csButtonText","id","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","retry"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,YAAY,EAAE;IACZC,EAAE,EAAA,6BAAA;GAEH;AACDC,EAAAA,aAAa,EAAE;IACbD,EAAE,EAAA,8BAAA;GAEH;AACDE,EAAAA,aAAa,EAAE;IACbF,EAAE,EAAA,8BAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA,kCAAA;GAEH;AACDI,EAAAA,kBAAkB,EAAE;IAClBJ,EAAE,EAAA,mCAAA;GAEH;AACDK,EAAAA,YAAY,EAAE;IACZL,EAAE,EAAA,6BAAA;GAEH;AACDM,EAAAA,gBAAgB,EAAE;IAChBN,EAAE,EAAA,iCAAA;GAEH;AACDO,EAAAA,YAAY,EAAE;IACZP,EAAE,EAAA,6BAAA;GAEH;AACDQ,EAAAA,aAAa,EAAE;IACbR,EAAE,EAAA,8BAAA;GAEH;AACDS,EAAAA,aAAa,EAAE;IACbT,EAAE,EAAA,8BAAA;GAEH;AACDU,EAAAA,KAAK,EAAE;IACLV,EAAE,EAAA,sBAAA;AAEH,GAAA;AACF,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"Upload.messages.mjs","sources":["../../src/upload/Upload.messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n retry: {\n id: 'neptune.Upload.retry',\n defaultMessage: 'Retry',\n },\n});\n"],"names":["defineMessages","csButtonText","id","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","retry"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,YAAY,EAAE;IACZC,EAAE,EAAA;GAEH;AACDC,EAAAA,aAAa,EAAE;IACbD,EAAE,EAAA;GAEH;AACDE,EAAAA,aAAa,EAAE;IACbF,EAAE,EAAA;GAEH;AACDG,EAAAA,iBAAiB,EAAE;IACjBH,EAAE,EAAA;GAEH;AACDI,EAAAA,kBAAkB,EAAE;IAClBJ,EAAE,EAAA;GAEH;AACDK,EAAAA,YAAY,EAAE;IACZL,EAAE,EAAA;GAEH;AACDM,EAAAA,gBAAgB,EAAE;IAChBN,EAAE,EAAA;GAEH;AACDO,EAAAA,YAAY,EAAE;IACZP,EAAE,EAAA;GAEH;AACDQ,EAAAA,aAAa,EAAE;IACbR,EAAE,EAAA;GAEH;AACDS,EAAAA,aAAa,EAAE;IACbT,EAAE,EAAA;GAEH;AACDU,EAAAA,KAAK,EAAE;IACLV,EAAE,EAAA;AAEH;AACF,CAAA,CAAC;;;;"}
@@ -34,22 +34,21 @@ import { isSizeValid } from './utils/isSizeValid/isSizeValid.mjs';
34
34
  import { isTypeValid } from './utils/isTypeValid/isTypeValid.mjs';
35
35
  import { getFileType } from './utils/getFileType/getFileType.mjs';
36
36
 
37
- const ANIMATION_FIX = 10;
38
37
  const MAX_SIZE_DEFAULT = 5000000;
39
38
  var UploadStep;
40
39
  (function (UploadStep) {
41
40
  UploadStep["UPLOAD_IMAGE_STEP"] = "uploadImageStep";
42
41
  })(UploadStep || (UploadStep = {}));
43
42
  class Upload extends Component {
44
- static defaultProps = {
45
- animationDelay: 700,
43
+ static defaultProps = (() => ({
44
+ animationDelay: 300,
46
45
  maxSize: MAX_SIZE_DEFAULT,
47
46
  psButtonDisabled: false,
48
47
  size: 'md',
49
48
  usAccept: 'image/*',
50
49
  usDisabled: false,
51
50
  usLabel: ''
52
- };
51
+ }))();
53
52
  dragCounter = 0;
54
53
  timeouts = 0;
55
54
  constructor(props) {
@@ -121,40 +120,6 @@ class Upload extends Component {
121
120
  await this.fileDropped(event.dataTransfer.files[0]);
122
121
  }
123
122
  }
124
- onAnimationCompleted = async status => {
125
- const {
126
- response,
127
- isProcessing,
128
- fileName
129
- } = this.state;
130
- const {
131
- animationDelay
132
- } = this.props;
133
- if (isProcessing && status === 'succeeded') {
134
- const {
135
- onSuccess
136
- } = this.props;
137
- this.timeouts = window.setTimeout(() => {
138
- this.setState({
139
- isProcessing: false,
140
- isComplete: true
141
- }, onSuccess ? () => {
142
- onSuccess(response, fileName);
143
- } : undefined);
144
- }, animationDelay);
145
- }
146
- if (isProcessing && status === 'failed') {
147
- const {
148
- onFailure
149
- } = this.props;
150
- this.timeouts = window.setTimeout(() => {
151
- this.setState({
152
- isProcessing: false,
153
- isComplete: true
154
- }, onFailure ? () => onFailure(response) : undefined);
155
- }, animationDelay);
156
- }
157
- };
158
123
  asyncPost = async file => {
159
124
  const {
160
125
  httpOptions,
@@ -172,15 +137,35 @@ class Upload extends Component {
172
137
  Object.keys(data).forEach(key => formData.append(key, data[key]));
173
138
  return postData(httpOptions, formData, fetcher);
174
139
  };
175
- asyncResponse = (response, type) => {
176
- // Gives time to the animation callback to fire.
140
+ handleUploadComplete = (type, response) => {
141
+ const {
142
+ animationDelay,
143
+ onSuccess,
144
+ onFailure
145
+ } = this.props;
146
+ const {
147
+ fileName
148
+ } = this.state;
149
+ window.clearTimeout(this.timeouts);
177
150
  this.timeouts = window.setTimeout(() => {
178
151
  this.setState({
179
- response,
180
- isError: type === 'error',
181
- isSuccess: type === 'success'
152
+ isProcessing: false,
153
+ isComplete: true
154
+ }, () => {
155
+ if (type === 'success') {
156
+ onSuccess?.(response, fileName);
157
+ } else {
158
+ onFailure?.(response);
159
+ }
182
160
  });
183
- }, ANIMATION_FIX);
161
+ }, animationDelay);
162
+ };
163
+ asyncResponse = (response, type) => {
164
+ this.setState({
165
+ response,
166
+ isError: type === 'error',
167
+ isSuccess: type === 'success'
168
+ }, () => this.handleUploadComplete(type, response));
184
169
  };
185
170
  handleOnClear = event => {
186
171
  event.preventDefault();
@@ -365,7 +350,6 @@ class Upload extends Component {
365
350
  psButtonText: psButtonText || intl.formatMessage(messages.psButtonText),
366
351
  psProcessingText: psProcessingText || intl.formatMessage(messages.psProcessingText),
367
352
  psButtonDisabled: psButtonDisabled,
368
- onAnimationCompleted: async status => this.onAnimationCompleted(status),
369
353
  onClear: event => this.handleOnClear(event)
370
354
  }), !isProcessing && /*#__PURE__*/jsx("div", {
371
355
  className: "droppable-dropping-card droppable-card",
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.mjs","sources":["../../src/upload/Upload.tsx"],"sourcesContent":["import { Plus as PlusIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { Component } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, ProcessingStep, CompleteStep } from './steps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\nimport { PostDataFetcher, PostDataHTTPOptions, ResponseError } from './utils/postData/postData';\nimport { ProcessIndicatorStatus } from '../processIndicator';\n\n/*\n * This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be\n * rendered first and then updated with the right status.\n */\nconst ANIMATION_FIX = 10;\nexport const MAX_SIZE_DEFAULT = 5000000;\n\nexport enum UploadStep {\n UPLOAD_IMAGE_STEP = 'uploadImageStep',\n}\n\nexport interface UploadProps extends WrappedComponentProps {\n animationDelay?: number;\n csButtonText?: string;\n csFailureText?: string;\n csSuccessText?: string;\n csTooLargeMessage?: string;\n csWrongTypeMessage?: string;\n httpOptions?: PostDataHTTPOptions & {\n fileInputName?: string;\n data?: Record<string, string | Blob>;\n };\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher?: PostDataFetcher;\n maxSize?: number;\n psButtonText?: string;\n psButtonDisabled?: boolean;\n psProcessingText?: string;\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept?: string;\n usButtonText?: string;\n usButtonRetryText?: string;\n usDisabled?: boolean;\n usDropMessage?: string;\n usHelpImage?: React.ReactNode;\n usLabel?: string;\n usPlaceholder?: string;\n /**\n * Override for the [InlineAlert icon's default, accessible name](/?path=/docs/other-statusicon-accessibility--docs)\n * announced by the screen readers\n * */\n errorIconLabel?: string;\n /** @deprecated Only a single variant exists, please remove this prop. */\n uploadStep?: `${UploadStep}`;\n onCancel?: () => void;\n onFailure?: (error: unknown) => void;\n onStart?: (file: File) => void;\n onSuccess?: (response: string | Response, fileName: string) => void;\n}\n\ninterface UploadState {\n fileName: string;\n isDroppable: boolean;\n isComplete: boolean;\n isError: boolean;\n isImage: boolean;\n isProcessing: boolean;\n isSuccess: boolean;\n response: unknown;\n uploadedImage: string | undefined;\n}\n\nexport class Upload extends Component<UploadProps, UploadState> {\n declare props: UploadProps & Required<Pick<UploadProps, keyof typeof Upload.defaultProps>>;\n\n static defaultProps = {\n animationDelay: 700,\n maxSize: MAX_SIZE_DEFAULT,\n psButtonDisabled: false,\n size: 'md',\n usAccept: 'image/*',\n usDisabled: false,\n usLabel: '',\n } satisfies Partial<UploadProps>;\n\n dragCounter = 0;\n timeouts = 0;\n\n constructor(props: UploadProps) {\n super(props);\n\n this.state = {\n fileName: '',\n isDroppable: false,\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: undefined,\n uploadedImage: undefined,\n };\n }\n\n getErrorMessage(status?: number) {\n const { csFailureText, csTooLargeMessage, csWrongTypeMessage, maxSize, intl } = this.props;\n switch (status) {\n case 413:\n return (\n csTooLargeMessage ||\n intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: roundFileSize(maxSize),\n })\n );\n case 415:\n return csWrongTypeMessage || intl.formatMessage(messages.csWrongTypeMessage);\n default:\n return csFailureText || intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n async onDrop(event: React.DragEvent<HTMLDivElement>) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer?.files?.[0]) {\n await this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n onAnimationCompleted = async (status: ProcessIndicatorStatus) => {\n const { response, isProcessing, fileName } = this.state;\n const { animationDelay } = this.props;\n\n if (isProcessing && status === 'succeeded') {\n const { onSuccess } = this.props;\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n onSuccess\n ? () => {\n onSuccess(response as string | Response, fileName);\n }\n : undefined,\n );\n }, animationDelay);\n }\n\n if (isProcessing && status === 'failed') {\n const { onFailure } = this.props;\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n onFailure ? () => onFailure(response) : undefined,\n );\n }, animationDelay);\n }\n };\n\n asyncPost = async (file: File) => {\n const { httpOptions, fetcher } = this.props;\n if (httpOptions == null) {\n throw new Error('Cannot find HTTP options');\n }\n\n const { fileInputName = file.name, data = {} } = httpOptions;\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(httpOptions, formData, fetcher);\n };\n\n asyncResponse = (response: unknown, type: 'success' | 'error') => {\n // Gives time to the animation callback to fire.\n this.timeouts = window.setTimeout(() => {\n this.setState({\n response,\n isError: type === 'error',\n isSuccess: type === 'success',\n });\n }, ANIMATION_FIX);\n };\n\n handleOnClear: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n onCancel?.();\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n window.clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl: string) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file: File) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n onStart?.(file);\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 415,\n statusText: 'Unsupported Media Type',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 413,\n statusText: 'Request Entity Too Large',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n let response;\n try {\n response = await this.asyncPost(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n return false;\n }\n this.asyncResponse(response, 'success');\n this.showDataImage(file64);\n return true;\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n maxSize,\n usDropMessage,\n usAccept,\n usButtonText,\n usButtonRetryText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n intl,\n errorIconLabel,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n return (\n <div\n className={clsx('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete && !isError,\n 'droppable-negative': isError && !isProcessing,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={async (event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadImageStep\n fileDropped={async (file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n />\n )}\n\n {/* Starts render the step when isSuccess is true so markup is there when css transition kicks in\n css transition to work properly */}\n {(isSuccess || isComplete) && !isError && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {isError && !isProcessing && (\n <UploadImageStep\n fileDropped={async (file) => {\n this.reset();\n await this.fileDropped(file);\n }}\n isComplete={!isError}\n usAccept={usAccept}\n usButtonText={usButtonRetryText || intl.formatMessage(messages.retry)}\n usDisabled={usDisabled}\n usHelpImage={null}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n errorMessage={this.getErrorMessage(\n response != null &&\n typeof response === 'object' &&\n 'status' in response &&\n typeof response.status === 'number'\n ? response.status\n : undefined,\n )}\n errorIconLabel={errorIconLabel}\n />\n )}\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onAnimationCompleted={async (status) => this.onAnimationCompleted(status)}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default injectIntl(Upload);\n\nconst roundFileSize = (bytes: number) => {\n const megabytes = bytes / 1000000;\n if (megabytes >= 0.1) {\n const isRound = Math.floor(megabytes) === megabytes;\n return isRound ? `${megabytes}` : megabytes.toFixed(1);\n }\n if (megabytes >= 0.01) {\n return megabytes.toFixed(2);\n }\n return megabytes.toFixed(3);\n};\n"],"names":["ANIMATION_FIX","MAX_SIZE_DEFAULT","UploadStep","Upload","Component","defaultProps","animationDelay","maxSize","psButtonDisabled","size","usAccept","usDisabled","usLabel","dragCounter","timeouts","constructor","props","state","fileName","isDroppable","isComplete","isError","isImage","isProcessing","isSuccess","response","undefined","uploadedImage","getErrorMessage","status","csFailureText","csTooLargeMessage","csWrongTypeMessage","intl","formatMessage","messages","roundFileSize","onDragLeave","event","preventDefault","setState","onDragEnter","onDrop","reset","dataTransfer","files","fileDropped","onAnimationCompleted","onSuccess","window","setTimeout","onFailure","asyncPost","file","httpOptions","fetcher","Error","fileInputName","name","data","formData","FormData","append","Object","keys","forEach","key","postData","asyncResponse","type","handleOnClear","onCancel","clearTimeout","showDataImage","dataUrl","onStart","file64","asyncFileRead","error","getFileType","includes","isTypeValid","ResponseError","Response","statusText","isSizeValid","render","usDropMessage","usButtonText","usButtonRetryText","usHelpImage","usPlaceholder","psButtonText","psProcessingText","csButtonText","csSuccessText","errorIconLabel","_jsxs","className","clsx","droppable","onDragOver","children","_jsx","UploadImageStep","CompleteStep","onClear","retry","errorMessage","ProcessingStep","PlusIcon","Title","Typography","TITLE_BODY","injectIntl","bytes","megabytes","isRound","Math","floor","toFixed"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.mjs","sources":["../../src/upload/Upload.tsx"],"sourcesContent":["import { Plus as PlusIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { Component } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, ProcessingStep, CompleteStep } from './steps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\nimport { PostDataFetcher, PostDataHTTPOptions, ResponseError } from './utils/postData/postData';\nimport { ProcessIndicatorStatus } from '../processIndicator';\n\nexport const MAX_SIZE_DEFAULT = 5000000;\n\nexport enum UploadStep {\n UPLOAD_IMAGE_STEP = 'uploadImageStep',\n}\n\nexport interface UploadProps extends WrappedComponentProps {\n animationDelay?: number;\n csButtonText?: string;\n csFailureText?: string;\n csSuccessText?: string;\n csTooLargeMessage?: string;\n csWrongTypeMessage?: string;\n httpOptions?: PostDataHTTPOptions & {\n fileInputName?: string;\n data?: Record<string, string | Blob>;\n };\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher?: PostDataFetcher;\n maxSize?: number;\n psButtonText?: string;\n psButtonDisabled?: boolean;\n psProcessingText?: string;\n size?: `${Size.SMALL | Size.MEDIUM | Size.LARGE}`;\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept?: string;\n usButtonText?: string;\n usButtonRetryText?: string;\n usDisabled?: boolean;\n usDropMessage?: string;\n usHelpImage?: React.ReactNode;\n usLabel?: string;\n usPlaceholder?: string;\n /**\n * Override for the [InlineAlert icon's default, accessible name](/?path=/docs/other-statusicon-accessibility--docs)\n * announced by the screen readers\n * */\n errorIconLabel?: string;\n /** @deprecated Only a single variant exists, please remove this prop. */\n uploadStep?: `${UploadStep}`;\n onCancel?: () => void;\n onFailure?: (error: unknown) => void;\n onStart?: (file: File) => void;\n onSuccess?: (response: string | Response, fileName: string) => void;\n}\n\ninterface UploadState {\n fileName: string;\n isDroppable: boolean;\n isComplete: boolean;\n isError: boolean;\n isImage: boolean;\n isProcessing: boolean;\n isSuccess: boolean;\n response: unknown;\n uploadedImage: string | undefined;\n}\n\nexport class Upload extends Component<UploadProps, UploadState> {\n declare props: UploadProps & Required<Pick<UploadProps, keyof typeof Upload.defaultProps>>;\n\n static defaultProps = {\n animationDelay: 300,\n maxSize: MAX_SIZE_DEFAULT,\n psButtonDisabled: false,\n size: 'md',\n usAccept: 'image/*',\n usDisabled: false,\n usLabel: '',\n } satisfies Partial<UploadProps>;\n\n dragCounter = 0;\n timeouts = 0;\n\n constructor(props: UploadProps) {\n super(props);\n\n this.state = {\n fileName: '',\n isDroppable: false,\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: undefined,\n uploadedImage: undefined,\n };\n }\n\n getErrorMessage(status?: number) {\n const { csFailureText, csTooLargeMessage, csWrongTypeMessage, maxSize, intl } = this.props;\n switch (status) {\n case 413:\n return (\n csTooLargeMessage ||\n intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: roundFileSize(maxSize),\n })\n );\n case 415:\n return csWrongTypeMessage || intl.formatMessage(messages.csWrongTypeMessage);\n default:\n return csFailureText || intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event: React.DragEvent<HTMLDivElement>) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n async onDrop(event: React.DragEvent<HTMLDivElement>) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer?.files?.[0]) {\n await this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n asyncPost = async (file: File) => {\n const { httpOptions, fetcher } = this.props;\n if (httpOptions == null) {\n throw new Error('Cannot find HTTP options');\n }\n\n const { fileInputName = file.name, data = {} } = httpOptions;\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(httpOptions, formData, fetcher);\n };\n\n handleUploadComplete = (type: 'success' | 'error', response: unknown) => {\n const { animationDelay, onSuccess, onFailure } = this.props;\n const { fileName } = this.state;\n\n window.clearTimeout(this.timeouts);\n this.timeouts = window.setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => {\n if (type === 'success') {\n onSuccess?.(response as string | Response, fileName);\n } else {\n onFailure?.(response);\n }\n },\n );\n }, animationDelay);\n };\n\n asyncResponse = (response: unknown, type: 'success' | 'error') => {\n this.setState(\n {\n response,\n isError: type === 'error',\n isSuccess: type === 'success',\n },\n () => this.handleUploadComplete(type, response),\n );\n };\n\n handleOnClear: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n onCancel?.();\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n window.clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl: string) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file: File) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n onStart?.(file);\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 415,\n statusText: 'Unsupported Media Type',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n this.asyncResponse(\n new ResponseError(\n new Response(null, {\n status: 413,\n statusText: 'Request Entity Too Large',\n }),\n ),\n 'error',\n );\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n let response;\n try {\n response = await this.asyncPost(file);\n } catch (error) {\n this.asyncResponse(error, 'error');\n return false;\n }\n this.asyncResponse(response, 'success');\n this.showDataImage(file64);\n return true;\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n maxSize,\n usDropMessage,\n usAccept,\n usButtonText,\n usButtonRetryText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n intl,\n errorIconLabel,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n return (\n <div\n className={clsx('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete && !isError,\n 'droppable-negative': isError && !isProcessing,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={async (event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadImageStep\n fileDropped={async (file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n />\n )}\n\n {(isSuccess || isComplete) && !isError && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {isError && !isProcessing && (\n <UploadImageStep\n fileDropped={async (file) => {\n this.reset();\n await this.fileDropped(file);\n }}\n isComplete={!isError}\n usAccept={usAccept}\n usButtonText={usButtonRetryText || intl.formatMessage(messages.retry)}\n usDisabled={usDisabled}\n usHelpImage={null}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: roundFileSize(maxSize) })\n }\n errorMessage={this.getErrorMessage(\n response != null &&\n typeof response === 'object' &&\n 'status' in response &&\n typeof response.status === 'number'\n ? response.status\n : undefined,\n )}\n errorIconLabel={errorIconLabel}\n />\n )}\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default injectIntl(Upload);\n\nconst roundFileSize = (bytes: number) => {\n const megabytes = bytes / 1000000;\n if (megabytes >= 0.1) {\n const isRound = Math.floor(megabytes) === megabytes;\n return isRound ? `${megabytes}` : megabytes.toFixed(1);\n }\n if (megabytes >= 0.01) {\n return megabytes.toFixed(2);\n }\n return megabytes.toFixed(3);\n};\n"],"names":["MAX_SIZE_DEFAULT","UploadStep","Upload","Component","defaultProps","animationDelay","maxSize","psButtonDisabled","size","usAccept","usDisabled","usLabel","dragCounter","timeouts","constructor","props","state","fileName","isDroppable","isComplete","isError","isImage","isProcessing","isSuccess","response","undefined","uploadedImage","getErrorMessage","status","csFailureText","csTooLargeMessage","csWrongTypeMessage","intl","formatMessage","messages","roundFileSize","onDragLeave","event","preventDefault","setState","onDragEnter","onDrop","reset","dataTransfer","files","fileDropped","asyncPost","file","httpOptions","fetcher","Error","fileInputName","name","data","formData","FormData","append","Object","keys","forEach","key","postData","handleUploadComplete","type","onSuccess","onFailure","window","clearTimeout","setTimeout","asyncResponse","handleOnClear","onCancel","showDataImage","dataUrl","onStart","file64","asyncFileRead","error","getFileType","includes","isTypeValid","ResponseError","Response","statusText","isSizeValid","render","usDropMessage","usButtonText","usButtonRetryText","usHelpImage","usPlaceholder","psButtonText","psProcessingText","csButtonText","csSuccessText","errorIconLabel","_jsxs","className","clsx","droppable","onDragOver","children","_jsx","UploadImageStep","CompleteStep","onClear","retry","errorMessage","ProcessingStep","PlusIcon","Title","Typography","TITLE_BODY","injectIntl","bytes","megabytes","isRound","Math","floor","toFixed"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completeStep.js","sources":["../../../../src/upload/steps/completeStep/completeStep.tsx"],"sourcesContent":["import { Document as DocumentIcon } from '@transferwise/icons';\n\nimport { Typography } from '../../../common';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport Title from '../../../title';\n\nexport interface CompleteStepProps {\n csButtonText: string;\n csSuccessText: string;\n fileName: string;\n isComplete: boolean;\n isImage: boolean;\n uploadedImage?: string;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport default function CompleteStep({\n csButtonText,\n csSuccessText,\n fileName,\n isComplete,\n isImage,\n onClear,\n uploadedImage,\n}: CompleteStepProps) {\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </div>\n {csButtonText && (\n <Button v2 className=\"m-t-1\" onClick={onClear}>\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["CompleteStep","csButtonText","csSuccessText","fileName","isComplete","isImage","onClear","uploadedImage","_jsx","className","children","_jsxs","src","alt","DocumentIcon","Body","as","Title","type","Typography","TITLE_BODY","Button","v2","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBc,SAAUA,YAAYA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,OAAO;EACPC,OAAO;AACPC,EAAAA,aAAAA;AACkB,CAAA,EAAA;AAClB,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wCAAwC;AAAC,IAAA,aAAA,EAAa,CAACL,UAAW;AAAAM,IAAAA,QAAA,eAC/EC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;AAAAC,MAAAA,QAAA,gBACrCC,eAAA,CAAA,KAAA,EAAA;AACEF,QAAAA,SAAS,EAAC,8DAA8D;AACxE,QAAA,WAAA,EAAU,QAAQ;AAAAC,QAAAA,QAAA,EAEjBL,CAAAA,OAAO,IAAIE,aAAa,gBACvBC,cAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,GAAG,EAAEL,aAAc;AAACM,UAAAA,GAAG,EAAC,IAAI;AAACJ,UAAAA,SAAS,EAAC,YAAA;AAAY,SAAA,CAAG,gBAE3DD,cAAA,CAACM,cAAY,EAAA,EAAA,CACd,EAEAX,QAAQ,iBACPK,cAAA,CAACO,YAAI,EAAA;AAACC,UAAAA,EAAE,EAAC,GAAG;AAACP,UAAAA,SAAS,EAAC,OAAO;AAAAC,UAAAA,QAAA,EAC3BP,QAAAA;AAAQ,SACL,CACP,EACAD,aAAa,iBACZM,cAAA,CAACS,aAAK,EAAA;AAACR,UAAAA,SAAS,EAAC,eAAe;UAACS,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAAV,UAAAA,QAAA,EAC1DR,aAAAA;AAAa,SACT,CACR,CAAA;AAAA,OACE,CACL,EAACD,YAAY,iBACXO,cAAA,CAACa,uBAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACb,QAAAA,SAAS,EAAC,OAAO;AAACc,QAAAA,OAAO,EAAEjB,OAAQ;AAAAI,QAAAA,QAAA,EAC3CT,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"completeStep.js","sources":["../../../../src/upload/steps/completeStep/completeStep.tsx"],"sourcesContent":["import { Document as DocumentIcon } from '@transferwise/icons';\n\nimport { Typography } from '../../../common';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport Title from '../../../title';\n\nexport interface CompleteStepProps {\n csButtonText: string;\n csSuccessText: string;\n fileName: string;\n isComplete: boolean;\n isImage: boolean;\n uploadedImage?: string;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport default function CompleteStep({\n csButtonText,\n csSuccessText,\n fileName,\n isComplete,\n isImage,\n onClear,\n uploadedImage,\n}: CompleteStepProps) {\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </div>\n {csButtonText && (\n <Button v2 className=\"m-t-1\" onClick={onClear}>\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["CompleteStep","csButtonText","csSuccessText","fileName","isComplete","isImage","onClear","uploadedImage","_jsx","className","children","_jsxs","src","alt","DocumentIcon","Body","as","Title","type","Typography","TITLE_BODY","Button","v2","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBc,SAAUA,YAAYA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,OAAO;EACPC,OAAO;AACPC,EAAAA;AACkB,CAAA,EAAA;AAClB,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wCAAwC;AAAC,IAAA,aAAA,EAAa,CAACL,UAAW;AAAAM,IAAAA,QAAA,eAC/EC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;AAAAC,MAAAA,QAAA,gBACrCC,eAAA,CAAA,KAAA,EAAA;AACEF,QAAAA,SAAS,EAAC,8DAA8D;AACxE,QAAA,WAAA,EAAU,QAAQ;AAAAC,QAAAA,QAAA,EAEjBL,CAAAA,OAAO,IAAIE,aAAa,gBACvBC,cAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,GAAG,EAAEL,aAAc;AAACM,UAAAA,GAAG,EAAC,IAAI;AAACJ,UAAAA,SAAS,EAAC;AAAY,SAAA,CAAG,gBAE3DD,cAAA,CAACM,cAAY,EAAA,EAAA,CACd,EAEAX,QAAQ,iBACPK,cAAA,CAACO,YAAI,EAAA;AAACC,UAAAA,EAAE,EAAC,GAAG;AAACP,UAAAA,SAAS,EAAC,OAAO;AAAAC,UAAAA,QAAA,EAC3BP;AAAQ,SACL,CACP,EACAD,aAAa,iBACZM,cAAA,CAACS,aAAK,EAAA;AAACR,UAAAA,SAAS,EAAC,eAAe;UAACS,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAAV,UAAAA,QAAA,EAC1DR;AAAa,SACT,CACR;AAAA,OACE,CACL,EAACD,YAAY,iBACXO,cAAA,CAACa,uBAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACb,QAAAA,SAAS,EAAC,OAAO;AAACc,QAAAA,OAAO,EAAEjB,OAAQ;AAAAI,QAAAA,QAAA,EAC3CT;AAAY,OACP,CACT;KACE;AACP,GAAK,CAAC;AAEV;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"completeStep.mjs","sources":["../../../../src/upload/steps/completeStep/completeStep.tsx"],"sourcesContent":["import { Document as DocumentIcon } from '@transferwise/icons';\n\nimport { Typography } from '../../../common';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport Title from '../../../title';\n\nexport interface CompleteStepProps {\n csButtonText: string;\n csSuccessText: string;\n fileName: string;\n isComplete: boolean;\n isImage: boolean;\n uploadedImage?: string;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport default function CompleteStep({\n csButtonText,\n csSuccessText,\n fileName,\n isComplete,\n isImage,\n onClear,\n uploadedImage,\n}: CompleteStepProps) {\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </div>\n {csButtonText && (\n <Button v2 className=\"m-t-1\" onClick={onClear}>\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["CompleteStep","csButtonText","csSuccessText","fileName","isComplete","isImage","onClear","uploadedImage","_jsx","className","children","_jsxs","src","alt","DocumentIcon","Body","as","Title","type","Typography","TITLE_BODY","Button","v2","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBc,SAAUA,YAAYA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,OAAO;EACPC,OAAO;AACPC,EAAAA,aAAAA;AACkB,CAAA,EAAA;AAClB,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wCAAwC;AAAC,IAAA,aAAA,EAAa,CAACL,UAAW;AAAAM,IAAAA,QAAA,eAC/EC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;AAAAC,MAAAA,QAAA,gBACrCC,IAAA,CAAA,KAAA,EAAA;AACEF,QAAAA,SAAS,EAAC,8DAA8D;AACxE,QAAA,WAAA,EAAU,QAAQ;AAAAC,QAAAA,QAAA,EAEjBL,CAAAA,OAAO,IAAIE,aAAa,gBACvBC,GAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,GAAG,EAAEL,aAAc;AAACM,UAAAA,GAAG,EAAC,IAAI;AAACJ,UAAAA,SAAS,EAAC,YAAA;AAAY,SAAA,CAAG,gBAE3DD,GAAA,CAACM,QAAY,EAAA,EAAA,CACd,EAEAX,QAAQ,iBACPK,GAAA,CAACO,IAAI,EAAA;AAACC,UAAAA,EAAE,EAAC,GAAG;AAACP,UAAAA,SAAS,EAAC,OAAO;AAAAC,UAAAA,QAAA,EAC3BP,QAAAA;AAAQ,SACL,CACP,EACAD,aAAa,iBACZM,GAAA,CAACS,KAAK,EAAA;AAACR,UAAAA,SAAS,EAAC,eAAe;UAACS,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAAV,UAAAA,QAAA,EAC1DR,aAAAA;AAAa,SACT,CACR,CAAA;AAAA,OACE,CACL,EAACD,YAAY,iBACXO,GAAA,CAACa,MAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACb,QAAAA,SAAS,EAAC,OAAO;AAACc,QAAAA,OAAO,EAAEjB,OAAQ;AAAAI,QAAAA,QAAA,EAC3CT,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"completeStep.mjs","sources":["../../../../src/upload/steps/completeStep/completeStep.tsx"],"sourcesContent":["import { Document as DocumentIcon } from '@transferwise/icons';\n\nimport { Typography } from '../../../common';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport Title from '../../../title';\n\nexport interface CompleteStepProps {\n csButtonText: string;\n csSuccessText: string;\n fileName: string;\n isComplete: boolean;\n isImage: boolean;\n uploadedImage?: string;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport default function CompleteStep({\n csButtonText,\n csSuccessText,\n fileName,\n isComplete,\n isImage,\n onClear,\n uploadedImage,\n}: CompleteStepProps) {\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </div>\n {csButtonText && (\n <Button v2 className=\"m-t-1\" onClick={onClear}>\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["CompleteStep","csButtonText","csSuccessText","fileName","isComplete","isImage","onClear","uploadedImage","_jsx","className","children","_jsxs","src","alt","DocumentIcon","Body","as","Title","type","Typography","TITLE_BODY","Button","v2","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBc,SAAUA,YAAYA,CAAC;EACnCC,YAAY;EACZC,aAAa;EACbC,QAAQ;EACRC,UAAU;EACVC,OAAO;EACPC,OAAO;AACPC,EAAAA;AACkB,CAAA,EAAA;AAClB,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,wCAAwC;AAAC,IAAA,aAAA,EAAa,CAACL,UAAW;AAAAM,IAAAA,QAAA,eAC/EC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;AAAAC,MAAAA,QAAA,gBACrCC,IAAA,CAAA,KAAA,EAAA;AACEF,QAAAA,SAAS,EAAC,8DAA8D;AACxE,QAAA,WAAA,EAAU,QAAQ;AAAAC,QAAAA,QAAA,EAEjBL,CAAAA,OAAO,IAAIE,aAAa,gBACvBC,GAAA,CAAA,KAAA,EAAA;AAAKI,UAAAA,GAAG,EAAEL,aAAc;AAACM,UAAAA,GAAG,EAAC,IAAI;AAACJ,UAAAA,SAAS,EAAC;AAAY,SAAA,CAAG,gBAE3DD,GAAA,CAACM,QAAY,EAAA,EAAA,CACd,EAEAX,QAAQ,iBACPK,GAAA,CAACO,IAAI,EAAA;AAACC,UAAAA,EAAE,EAAC,GAAG;AAACP,UAAAA,SAAS,EAAC,OAAO;AAAAC,UAAAA,QAAA,EAC3BP;AAAQ,SACL,CACP,EACAD,aAAa,iBACZM,GAAA,CAACS,KAAK,EAAA;AAACR,UAAAA,SAAS,EAAC,eAAe;UAACS,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAAV,UAAAA,QAAA,EAC1DR;AAAa,SACT,CACR;AAAA,OACE,CACL,EAACD,YAAY,iBACXO,GAAA,CAACa,MAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACb,QAAAA,SAAS,EAAC,OAAO;AAACc,QAAAA,OAAO,EAAEjB,OAAQ;AAAAI,QAAAA,QAAA,EAC3CT;AAAY,OACP,CACT;KACE;AACP,GAAK,CAAC;AAEV;;;;"}
@@ -35,7 +35,6 @@ function ProcessingStep({
35
35
  isComplete,
36
36
  isError,
37
37
  isSuccess,
38
- onAnimationCompleted,
39
38
  onClear,
40
39
  psButtonText,
41
40
  psProcessingText,
@@ -54,8 +53,7 @@ function ProcessingStep({
54
53
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
55
54
  className: "droppable-card-content",
56
55
  children: [/*#__PURE__*/jsxRuntime.jsx(ProcessIndicator.default, {
57
- status: processStatus,
58
- onAnimationCompleted: status => onAnimationCompleted(status)
56
+ status: processStatus
59
57
  }), /*#__PURE__*/jsxRuntime.jsx(Title.default, {
60
58
  className: "m-y-2",
61
59
  type: typography.Typography.TITLE_BODY,
@@ -1 +1 @@
1
- {"version":3,"file":"processingStep.js","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,aAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,aAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,aAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,cAAA,CAACI,wBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,cAAA,CAACM,aAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,cAAA,CAACU,uBAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"processingStep.js","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator status={processStatus} />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAec,SAAUA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,aAAM,CAACC,UAAU;AACrC,EAAA,IAAIR,OAAO,EAAE;IACXM,aAAa,GAAGC,aAAM,CAACE,MAAM;AAC/B;AACA,EAAA,IAAIR,SAAS,EAAE;IACbK,aAAa,GAAGC,aAAM,CAACG,SAAS;AAClC;AAEA,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAab,UAAW;AAAAc,IAAAA,QAAA,eAChFC,eAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,cAAA,CAACI,wBAAgB,EAAA;AAACC,QAAAA,MAAM,EAAEV;AAAc,OACxC,CAAA,eAAAK,cAAA,CAACM,aAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,qBAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,cAAA,CAACU,uBAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV;AAAY,OACP,CACT;KACE;AACP,GAAK,CAAC;AAEV;;;;"}
@@ -31,7 +31,6 @@ function ProcessingStep({
31
31
  isComplete,
32
32
  isError,
33
33
  isSuccess,
34
- onAnimationCompleted,
35
34
  onClear,
36
35
  psButtonText,
37
36
  psProcessingText,
@@ -50,8 +49,7 @@ function ProcessingStep({
50
49
  children: /*#__PURE__*/jsxs("div", {
51
50
  className: "droppable-card-content",
52
51
  children: [/*#__PURE__*/jsx(ProcessIndicator, {
53
- status: processStatus,
54
- onAnimationCompleted: status => onAnimationCompleted(status)
52
+ status: processStatus
55
53
  }), /*#__PURE__*/jsx(Title, {
56
54
  className: "m-y-2",
57
55
  type: Typography.TITLE_BODY,
@@ -1 +1 @@
1
- {"version":3,"file":"processingStep.mjs","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator, { ProcessIndicatorStatus } from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onAnimationCompleted: (status: ProcessIndicatorStatus) => void;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onAnimationCompleted","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBwB,SAAAA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,oBAAoB;EACpBC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA,gBAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,MAAM,CAACC,UAAU,CAAA;AACrC,EAAA,IAAIT,OAAO,EAAE;IACXO,aAAa,GAAGC,MAAM,CAACE,MAAM,CAAA;AAC/B,GAAA;AACA,EAAA,IAAIT,SAAS,EAAE;IACbM,aAAa,GAAGC,MAAM,CAACG,SAAS,CAAA;AAClC,GAAA;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAad,UAAW;AAAAe,IAAAA,QAAA,eAChFC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,GAAA,CAACI,gBAAgB,EAAA;AACfC,QAAAA,MAAM,EAAEV,aAAc;AACtBL,QAAAA,oBAAoB,EAAGe,MAAM,IAAKf,oBAAoB,CAACe,MAAM,CAAA;AAAE,OAEjE,CAAA,eAAAL,GAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET,gBAAAA;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,GAAA,CAACU,MAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV,YAAAA;AAAY,OACP,CACT,CAAA;KACE,CAAA;AACP,GAAK,CAAC,CAAA;AAEV;;;;"}
1
+ {"version":3,"file":"processingStep.mjs","sources":["../../../../src/upload/steps/processingStep/processingStep.tsx"],"sourcesContent":["import Button from '../../../button';\nimport { Status, Typography } from '../../../common';\nimport ProcessIndicator from '../../../processIndicator';\nimport Title from '../../../title';\n\nexport interface ProcessingStepProps {\n isComplete: boolean;\n isError: boolean;\n isSuccess: boolean;\n onClear: React.MouseEventHandler<HTMLButtonElement>;\n psButtonText: string;\n psProcessingText: string;\n psButtonDisabled: boolean;\n}\n\nexport default function ProcessingStep({\n isComplete,\n isError,\n isSuccess,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n}: ProcessingStepProps) {\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator status={processStatus} />\n <Title className=\"m-y-2\" type={Typography.TITLE_BODY} aria-live=\"polite\">\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button v2 disabled={psButtonDisabled} onClick={onClear}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"],"names":["ProcessingStep","isComplete","isError","isSuccess","onClear","psButtonText","psProcessingText","psButtonDisabled","processStatus","Status","PROCESSING","FAILED","SUCCEEDED","_jsx","className","children","_jsxs","ProcessIndicator","status","Title","type","Typography","TITLE_BODY","Button","v2","disabled","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAec,SAAUA,cAAcA,CAAC;EACrCC,UAAU;EACVC,OAAO;EACPC,SAAS;EACTC,OAAO;EACPC,YAAY;EACZC,gBAAgB;AAChBC,EAAAA;AACoB,CAAA,EAAA;AACpB,EAAA,IAAIC,aAAa,GAAGC,MAAM,CAACC,UAAU;AACrC,EAAA,IAAIR,OAAO,EAAE;IACXM,aAAa,GAAGC,MAAM,CAACE,MAAM;AAC/B;AACA,EAAA,IAAIR,SAAS,EAAE;IACbK,aAAa,GAAGC,MAAM,CAACG,SAAS;AAClC;AAEA,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0CAA0C;AAAC,IAAA,aAAA,EAAab,UAAW;AAAAc,IAAAA,QAAA,eAChFC,IAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,wBAAwB;MAAAC,QAAA,EAAA,cACrCF,GAAA,CAACI,gBAAgB,EAAA;AAACC,QAAAA,MAAM,EAAEV;AAAc,OACxC,CAAA,eAAAK,GAAA,CAACM,KAAK,EAAA;AAACL,QAAAA,SAAS,EAAC,OAAO;QAACM,IAAI,EAAEC,UAAU,CAACC,UAAW;AAAC,QAAA,WAAA,EAAU,QAAQ;AAAAP,QAAAA,QAAA,EACrET;AAAgB,OACZ,CACP,EAACD,YAAY,iBACXQ,GAAA,CAACU,MAAM,EAAA;QAACC,EAAE,EAAA,IAAA;AAACC,QAAAA,QAAQ,EAAElB,gBAAiB;AAACmB,QAAAA,OAAO,EAAEtB,OAAQ;AAAAW,QAAAA,QAAA,EACrDV;AAAY,OACP,CACT;KACE;AACP,GAAK,CAAC;AAEV;;;;"}
@@ -31,7 +31,7 @@ var jsxRuntime = require('react/jsx-runtime');
31
31
  var InlineAlert = require('../../../inlineAlert/InlineAlert.js');
32
32
 
33
33
  class UploadImageStep extends React.PureComponent {
34
- uploadInputRef = /*#__PURE__*/React.createRef();
34
+ uploadInputRef = (() => /*#__PURE__*/React.createRef())();
35
35
  onManualUpload = () => {
36
36
  const {
37
37
  fileDropped
@@ -41,6 +41,12 @@ class UploadImageStep extends React.PureComponent {
41
41
  fileDropped(file);
42
42
  }
43
43
  };
44
+ onKeyDown = event => {
45
+ if (event.key === 'Enter' || event.key === ' ') {
46
+ event.preventDefault();
47
+ this.uploadInputRef.current?.click();
48
+ }
49
+ };
44
50
  getImage = () => {
45
51
  const {
46
52
  usHelpImage,
@@ -106,6 +112,7 @@ class UploadImageStep extends React.PureComponent {
106
112
  role: "button",
107
113
  "aria-disabled": usDisabled,
108
114
  tabIndex: 0,
115
+ onKeyDown: this.onKeyDown,
109
116
  children: [usButtonText ? /*#__PURE__*/jsxRuntime.jsx("span", {
110
117
  children: usButtonText
111
118
  }) : /*#__PURE__*/jsxRuntime.jsx(icons.Upload, {
@@ -1 +1 @@
1
- {"version":3,"file":"uploadImageStep.js","sources":["../../../../src/upload/steps/uploadImageStep/uploadImageStep.tsx"],"sourcesContent":["import { Upload as UploadIcon } from '@transferwise/icons';\nimport { createRef, PureComponent } from 'react';\nimport StatusIcon from '../../../statusIcon';\nimport { Sentiment, Size } from '../../../common';\nimport InlineAlert from '../../../inlineAlert';\n\nexport interface UploadImageStepProps {\n fileDropped: (file: File) => void;\n isComplete: boolean;\n usAccept: string;\n usButtonText: string;\n usDisabled: boolean;\n usHelpImage: React.ReactNode;\n usLabel: string;\n usPlaceholder: string;\n errorMessage?: string | string[];\n errorIconLabel?: string;\n}\n\nexport default class UploadImageStep extends PureComponent<UploadImageStepProps> {\n uploadInputRef = createRef<HTMLInputElement>();\n\n onManualUpload = () => {\n const { fileDropped } = this.props;\n const file = this.uploadInputRef.current?.files?.[0];\n if (file != null) {\n fileDropped(file);\n }\n };\n\n getImage = () => {\n const { usHelpImage, usLabel } = this.props;\n const { errorMessage } = this.props;\n\n if (errorMessage) {\n return (\n <div className=\"d-flex flex-column align-items-center\">\n <StatusIcon size={Size.LARGE} sentiment={Sentiment.NEGATIVE} iconLabel={null} />\n </div>\n );\n }\n\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n render() {\n const {\n errorMessage,\n isComplete,\n errorIconLabel,\n usAccept,\n usButtonText,\n usDisabled,\n usLabel,\n usPlaceholder,\n } = this.props;\n\n return (\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{this.getImage()}</div>\n {usLabel && <h4 className=\"np-text-title-body m-b-1\">{usLabel}</h4>}\n {usPlaceholder && <p className=\"np-text-body-large m-b-3\">{String(usPlaceholder)}</p>}\n <label\n className={`btn btn-primary btn-md ${usDisabled ? 'disabled' : ''}`}\n role=\"button\"\n aria-disabled={usDisabled}\n tabIndex={0}\n >\n {usButtonText ? (\n <span>{usButtonText}</span>\n ) : (\n <UploadIcon size={24} className=\"m-r-0\" />\n )}\n <input\n ref={this.uploadInputRef}\n type=\"file\"\n accept={usAccept === '*' ? undefined : usAccept}\n className=\"tw-droppable-input hidden\"\n disabled={usDisabled}\n name=\"file-upload\"\n onChange={() => this.onManualUpload()}\n />\n </label>\n {errorMessage && (\n <div className=\"upload-error-message\">\n <div className=\"m-t-3 has-error\">\n <InlineAlert type={Sentiment.NEGATIVE} iconLabel={errorIconLabel}>\n {errorMessage}\n </InlineAlert>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"names":["UploadImageStep","PureComponent","uploadInputRef","createRef","onManualUpload","fileDropped","props","file","current","files","getImage","usHelpImage","usLabel","errorMessage","_jsx","className","children","StatusIcon","size","Size","LARGE","sentiment","Sentiment","NEGATIVE","iconLabel","UploadIcon","src","alt","render","isComplete","errorIconLabel","usAccept","usButtonText","usDisabled","usPlaceholder","_jsxs","String","role","tabIndex","ref","type","accept","undefined","disabled","name","onChange","InlineAlert"],"mappings":"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"}
1
+ {"version":3,"file":"uploadImageStep.js","sources":["../../../../src/upload/steps/uploadImageStep/uploadImageStep.tsx"],"sourcesContent":["import { Upload as UploadIcon } from '@transferwise/icons';\nimport { createRef, PureComponent } from 'react';\nimport StatusIcon from '../../../statusIcon';\nimport { Sentiment, Size } from '../../../common';\nimport InlineAlert from '../../../inlineAlert';\n\nexport interface UploadImageStepProps {\n fileDropped: (file: File) => void;\n isComplete: boolean;\n usAccept: string;\n usButtonText: string;\n usDisabled: boolean;\n usHelpImage: React.ReactNode;\n usLabel: string;\n usPlaceholder: string;\n errorMessage?: string | string[];\n errorIconLabel?: string;\n}\n\nexport default class UploadImageStep extends PureComponent<UploadImageStepProps> {\n uploadInputRef = createRef<HTMLInputElement>();\n\n onManualUpload = () => {\n const { fileDropped } = this.props;\n const file = this.uploadInputRef.current?.files?.[0];\n if (file != null) {\n fileDropped(file);\n }\n };\n\n onKeyDown = (event: React.KeyboardEvent<HTMLLabelElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.uploadInputRef.current?.click();\n }\n };\n\n getImage = () => {\n const { usHelpImage, usLabel } = this.props;\n const { errorMessage } = this.props;\n\n if (errorMessage) {\n return (\n <div className=\"d-flex flex-column align-items-center\">\n <StatusIcon size={Size.LARGE} sentiment={Sentiment.NEGATIVE} iconLabel={null} />\n </div>\n );\n }\n\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n render() {\n const {\n errorMessage,\n isComplete,\n errorIconLabel,\n usAccept,\n usButtonText,\n usDisabled,\n usLabel,\n usPlaceholder,\n } = this.props;\n\n return (\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{this.getImage()}</div>\n {usLabel && <h4 className=\"np-text-title-body m-b-1\">{usLabel}</h4>}\n {usPlaceholder && <p className=\"np-text-body-large m-b-3\">{String(usPlaceholder)}</p>}\n <label\n className={`btn btn-primary btn-md ${usDisabled ? 'disabled' : ''}`}\n role=\"button\"\n aria-disabled={usDisabled}\n tabIndex={0}\n onKeyDown={this.onKeyDown}\n >\n {usButtonText ? (\n <span>{usButtonText}</span>\n ) : (\n <UploadIcon size={24} className=\"m-r-0\" />\n )}\n <input\n ref={this.uploadInputRef}\n type=\"file\"\n accept={usAccept === '*' ? undefined : usAccept}\n className=\"tw-droppable-input hidden\"\n disabled={usDisabled}\n name=\"file-upload\"\n onChange={() => this.onManualUpload()}\n />\n </label>\n {errorMessage && (\n <div className=\"upload-error-message\">\n <div className=\"m-t-3 has-error\">\n <InlineAlert type={Sentiment.NEGATIVE} iconLabel={errorIconLabel}>\n {errorMessage}\n </InlineAlert>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"names":["UploadImageStep","PureComponent","uploadInputRef","createRef","onManualUpload","fileDropped","props","file","current","files","onKeyDown","event","key","preventDefault","click","getImage","usHelpImage","usLabel","errorMessage","_jsx","className","children","StatusIcon","size","Size","LARGE","sentiment","Sentiment","NEGATIVE","iconLabel","UploadIcon","src","alt","render","isComplete","errorIconLabel","usAccept","usButtonText","usDisabled","usPlaceholder","_jsxs","String","role","tabIndex","ref","type","accept","undefined","disabled","name","onChange","InlineAlert"],"mappings":"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"}