@transferwise/components 46.78.0 → 46.79.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 (388) hide show
  1. package/build/accordion/AccordionItem/AccordionItem.js +22 -3
  2. package/build/accordion/AccordionItem/AccordionItem.js.map +1 -1
  3. package/build/accordion/AccordionItem/AccordionItem.mjs +22 -3
  4. package/build/accordion/AccordionItem/AccordionItem.mjs.map +1 -1
  5. package/build/actionButton/ActionButton.js +22 -1
  6. package/build/actionButton/ActionButton.js.map +1 -1
  7. package/build/actionButton/ActionButton.mjs +22 -1
  8. package/build/actionButton/ActionButton.mjs.map +1 -1
  9. package/build/actionOption/ActionOption.js +24 -2
  10. package/build/actionOption/ActionOption.js.map +1 -1
  11. package/build/actionOption/ActionOption.mjs +24 -2
  12. package/build/actionOption/ActionOption.mjs.map +1 -1
  13. package/build/alert/Alert.js +22 -6
  14. package/build/alert/Alert.js.map +1 -1
  15. package/build/alert/Alert.mjs +22 -6
  16. package/build/alert/Alert.mjs.map +1 -1
  17. package/build/alert/inlineMarkdown/InlineMarkdown.js +25 -2
  18. package/build/alert/inlineMarkdown/InlineMarkdown.js.map +1 -1
  19. package/build/alert/inlineMarkdown/InlineMarkdown.mjs +25 -2
  20. package/build/alert/inlineMarkdown/InlineMarkdown.mjs.map +1 -1
  21. package/build/avatar/Avatar.js +23 -2
  22. package/build/avatar/Avatar.js.map +1 -1
  23. package/build/avatar/Avatar.mjs +23 -2
  24. package/build/avatar/Avatar.mjs.map +1 -1
  25. package/build/avatarWrapper/AvatarWrapper.js +23 -3
  26. package/build/avatarWrapper/AvatarWrapper.js.map +1 -1
  27. package/build/avatarWrapper/AvatarWrapper.mjs +23 -3
  28. package/build/avatarWrapper/AvatarWrapper.mjs.map +1 -1
  29. package/build/badge/Badge.js +23 -2
  30. package/build/badge/Badge.js.map +1 -1
  31. package/build/badge/Badge.mjs +23 -2
  32. package/build/badge/Badge.mjs.map +1 -1
  33. package/build/button/Button.js +22 -6
  34. package/build/button/Button.js.map +1 -1
  35. package/build/button/Button.messages.js.map +1 -1
  36. package/build/button/Button.messages.mjs.map +1 -1
  37. package/build/button/Button.mjs +22 -6
  38. package/build/button/Button.mjs.map +1 -1
  39. package/build/button/classMap.js +24 -0
  40. package/build/button/classMap.js.map +1 -1
  41. package/build/button/classMap.mjs +24 -0
  42. package/build/button/classMap.mjs.map +1 -1
  43. package/build/button/legacyUtils/legacyUtils.js +30 -7
  44. package/build/button/legacyUtils/legacyUtils.js.map +1 -1
  45. package/build/button/legacyUtils/legacyUtils.mjs +30 -7
  46. package/build/button/legacyUtils/legacyUtils.mjs.map +1 -1
  47. package/build/card/Card.js +23 -3
  48. package/build/card/Card.js.map +1 -1
  49. package/build/card/Card.mjs +23 -3
  50. package/build/card/Card.mjs.map +1 -1
  51. package/build/checkbox/Checkbox.js +23 -1
  52. package/build/checkbox/Checkbox.js.map +1 -1
  53. package/build/checkbox/Checkbox.mjs +23 -1
  54. package/build/checkbox/Checkbox.mjs.map +1 -1
  55. package/build/checkboxOption/CheckboxOption.js +1 -1
  56. package/build/checkboxOption/CheckboxOption.mjs +1 -1
  57. package/build/chevron/Chevron.js +21 -1
  58. package/build/chevron/Chevron.js.map +1 -1
  59. package/build/chevron/Chevron.mjs +21 -1
  60. package/build/chevron/Chevron.mjs.map +1 -1
  61. package/build/chips/Chip.js +19 -1
  62. package/build/chips/Chip.js.map +1 -1
  63. package/build/chips/Chip.mjs +19 -1
  64. package/build/chips/Chip.mjs.map +1 -1
  65. package/build/circularButton/CircularButton.js +23 -4
  66. package/build/circularButton/CircularButton.js.map +1 -1
  67. package/build/circularButton/CircularButton.mjs +23 -4
  68. package/build/circularButton/CircularButton.mjs.map +1 -1
  69. package/build/common/bottomSheet/BottomSheet.js +3 -2
  70. package/build/common/bottomSheet/BottomSheet.js.map +1 -1
  71. package/build/common/bottomSheet/BottomSheet.mjs +3 -2
  72. package/build/common/bottomSheet/BottomSheet.mjs.map +1 -1
  73. package/build/common/hooks/useHasIntersected/useHasIntersected.js +10 -10
  74. package/build/common/hooks/useHasIntersected/useHasIntersected.js.map +1 -1
  75. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs +10 -10
  76. package/build/common/hooks/useHasIntersected/useHasIntersected.mjs.map +1 -1
  77. package/build/common/locale/index.js +24 -0
  78. package/build/common/locale/index.js.map +1 -1
  79. package/build/common/locale/index.mjs +24 -0
  80. package/build/common/locale/index.mjs.map +1 -1
  81. package/build/common/panel/Panel.js +23 -2
  82. package/build/common/panel/Panel.js.map +1 -1
  83. package/build/common/panel/Panel.mjs +23 -2
  84. package/build/common/panel/Panel.mjs.map +1 -1
  85. package/build/common/responsivePanel/ResponsivePanel.js +27 -3
  86. package/build/common/responsivePanel/ResponsivePanel.js.map +1 -1
  87. package/build/common/responsivePanel/ResponsivePanel.mjs +27 -3
  88. package/build/common/responsivePanel/ResponsivePanel.mjs.map +1 -1
  89. package/build/criticalBanner/CriticalCommsBanner.js +22 -3
  90. package/build/criticalBanner/CriticalCommsBanner.js.map +1 -1
  91. package/build/criticalBanner/CriticalCommsBanner.mjs +22 -3
  92. package/build/criticalBanner/CriticalCommsBanner.mjs.map +1 -1
  93. package/build/dateInput/DateInput.js +22 -5
  94. package/build/dateInput/DateInput.js.map +1 -1
  95. package/build/dateInput/DateInput.mjs +22 -5
  96. package/build/dateInput/DateInput.mjs.map +1 -1
  97. package/build/dateLookup/DateLookup.js +24 -6
  98. package/build/dateLookup/DateLookup.js.map +1 -1
  99. package/build/dateLookup/DateLookup.mjs +24 -6
  100. package/build/dateLookup/DateLookup.mjs.map +1 -1
  101. package/build/dateLookup/dateHeader/DateHeader.js +26 -5
  102. package/build/dateLookup/dateHeader/DateHeader.js.map +1 -1
  103. package/build/dateLookup/dateHeader/DateHeader.mjs +26 -5
  104. package/build/dateLookup/dateHeader/DateHeader.mjs.map +1 -1
  105. package/build/dateLookup/dateTrigger/DateTrigger.js +19 -3
  106. package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
  107. package/build/dateLookup/dateTrigger/DateTrigger.mjs +19 -3
  108. package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
  109. package/build/decision/Decision.js +24 -3
  110. package/build/decision/Decision.js.map +1 -1
  111. package/build/decision/Decision.mjs +24 -3
  112. package/build/decision/Decision.mjs.map +1 -1
  113. package/build/definitionList/DefinitionList.js +23 -1
  114. package/build/definitionList/DefinitionList.js.map +1 -1
  115. package/build/definitionList/DefinitionList.mjs +23 -1
  116. package/build/definitionList/DefinitionList.mjs.map +1 -1
  117. package/build/dimmer/Dimmer.js +24 -2
  118. package/build/dimmer/Dimmer.js.map +1 -1
  119. package/build/dimmer/Dimmer.mjs +24 -2
  120. package/build/dimmer/Dimmer.mjs.map +1 -1
  121. package/build/display/Display.js +23 -1
  122. package/build/display/Display.js.map +1 -1
  123. package/build/display/Display.mjs +23 -1
  124. package/build/display/Display.mjs.map +1 -1
  125. package/build/drawer/Drawer.js +23 -4
  126. package/build/drawer/Drawer.js.map +1 -1
  127. package/build/drawer/Drawer.mjs +23 -4
  128. package/build/drawer/Drawer.mjs.map +1 -1
  129. package/build/field/Field.js +23 -2
  130. package/build/field/Field.js.map +1 -1
  131. package/build/field/Field.mjs +23 -2
  132. package/build/field/Field.mjs.map +1 -1
  133. package/build/flowNavigation/FlowNavigation.js +19 -2
  134. package/build/flowNavigation/FlowNavigation.js.map +1 -1
  135. package/build/flowNavigation/FlowNavigation.mjs +19 -2
  136. package/build/flowNavigation/FlowNavigation.mjs.map +1 -1
  137. package/build/header/Header.js +24 -2
  138. package/build/header/Header.js.map +1 -1
  139. package/build/header/Header.mjs +24 -2
  140. package/build/header/Header.mjs.map +1 -1
  141. package/build/image/Image.js +4 -1
  142. package/build/image/Image.js.map +1 -1
  143. package/build/image/Image.mjs +4 -1
  144. package/build/image/Image.mjs.map +1 -1
  145. package/build/index.js +69 -62
  146. package/build/index.js.map +1 -1
  147. package/build/index.mjs +27 -20
  148. package/build/index.mjs.map +1 -1
  149. package/build/info/Info.js +21 -3
  150. package/build/info/Info.js.map +1 -1
  151. package/build/info/Info.mjs +21 -3
  152. package/build/info/Info.mjs.map +1 -1
  153. package/build/inlineAlert/InlineAlert.js +24 -3
  154. package/build/inlineAlert/InlineAlert.js.map +1 -1
  155. package/build/inlineAlert/InlineAlert.mjs +24 -3
  156. package/build/inlineAlert/InlineAlert.mjs.map +1 -1
  157. package/build/inputs/SearchInput.js +23 -2
  158. package/build/inputs/SearchInput.js.map +1 -1
  159. package/build/inputs/SearchInput.mjs +23 -2
  160. package/build/inputs/SearchInput.mjs.map +1 -1
  161. package/build/instructionsList/InstructionsList.js +22 -1
  162. package/build/instructionsList/InstructionsList.js.map +1 -1
  163. package/build/instructionsList/InstructionsList.mjs +22 -1
  164. package/build/instructionsList/InstructionsList.mjs.map +1 -1
  165. package/build/loader/Loader.js +22 -1
  166. package/build/loader/Loader.js.map +1 -1
  167. package/build/loader/Loader.mjs +22 -1
  168. package/build/loader/Loader.mjs.map +1 -1
  169. package/build/markdown/Markdown.js +24 -1
  170. package/build/markdown/Markdown.js.map +1 -1
  171. package/build/markdown/Markdown.mjs +24 -1
  172. package/build/markdown/Markdown.mjs.map +1 -1
  173. package/build/modal/Modal.js +22 -5
  174. package/build/modal/Modal.js.map +1 -1
  175. package/build/modal/Modal.mjs +22 -5
  176. package/build/modal/Modal.mjs.map +1 -1
  177. package/build/moneyInput/MoneyInput.js +22 -3
  178. package/build/moneyInput/MoneyInput.js.map +1 -1
  179. package/build/moneyInput/MoneyInput.mjs +22 -3
  180. package/build/moneyInput/MoneyInput.mjs.map +1 -1
  181. package/build/navigationOption/NavigationOption.js +23 -2
  182. package/build/navigationOption/NavigationOption.js.map +1 -1
  183. package/build/navigationOption/NavigationOption.mjs +23 -2
  184. package/build/navigationOption/NavigationOption.mjs.map +1 -1
  185. package/build/nudge/Nudge.js +19 -1
  186. package/build/nudge/Nudge.js.map +1 -1
  187. package/build/nudge/Nudge.mjs +19 -1
  188. package/build/nudge/Nudge.mjs.map +1 -1
  189. package/build/overlayHeader/OverlayHeader.js +19 -1
  190. package/build/overlayHeader/OverlayHeader.js.map +1 -1
  191. package/build/overlayHeader/OverlayHeader.mjs +19 -1
  192. package/build/overlayHeader/OverlayHeader.mjs.map +1 -1
  193. package/build/phoneNumberInput/PhoneNumberInput.js +23 -2
  194. package/build/phoneNumberInput/PhoneNumberInput.js.map +1 -1
  195. package/build/phoneNumberInput/PhoneNumberInput.mjs +23 -2
  196. package/build/phoneNumberInput/PhoneNumberInput.mjs.map +1 -1
  197. package/build/popover/Popover.js +24 -4
  198. package/build/popover/Popover.js.map +1 -1
  199. package/build/popover/Popover.mjs +24 -4
  200. package/build/popover/Popover.mjs.map +1 -1
  201. package/build/processIndicator/ProcessIndicator.js +22 -1
  202. package/build/processIndicator/ProcessIndicator.js.map +1 -1
  203. package/build/processIndicator/ProcessIndicator.mjs +22 -1
  204. package/build/processIndicator/ProcessIndicator.mjs.map +1 -1
  205. package/build/progressBar/ProgressBar.js +24 -2
  206. package/build/progressBar/ProgressBar.js.map +1 -1
  207. package/build/progressBar/ProgressBar.mjs +24 -2
  208. package/build/progressBar/ProgressBar.mjs.map +1 -1
  209. package/build/promoCard/PromoCard.js +22 -2
  210. package/build/promoCard/PromoCard.js.map +1 -1
  211. package/build/promoCard/PromoCard.mjs +22 -2
  212. package/build/promoCard/PromoCard.mjs.map +1 -1
  213. package/build/promoCard/PromoCardIndicator.js +22 -1
  214. package/build/promoCard/PromoCardIndicator.js.map +1 -1
  215. package/build/promoCard/PromoCardIndicator.mjs +22 -1
  216. package/build/promoCard/PromoCardIndicator.mjs.map +1 -1
  217. package/build/provider/Provider.js +25 -2
  218. package/build/provider/Provider.js.map +1 -1
  219. package/build/provider/Provider.mjs +25 -2
  220. package/build/provider/Provider.mjs.map +1 -1
  221. package/build/radio/Radio.js +24 -2
  222. package/build/radio/Radio.js.map +1 -1
  223. package/build/radio/Radio.mjs +24 -2
  224. package/build/radio/Radio.mjs.map +1 -1
  225. package/build/segmentedControl/SegmentedControl.js +22 -1
  226. package/build/segmentedControl/SegmentedControl.js.map +1 -1
  227. package/build/segmentedControl/SegmentedControl.mjs +22 -1
  228. package/build/segmentedControl/SegmentedControl.mjs.map +1 -1
  229. package/build/select/Select.js +26 -4
  230. package/build/select/Select.js.map +1 -1
  231. package/build/select/Select.mjs +26 -4
  232. package/build/select/Select.mjs.map +1 -1
  233. package/build/select/option/Option.js +22 -1
  234. package/build/select/option/Option.js.map +1 -1
  235. package/build/select/option/Option.mjs +22 -1
  236. package/build/select/option/Option.mjs.map +1 -1
  237. package/build/selectOption/SelectOption.js +24 -6
  238. package/build/selectOption/SelectOption.js.map +1 -1
  239. package/build/selectOption/SelectOption.mjs +24 -6
  240. package/build/selectOption/SelectOption.mjs.map +1 -1
  241. package/build/statusIcon/StatusIcon.js +22 -4
  242. package/build/statusIcon/StatusIcon.js.map +1 -1
  243. package/build/statusIcon/StatusIcon.mjs +22 -4
  244. package/build/statusIcon/StatusIcon.mjs.map +1 -1
  245. package/build/stepper/Stepper.js +25 -3
  246. package/build/stepper/Stepper.js.map +1 -1
  247. package/build/stepper/Stepper.mjs +25 -3
  248. package/build/stepper/Stepper.mjs.map +1 -1
  249. package/build/stepper/deviceDetection.js +2 -3
  250. package/build/stepper/deviceDetection.js.map +1 -1
  251. package/build/stepper/deviceDetection.mjs +2 -3
  252. package/build/stepper/deviceDetection.mjs.map +1 -1
  253. package/build/sticky/Sticky.js +25 -2
  254. package/build/sticky/Sticky.js.map +1 -1
  255. package/build/sticky/Sticky.mjs +25 -2
  256. package/build/sticky/Sticky.mjs.map +1 -1
  257. package/build/summary/Summary.js +21 -5
  258. package/build/summary/Summary.js.map +1 -1
  259. package/build/summary/Summary.mjs +21 -5
  260. package/build/summary/Summary.mjs.map +1 -1
  261. package/build/tabs/Tabs.js +23 -3
  262. package/build/tabs/Tabs.js.map +1 -1
  263. package/build/tabs/Tabs.mjs +23 -3
  264. package/build/tabs/Tabs.mjs.map +1 -1
  265. package/build/tile/Tile.js +24 -2
  266. package/build/tile/Tile.js.map +1 -1
  267. package/build/tile/Tile.mjs +24 -2
  268. package/build/tile/Tile.mjs.map +1 -1
  269. package/build/title/Title.js +23 -1
  270. package/build/title/Title.js.map +1 -1
  271. package/build/title/Title.mjs +23 -1
  272. package/build/title/Title.mjs.map +1 -1
  273. package/build/tooltip/Tooltip.js +22 -1
  274. package/build/tooltip/Tooltip.js.map +1 -1
  275. package/build/tooltip/Tooltip.mjs +22 -1
  276. package/build/tooltip/Tooltip.mjs.map +1 -1
  277. package/build/typeahead/Typeahead.js +22 -4
  278. package/build/typeahead/Typeahead.js.map +1 -1
  279. package/build/typeahead/Typeahead.mjs +22 -4
  280. package/build/typeahead/Typeahead.mjs.map +1 -1
  281. package/build/types/button/Button.d.ts.map +1 -1
  282. package/build/types/button/Button.messages.d.ts +7 -7
  283. package/build/types/button/Button.messages.d.ts.map +1 -1
  284. package/build/types/button/classMap.d.ts +10 -10
  285. package/build/types/button/classMap.d.ts.map +1 -1
  286. package/build/types/button/legacyUtils/index.d.ts +1 -1
  287. package/build/types/button/legacyUtils/index.d.ts.map +1 -1
  288. package/build/types/button/legacyUtils/legacyUtils.d.ts +20 -6
  289. package/build/types/button/legacyUtils/legacyUtils.d.ts.map +1 -1
  290. package/build/types/checkboxButton/index.d.ts +1 -1
  291. package/build/types/checkboxButton/index.d.ts.map +1 -1
  292. package/build/types/common/fakeEvents.d.ts +23 -0
  293. package/build/types/common/fakeEvents.d.ts.map +1 -0
  294. package/build/types/common/hooks/index.d.ts +4 -4
  295. package/build/types/common/hooks/index.d.ts.map +1 -1
  296. package/build/types/common/hooks/useConditionalListener/index.d.ts +1 -1
  297. package/build/types/common/hooks/useConditionalListener/index.d.ts.map +1 -1
  298. package/build/types/common/hooks/useDirection/index.d.ts +1 -1
  299. package/build/types/common/hooks/useDirection/index.d.ts.map +1 -1
  300. package/build/types/common/hooks/useHasIntersected/index.d.ts +1 -1
  301. package/build/types/common/hooks/useHasIntersected/index.d.ts.map +1 -1
  302. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts +15 -4
  303. package/build/types/common/hooks/useHasIntersected/useHasIntersected.d.ts.map +1 -1
  304. package/build/types/common/index.d.ts +28 -28
  305. package/build/types/common/index.d.ts.map +1 -1
  306. package/build/types/common/responsivePanel/index.d.ts +1 -1
  307. package/build/types/common/responsivePanel/index.d.ts.map +1 -1
  308. package/build/types/index.d.ts +1 -0
  309. package/build/types/index.d.ts.map +1 -1
  310. package/build/types/navigationOption/NavigationOption.d.ts +1 -0
  311. package/build/types/navigationOption/NavigationOption.d.ts.map +1 -1
  312. package/build/types/stepper/deviceDetection.d.ts +1 -1
  313. package/build/types/stepper/deviceDetection.d.ts.map +1 -1
  314. package/build/types/test-utils/style-mock.d.ts +1 -0
  315. package/build/types/test-utils/style-mock.d.ts.map +1 -0
  316. package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts +8 -6
  317. package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts.map +1 -1
  318. package/build/types/utilities/deprecatedProperty/index.d.ts +1 -1
  319. package/build/types/utilities/deprecatedProperty/index.d.ts.map +1 -1
  320. package/build/types/utilities/index.d.ts +2 -2
  321. package/build/types/utilities/index.d.ts.map +1 -1
  322. package/build/types/utilities/logActionRequired.d.ts +2 -2
  323. package/build/types/utilities/logActionRequired.d.ts.map +1 -1
  324. package/build/upload/Upload.js +21 -2
  325. package/build/upload/Upload.js.map +1 -1
  326. package/build/upload/Upload.mjs +21 -2
  327. package/build/upload/Upload.mjs.map +1 -1
  328. package/build/upload/steps/processingStep/processingStep.js +25 -3
  329. package/build/upload/steps/processingStep/processingStep.js.map +1 -1
  330. package/build/upload/steps/processingStep/processingStep.mjs +25 -3
  331. package/build/upload/steps/processingStep/processingStep.mjs.map +1 -1
  332. package/build/upload/steps/uploadImageStep/uploadImageStep.js +23 -3
  333. package/build/upload/steps/uploadImageStep/uploadImageStep.js.map +1 -1
  334. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs +23 -3
  335. package/build/upload/steps/uploadImageStep/uploadImageStep.mjs.map +1 -1
  336. package/build/uploadInput/UploadInput.js +22 -3
  337. package/build/uploadInput/UploadInput.js.map +1 -1
  338. package/build/uploadInput/UploadInput.mjs +22 -3
  339. package/build/uploadInput/UploadInput.mjs.map +1 -1
  340. package/build/uploadInput/uploadButton/UploadButton.js +21 -2
  341. package/build/uploadInput/uploadButton/UploadButton.js.map +1 -1
  342. package/build/uploadInput/uploadButton/UploadButton.mjs +21 -2
  343. package/build/uploadInput/uploadButton/UploadButton.mjs.map +1 -1
  344. package/build/uploadInput/uploadButton/defaults.js +24 -0
  345. package/build/uploadInput/uploadButton/defaults.js.map +1 -1
  346. package/build/uploadInput/uploadButton/defaults.mjs +24 -0
  347. package/build/uploadInput/uploadButton/defaults.mjs.map +1 -1
  348. package/build/uploadInput/uploadItem/UploadItem.js +21 -4
  349. package/build/uploadInput/uploadItem/UploadItem.js.map +1 -1
  350. package/build/uploadInput/uploadItem/UploadItem.mjs +21 -4
  351. package/build/uploadInput/uploadItem/UploadItem.mjs.map +1 -1
  352. package/build/utilities/logActionRequired.js.map +1 -1
  353. package/build/utilities/logActionRequired.mjs.map +1 -1
  354. package/build/withDisplayFormat/WithDisplayFormat.js +25 -1
  355. package/build/withDisplayFormat/WithDisplayFormat.js.map +1 -1
  356. package/build/withDisplayFormat/WithDisplayFormat.mjs +25 -1
  357. package/build/withDisplayFormat/WithDisplayFormat.mjs.map +1 -1
  358. package/package.json +2 -2
  359. package/src/button/Button.tsx +0 -3
  360. package/src/button/legacyUtils/legacyUtils.ts +74 -0
  361. package/src/common/{fakeEvents.js → fakeEvents.ts} +1 -1
  362. package/src/common/hooks/useHasIntersected/{useHasIntersected.js → useHasIntersected.ts} +20 -11
  363. package/src/flowNavigation/{FlowNavigation.story.js → FlowNavigation.story.tsx} +34 -16
  364. package/src/index.ts +1 -0
  365. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.tsx +78 -0
  366. package/src/navigationOption/{NavigationOption.story.js → NavigationOption.story.tsx} +23 -5
  367. package/src/navigationOption/NavigationOption.tsx +1 -1
  368. package/src/select/{Select.story.js → Select.story.tsx} +97 -47
  369. package/src/stepper/{deviceDetection.js → deviceDetection.ts} +2 -6
  370. package/src/utilities/deprecatedProperty/{deprecatedProperty.spec.js → deprecatedProperty.spec.ts} +7 -13
  371. package/src/utilities/deprecatedProperty/{deprecatedProperty.js → deprecatedProperty.ts} +23 -4
  372. package/src/utilities/{logActionRequired.js → logActionRequired.ts} +2 -2
  373. package/src/button/legacyUtils/legacyUtils.js +0 -54
  374. package/src/common/requirements.js +0 -440
  375. package/src/inputWithDisplayFormat/InputWithDisplayFormat.story.js +0 -85
  376. /package/src/button/{Button.messages.js → Button.messages.ts} +0 -0
  377. /package/src/button/{classMap.js → classMap.ts} +0 -0
  378. /package/src/button/legacyUtils/{index.js → index.ts} +0 -0
  379. /package/src/checkboxButton/{index.js → index.ts} +0 -0
  380. /package/src/common/hooks/{index.js → index.ts} +0 -0
  381. /package/src/common/hooks/useConditionalListener/{index.js → index.ts} +0 -0
  382. /package/src/common/hooks/useDirection/{index.js → index.ts} +0 -0
  383. /package/src/common/hooks/useHasIntersected/{index.js → index.ts} +0 -0
  384. /package/src/common/{index.js → index.ts} +0 -0
  385. /package/src/common/responsivePanel/{index.js → index.ts} +0 -0
  386. /package/src/test-utils/{style-mock.js → style-mock.ts} +0 -0
  387. /package/src/utilities/deprecatedProperty/{index.js → index.ts} +0 -0
  388. /package/src/utilities/{index.js → index.ts} +0 -0
@@ -1,9 +1,30 @@
1
1
  import { Search } from '@transferwise/icons';
2
2
  import { forwardRef } from 'react';
3
+ import '../common/theme.mjs';
4
+ import '../common/direction.mjs';
5
+ import '../common/propsValues/control.mjs';
6
+ import '../common/propsValues/breakpoint.mjs';
7
+ import { Size } from '../common/propsValues/size.mjs';
8
+ import '../common/propsValues/typography.mjs';
9
+ import '../common/propsValues/width.mjs';
10
+ import '../common/propsValues/type.mjs';
11
+ import '../common/propsValues/dateMode.mjs';
12
+ import '../common/propsValues/monthFormat.mjs';
13
+ import '../common/propsValues/position.mjs';
14
+ import '../common/propsValues/layouts.mjs';
15
+ import '../common/propsValues/status.mjs';
16
+ import '../common/propsValues/sentiment.mjs';
17
+ import '../common/propsValues/profileType.mjs';
18
+ import '../common/propsValues/variant.mjs';
19
+ import '../common/propsValues/scroll.mjs';
20
+ import '../common/propsValues/markdownNodeType.mjs';
21
+ import '../common/fileType.mjs';
22
+ import 'clsx';
23
+ import 'react-intl';
24
+ import '../common/closeButton/CloseButton.messages.mjs';
25
+ import { jsx } from 'react/jsx-runtime';
3
26
  import { Input } from './Input.mjs';
4
27
  import { InputGroup } from './InputGroup.mjs';
5
- import { jsx } from 'react/jsx-runtime';
6
- import { Size } from '../common/propsValues/size.mjs';
7
28
 
8
29
  const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
9
30
  shape = 'pill',
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.mjs","sources":["../../src/inputs/SearchInput.tsx"],"sourcesContent":["import { Search } from '@transferwise/icons';\nimport { forwardRef } from 'react';\n\nimport { Size } from '../common';\nimport { Merge } from '../utils';\n\nimport { Input } from './Input';\nimport { InputGroup } from './InputGroup';\n\nexport interface SearchInputProps\n extends Merge<\n React.ComponentPropsWithRef<'input'>,\n {\n size?: Size.SMALL | Size.MEDIUM;\n shape?: 'rectangle' | 'pill';\n 'aria-invalid'?: boolean;\n }\n > {}\n\nexport const SearchInput = forwardRef(function SearchInput(\n { shape = 'pill', size = Size.MEDIUM, disabled, className, ...restProps }: SearchInputProps,\n ref: React.ForwardedRef<HTMLInputElement | null>,\n) {\n return (\n <InputGroup\n addonStart={{\n content: <Search size={size === Size.SMALL ? 16 : 24} />,\n initialContentWidth: size === Size.SMALL ? 16 : 24,\n }}\n disabled={disabled}\n className={className}\n >\n <Input\n ref={ref}\n role=\"searchbox\"\n inputMode=\"search\"\n shape={shape}\n size={size}\n {...restProps}\n />\n </InputGroup>\n );\n});\n"],"names":["SearchInput","forwardRef","shape","size","Size","MEDIUM","disabled","className","restProps","ref","_jsx","InputGroup","addonStart","content","Search","SMALL","initialContentWidth","children","Input","role","inputMode"],"mappings":";;;;;;;MAmBaA,WAAW,gBAAGC,UAAU,CAAC,SAASD,WAAWA,CACxD;AAAEE,EAAAA,KAAK,GAAG,MAAM;EAAEC,IAAI,GAAGC,IAAI,CAACC,MAAM;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC,SAAAA;AAA6B,CAAA,EAC3FC,GAAgD,EAAA;EAEhD,oBACEC,GAAA,CAACC,UAAU,EAAA;AACTC,IAAAA,UAAU,EAAE;MACVC,OAAO,eAAEH,GAAA,CAACI,MAAM,EAAA;QAACX,IAAI,EAAEA,IAAI,KAAKC,IAAI,CAACW,KAAK,GAAG,EAAE,GAAG,EAAA;AAAG,OAAG,CAAA;MACxDC,mBAAmB,EAAEb,IAAI,KAAKC,IAAI,CAACW,KAAK,GAAG,EAAE,GAAG,EAAA;KAChD;AACFT,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;IAAAU,QAAA,eAErBP,GAAA,CAACQ,KAAK,EAAA;AACJT,MAAAA,GAAG,EAAEA,GAAI;AACTU,MAAAA,IAAI,EAAC,WAAW;AAChBC,MAAAA,SAAS,EAAC,QAAQ;AAClBlB,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,IAAI,EAAEA,IAAK;MAAA,GACPK,SAAAA;KAER,CAAA;AAAA,GAAY,CAAC,CAAA;AAEjB,CAAC;;;;"}
1
+ {"version":3,"file":"SearchInput.mjs","sources":["../../src/inputs/SearchInput.tsx"],"sourcesContent":["import { Search } from '@transferwise/icons';\nimport { forwardRef } from 'react';\n\nimport { Size } from '../common';\nimport { Merge } from '../utils';\n\nimport { Input } from './Input';\nimport { InputGroup } from './InputGroup';\n\nexport interface SearchInputProps\n extends Merge<\n React.ComponentPropsWithRef<'input'>,\n {\n size?: Size.SMALL | Size.MEDIUM;\n shape?: 'rectangle' | 'pill';\n 'aria-invalid'?: boolean;\n }\n > {}\n\nexport const SearchInput = forwardRef(function SearchInput(\n { shape = 'pill', size = Size.MEDIUM, disabled, className, ...restProps }: SearchInputProps,\n ref: React.ForwardedRef<HTMLInputElement | null>,\n) {\n return (\n <InputGroup\n addonStart={{\n content: <Search size={size === Size.SMALL ? 16 : 24} />,\n initialContentWidth: size === Size.SMALL ? 16 : 24,\n }}\n disabled={disabled}\n className={className}\n >\n <Input\n ref={ref}\n role=\"searchbox\"\n inputMode=\"search\"\n shape={shape}\n size={size}\n {...restProps}\n />\n </InputGroup>\n );\n});\n"],"names":["SearchInput","forwardRef","shape","size","Size","MEDIUM","disabled","className","restProps","ref","_jsx","InputGroup","addonStart","content","Search","SMALL","initialContentWidth","children","Input","role","inputMode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmBaA,WAAW,gBAAGC,UAAU,CAAC,SAASD,WAAWA,CACxD;AAAEE,EAAAA,KAAK,GAAG,MAAM;EAAEC,IAAI,GAAGC,IAAI,CAACC,MAAM;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC,SAAAA;AAA6B,CAAA,EAC3FC,GAAgD,EAAA;EAEhD,oBACEC,GAAA,CAACC,UAAU,EAAA;AACTC,IAAAA,UAAU,EAAE;MACVC,OAAO,eAAEH,GAAA,CAACI,MAAM,EAAA;QAACX,IAAI,EAAEA,IAAI,KAAKC,IAAI,CAACW,KAAK,GAAG,EAAE,GAAG,EAAA;AAAG,OAAG,CAAA;MACxDC,mBAAmB,EAAEb,IAAI,KAAKC,IAAI,CAACW,KAAK,GAAG,EAAE,GAAG,EAAA;KAChD;AACFT,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;IAAAU,QAAA,eAErBP,GAAA,CAACQ,KAAK,EAAA;AACJT,MAAAA,GAAG,EAAEA,GAAI;AACTU,MAAAA,IAAI,EAAC,WAAW;AAChBC,MAAAA,SAAS,EAAC,QAAQ;AAClBlB,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,IAAI,EAAEA,IAAK;MAAA,GACPK,SAAAA;KAER,CAAA;AAAA,GAAY,CAAC,CAAA;AAEjB,CAAC;;;;"}
@@ -3,8 +3,29 @@
3
3
  var icons = require('@transferwise/icons');
4
4
  var clsx = require('clsx');
5
5
  var Body = require('../body/Body.js');
6
- var jsxRuntime = require('react/jsx-runtime');
6
+ require('../common/theme.js');
7
+ require('../common/direction.js');
8
+ require('../common/propsValues/control.js');
9
+ require('../common/propsValues/breakpoint.js');
10
+ require('../common/propsValues/size.js');
7
11
  var typography = require('../common/propsValues/typography.js');
12
+ require('../common/propsValues/width.js');
13
+ require('../common/propsValues/type.js');
14
+ require('../common/propsValues/dateMode.js');
15
+ require('../common/propsValues/monthFormat.js');
16
+ require('../common/propsValues/position.js');
17
+ require('../common/propsValues/layouts.js');
18
+ require('../common/propsValues/status.js');
19
+ require('../common/propsValues/sentiment.js');
20
+ require('../common/propsValues/profileType.js');
21
+ require('../common/propsValues/variant.js');
22
+ require('../common/propsValues/scroll.js');
23
+ require('../common/propsValues/markdownNodeType.js');
24
+ require('../common/fileType.js');
25
+ require('react');
26
+ require('react-intl');
27
+ require('../common/closeButton/CloseButton.messages.js');
28
+ var jsxRuntime = require('react/jsx-runtime');
8
29
 
9
30
  const InstructionsList = ({
10
31
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionsList.js","sources":["../../src/instructionsList/InstructionsList.tsx"],"sourcesContent":["import { CrossCircleFill as DontIcon, CheckCircleFill as DoIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { ReactNode } from 'react';\n\nimport Body from '../body/Body';\nimport { Typography, CommonProps } from '../common';\n\ntype InstructionNode = {\n content: ReactNode;\n ['aria-label']: string;\n};\n\nexport type InstructionsListProps = CommonProps &\n (\n | {\n dos?: readonly ReactNode[];\n donts?: readonly ReactNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n | {\n dos?: readonly InstructionNode[];\n donts?: readonly InstructionNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n );\n\nconst InstructionsList = ({ className, dos, donts, sort = 'dosFirst' }: InstructionsListProps) => {\n const dosInstructions =\n dos?.map((doThis, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={doThis} type=\"do\" />\n )) ?? null;\n\n const dontsInstructions =\n donts?.map((dont, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={dont} type=\"dont\" />\n )) ?? null;\n\n const orderedInstructions =\n sort === 'dosFirst' ? (\n <>\n {dosInstructions}\n {dontsInstructions}\n </>\n ) : (\n <>\n {dontsInstructions}\n {dosInstructions}\n </>\n );\n\n return <ul className={clsx('tw-instructions', className)}>{orderedInstructions}</ul>;\n};\n\nfunction Instruction({ item, type }: { item: ReactNode | InstructionNode; type: 'do' | 'dont' }) {\n const isInstructionNode =\n typeof item === 'object' && item !== null && 'content' in item && 'aria-label' in item;\n return (\n <li className=\"instruction\">\n {type === 'do' ? (\n <DoIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n ) : (\n <DontIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n )}\n <Body className=\"text-primary\" type={Typography.BODY_LARGE}>\n {isInstructionNode ? item.content : item}\n </Body>\n </li>\n );\n}\n\nexport default InstructionsList;\n"],"names":["InstructionsList","className","dos","donts","sort","dosInstructions","map","doThis","index","_jsx","Instruction","item","type","dontsInstructions","dont","orderedInstructions","_jsxs","_Fragment","children","clsx","isInstructionNode","DoIcon","size","title","undefined","DontIcon","Body","Typography","BODY_LARGE","content"],"mappings":";;;;;;;;AA0BMA,MAAAA,gBAAgB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,GAAG;EAAEC,KAAK;AAAEC,EAAAA,IAAI,GAAG,UAAA;AAAU,CAAyB,KAAI;EAC/F,MAAMC,eAAe,GACnBH,GAAG,EAAEI,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK;AAAA;AACrB;AACAC,EAAAA,cAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEJ,MAAO;AAACK,IAAAA,IAAI,EAAC,IAAA;AAAI,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMK,iBAAiB,GACrBV,KAAK,EAAEG,GAAG,CAAC,CAACQ,IAAI,EAAEN,KAAK;AAAA;AACrB;AACAC,EAAAA,cAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEG,IAAK;AAACF,IAAAA,IAAI,EAAC,MAAA;AAAM,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMO,mBAAmB,GACvBX,IAAI,KAAK,UAAU,gBACjBY,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGb,eAAe,EACfQ,iBAAiB,CAAA;AAAA,GACpB,CAAG,gBAEHG,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGL,iBAAiB,EACjBR,eAAe,CAAA;AAAA,GAClB,CACD,CAAA;AAEH,EAAA,oBAAOI,cAAA,CAAA,IAAA,EAAA;AAAIR,IAAAA,SAAS,EAAEkB,SAAI,CAAC,iBAAiB,EAAElB,SAAS,CAAE;AAAAiB,IAAAA,QAAA,EAAEH,mBAAAA;AAAmB,GAAK,CAAC,CAAA;AACtF,EAAC;AAED,SAASL,WAAWA,CAAC;EAAEC,IAAI;AAAEC,EAAAA,IAAAA;AAAkE,CAAA,EAAA;AAC7F,EAAA,MAAMQ,iBAAiB,GACrB,OAAOT,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,SAAS,IAAIA,IAAI,IAAI,YAAY,IAAIA,IAAI,CAAA;AACxF,EAAA,oBACEK,eAAA,CAAA,IAAA,EAAA;AAAIf,IAAAA,SAAS,EAAC,aAAa;AAAAiB,IAAAA,QAAA,GACxBN,IAAI,KAAK,IAAI,gBACZH,cAAA,CAACY,qBAAM,EAAA;AACLC,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAC1D,CAAA,gBAEFf,cAAA,CAACgB,qBAAQ,EAAA;AACPH,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAAA,CAE7D,eACDf,cAAA,CAACiB,IAAI,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;MAACW,IAAI,EAAEe,qBAAU,CAACC,UAAW;AAAAV,MAAAA,QAAA,EACxDE,iBAAiB,GAAGT,IAAI,CAACkB,OAAO,GAAGlB,IAAAA;AAAI,KACpC,CACR,CAAA;AAAA,GAAI,CAAC,CAAA;AAET;;;;"}
1
+ {"version":3,"file":"InstructionsList.js","sources":["../../src/instructionsList/InstructionsList.tsx"],"sourcesContent":["import { CrossCircleFill as DontIcon, CheckCircleFill as DoIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { ReactNode } from 'react';\n\nimport Body from '../body/Body';\nimport { Typography, CommonProps } from '../common';\n\ntype InstructionNode = {\n content: ReactNode;\n ['aria-label']: string;\n};\n\nexport type InstructionsListProps = CommonProps &\n (\n | {\n dos?: readonly ReactNode[];\n donts?: readonly ReactNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n | {\n dos?: readonly InstructionNode[];\n donts?: readonly InstructionNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n );\n\nconst InstructionsList = ({ className, dos, donts, sort = 'dosFirst' }: InstructionsListProps) => {\n const dosInstructions =\n dos?.map((doThis, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={doThis} type=\"do\" />\n )) ?? null;\n\n const dontsInstructions =\n donts?.map((dont, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={dont} type=\"dont\" />\n )) ?? null;\n\n const orderedInstructions =\n sort === 'dosFirst' ? (\n <>\n {dosInstructions}\n {dontsInstructions}\n </>\n ) : (\n <>\n {dontsInstructions}\n {dosInstructions}\n </>\n );\n\n return <ul className={clsx('tw-instructions', className)}>{orderedInstructions}</ul>;\n};\n\nfunction Instruction({ item, type }: { item: ReactNode | InstructionNode; type: 'do' | 'dont' }) {\n const isInstructionNode =\n typeof item === 'object' && item !== null && 'content' in item && 'aria-label' in item;\n return (\n <li className=\"instruction\">\n {type === 'do' ? (\n <DoIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n ) : (\n <DontIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n )}\n <Body className=\"text-primary\" type={Typography.BODY_LARGE}>\n {isInstructionNode ? item.content : item}\n </Body>\n </li>\n );\n}\n\nexport default InstructionsList;\n"],"names":["InstructionsList","className","dos","donts","sort","dosInstructions","map","doThis","index","_jsx","Instruction","item","type","dontsInstructions","dont","orderedInstructions","_jsxs","_Fragment","children","clsx","isInstructionNode","DoIcon","size","title","undefined","DontIcon","Body","Typography","BODY_LARGE","content"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BMA,MAAAA,gBAAgB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,GAAG;EAAEC,KAAK;AAAEC,EAAAA,IAAI,GAAG,UAAA;AAAU,CAAyB,KAAI;EAC/F,MAAMC,eAAe,GACnBH,GAAG,EAAEI,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK;AAAA;AACrB;AACAC,EAAAA,cAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEJ,MAAO;AAACK,IAAAA,IAAI,EAAC,IAAA;AAAI,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMK,iBAAiB,GACrBV,KAAK,EAAEG,GAAG,CAAC,CAACQ,IAAI,EAAEN,KAAK;AAAA;AACrB;AACAC,EAAAA,cAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEG,IAAK;AAACF,IAAAA,IAAI,EAAC,MAAA;AAAM,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMO,mBAAmB,GACvBX,IAAI,KAAK,UAAU,gBACjBY,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGb,eAAe,EACfQ,iBAAiB,CAAA;AAAA,GACpB,CAAG,gBAEHG,eAAA,CAAAC,mBAAA,EAAA;IAAAC,QAAA,EAAA,CACGL,iBAAiB,EACjBR,eAAe,CAAA;AAAA,GAClB,CACD,CAAA;AAEH,EAAA,oBAAOI,cAAA,CAAA,IAAA,EAAA;AAAIR,IAAAA,SAAS,EAAEkB,SAAI,CAAC,iBAAiB,EAAElB,SAAS,CAAE;AAAAiB,IAAAA,QAAA,EAAEH,mBAAAA;AAAmB,GAAK,CAAC,CAAA;AACtF,EAAC;AAED,SAASL,WAAWA,CAAC;EAAEC,IAAI;AAAEC,EAAAA,IAAAA;AAAkE,CAAA,EAAA;AAC7F,EAAA,MAAMQ,iBAAiB,GACrB,OAAOT,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,SAAS,IAAIA,IAAI,IAAI,YAAY,IAAIA,IAAI,CAAA;AACxF,EAAA,oBACEK,eAAA,CAAA,IAAA,EAAA;AAAIf,IAAAA,SAAS,EAAC,aAAa;AAAAiB,IAAAA,QAAA,GACxBN,IAAI,KAAK,IAAI,gBACZH,cAAA,CAACY,qBAAM,EAAA;AACLC,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAC1D,CAAA,gBAEFf,cAAA,CAACgB,qBAAQ,EAAA;AACPH,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAAA,CAE7D,eACDf,cAAA,CAACiB,IAAI,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;MAACW,IAAI,EAAEe,qBAAU,CAACC,UAAW;AAAAV,MAAAA,QAAA,EACxDE,iBAAiB,GAAGT,IAAI,CAACkB,OAAO,GAAGlB,IAAAA;AAAI,KACpC,CACR,CAAA;AAAA,GAAI,CAAC,CAAA;AAET;;;;"}
@@ -1,8 +1,29 @@
1
1
  import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';
2
2
  import { clsx } from 'clsx';
3
3
  import Body from '../body/Body.mjs';
4
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+ import '../common/theme.mjs';
5
+ import '../common/direction.mjs';
6
+ import '../common/propsValues/control.mjs';
7
+ import '../common/propsValues/breakpoint.mjs';
8
+ import '../common/propsValues/size.mjs';
5
9
  import { Typography } from '../common/propsValues/typography.mjs';
10
+ import '../common/propsValues/width.mjs';
11
+ import '../common/propsValues/type.mjs';
12
+ import '../common/propsValues/dateMode.mjs';
13
+ import '../common/propsValues/monthFormat.mjs';
14
+ import '../common/propsValues/position.mjs';
15
+ import '../common/propsValues/layouts.mjs';
16
+ import '../common/propsValues/status.mjs';
17
+ import '../common/propsValues/sentiment.mjs';
18
+ import '../common/propsValues/profileType.mjs';
19
+ import '../common/propsValues/variant.mjs';
20
+ import '../common/propsValues/scroll.mjs';
21
+ import '../common/propsValues/markdownNodeType.mjs';
22
+ import '../common/fileType.mjs';
23
+ import 'react';
24
+ import 'react-intl';
25
+ import '../common/closeButton/CloseButton.messages.mjs';
26
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
27
 
7
28
  const InstructionsList = ({
8
29
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionsList.mjs","sources":["../../src/instructionsList/InstructionsList.tsx"],"sourcesContent":["import { CrossCircleFill as DontIcon, CheckCircleFill as DoIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { ReactNode } from 'react';\n\nimport Body from '../body/Body';\nimport { Typography, CommonProps } from '../common';\n\ntype InstructionNode = {\n content: ReactNode;\n ['aria-label']: string;\n};\n\nexport type InstructionsListProps = CommonProps &\n (\n | {\n dos?: readonly ReactNode[];\n donts?: readonly ReactNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n | {\n dos?: readonly InstructionNode[];\n donts?: readonly InstructionNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n );\n\nconst InstructionsList = ({ className, dos, donts, sort = 'dosFirst' }: InstructionsListProps) => {\n const dosInstructions =\n dos?.map((doThis, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={doThis} type=\"do\" />\n )) ?? null;\n\n const dontsInstructions =\n donts?.map((dont, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={dont} type=\"dont\" />\n )) ?? null;\n\n const orderedInstructions =\n sort === 'dosFirst' ? (\n <>\n {dosInstructions}\n {dontsInstructions}\n </>\n ) : (\n <>\n {dontsInstructions}\n {dosInstructions}\n </>\n );\n\n return <ul className={clsx('tw-instructions', className)}>{orderedInstructions}</ul>;\n};\n\nfunction Instruction({ item, type }: { item: ReactNode | InstructionNode; type: 'do' | 'dont' }) {\n const isInstructionNode =\n typeof item === 'object' && item !== null && 'content' in item && 'aria-label' in item;\n return (\n <li className=\"instruction\">\n {type === 'do' ? (\n <DoIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n ) : (\n <DontIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n )}\n <Body className=\"text-primary\" type={Typography.BODY_LARGE}>\n {isInstructionNode ? item.content : item}\n </Body>\n </li>\n );\n}\n\nexport default InstructionsList;\n"],"names":["InstructionsList","className","dos","donts","sort","dosInstructions","map","doThis","index","_jsx","Instruction","item","type","dontsInstructions","dont","orderedInstructions","_jsxs","_Fragment","children","clsx","isInstructionNode","DoIcon","size","title","undefined","DontIcon","Body","Typography","BODY_LARGE","content"],"mappings":";;;;;;AA0BMA,MAAAA,gBAAgB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,GAAG;EAAEC,KAAK;AAAEC,EAAAA,IAAI,GAAG,UAAA;AAAU,CAAyB,KAAI;EAC/F,MAAMC,eAAe,GACnBH,GAAG,EAAEI,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK;AAAA;AACrB;AACAC,EAAAA,GAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEJ,MAAO;AAACK,IAAAA,IAAI,EAAC,IAAA;AAAI,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMK,iBAAiB,GACrBV,KAAK,EAAEG,GAAG,CAAC,CAACQ,IAAI,EAAEN,KAAK;AAAA;AACrB;AACAC,EAAAA,GAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEG,IAAK;AAACF,IAAAA,IAAI,EAAC,MAAA;AAAM,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMO,mBAAmB,GACvBX,IAAI,KAAK,UAAU,gBACjBY,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGb,eAAe,EACfQ,iBAAiB,CAAA;AAAA,GACpB,CAAG,gBAEHG,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGL,iBAAiB,EACjBR,eAAe,CAAA;AAAA,GAClB,CACD,CAAA;AAEH,EAAA,oBAAOI,GAAA,CAAA,IAAA,EAAA;AAAIR,IAAAA,SAAS,EAAEkB,IAAI,CAAC,iBAAiB,EAAElB,SAAS,CAAE;AAAAiB,IAAAA,QAAA,EAAEH,mBAAAA;AAAmB,GAAK,CAAC,CAAA;AACtF,EAAC;AAED,SAASL,WAAWA,CAAC;EAAEC,IAAI;AAAEC,EAAAA,IAAAA;AAAkE,CAAA,EAAA;AAC7F,EAAA,MAAMQ,iBAAiB,GACrB,OAAOT,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,SAAS,IAAIA,IAAI,IAAI,YAAY,IAAIA,IAAI,CAAA;AACxF,EAAA,oBACEK,IAAA,CAAA,IAAA,EAAA;AAAIf,IAAAA,SAAS,EAAC,aAAa;AAAAiB,IAAAA,QAAA,GACxBN,IAAI,KAAK,IAAI,gBACZH,GAAA,CAACY,eAAM,EAAA;AACLC,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAC1D,CAAA,gBAEFf,GAAA,CAACgB,eAAQ,EAAA;AACPH,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAAA,CAE7D,eACDf,GAAA,CAACiB,IAAI,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;MAACW,IAAI,EAAEe,UAAU,CAACC,UAAW;AAAAV,MAAAA,QAAA,EACxDE,iBAAiB,GAAGT,IAAI,CAACkB,OAAO,GAAGlB,IAAAA;AAAI,KACpC,CACR,CAAA;AAAA,GAAI,CAAC,CAAA;AAET;;;;"}
1
+ {"version":3,"file":"InstructionsList.mjs","sources":["../../src/instructionsList/InstructionsList.tsx"],"sourcesContent":["import { CrossCircleFill as DontIcon, CheckCircleFill as DoIcon } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport { ReactNode } from 'react';\n\nimport Body from '../body/Body';\nimport { Typography, CommonProps } from '../common';\n\ntype InstructionNode = {\n content: ReactNode;\n ['aria-label']: string;\n};\n\nexport type InstructionsListProps = CommonProps &\n (\n | {\n dos?: readonly ReactNode[];\n donts?: readonly ReactNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n | {\n dos?: readonly InstructionNode[];\n donts?: readonly InstructionNode[];\n sort?: 'dosFirst' | 'dontsFirst';\n }\n );\n\nconst InstructionsList = ({ className, dos, donts, sort = 'dosFirst' }: InstructionsListProps) => {\n const dosInstructions =\n dos?.map((doThis, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={doThis} type=\"do\" />\n )) ?? null;\n\n const dontsInstructions =\n donts?.map((dont, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <Instruction key={index} item={dont} type=\"dont\" />\n )) ?? null;\n\n const orderedInstructions =\n sort === 'dosFirst' ? (\n <>\n {dosInstructions}\n {dontsInstructions}\n </>\n ) : (\n <>\n {dontsInstructions}\n {dosInstructions}\n </>\n );\n\n return <ul className={clsx('tw-instructions', className)}>{orderedInstructions}</ul>;\n};\n\nfunction Instruction({ item, type }: { item: ReactNode | InstructionNode; type: 'do' | 'dont' }) {\n const isInstructionNode =\n typeof item === 'object' && item !== null && 'content' in item && 'aria-label' in item;\n return (\n <li className=\"instruction\">\n {type === 'do' ? (\n <DoIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n ) : (\n <DontIcon\n size={24}\n className={type}\n title={isInstructionNode ? item['aria-label'] : undefined}\n />\n )}\n <Body className=\"text-primary\" type={Typography.BODY_LARGE}>\n {isInstructionNode ? item.content : item}\n </Body>\n </li>\n );\n}\n\nexport default InstructionsList;\n"],"names":["InstructionsList","className","dos","donts","sort","dosInstructions","map","doThis","index","_jsx","Instruction","item","type","dontsInstructions","dont","orderedInstructions","_jsxs","_Fragment","children","clsx","isInstructionNode","DoIcon","size","title","undefined","DontIcon","Body","Typography","BODY_LARGE","content"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BMA,MAAAA,gBAAgB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,GAAG;EAAEC,KAAK;AAAEC,EAAAA,IAAI,GAAG,UAAA;AAAU,CAAyB,KAAI;EAC/F,MAAMC,eAAe,GACnBH,GAAG,EAAEI,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK;AAAA;AACrB;AACAC,EAAAA,GAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEJ,MAAO;AAACK,IAAAA,IAAI,EAAC,IAAA;AAAI,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMK,iBAAiB,GACrBV,KAAK,EAAEG,GAAG,CAAC,CAACQ,IAAI,EAAEN,KAAK;AAAA;AACrB;AACAC,EAAAA,GAAA,CAACC,WAAW,EAAA;AAAaC,IAAAA,IAAI,EAAEG,IAAK;AAACF,IAAAA,IAAI,EAAC,MAAA;AAAM,GAAA,EAA9BJ,MACnB,CAAC,IAAI,IAAI,CAAA;EAEZ,MAAMO,mBAAmB,GACvBX,IAAI,KAAK,UAAU,gBACjBY,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGb,eAAe,EACfQ,iBAAiB,CAAA;AAAA,GACpB,CAAG,gBAEHG,IAAA,CAAAC,QAAA,EAAA;IAAAC,QAAA,EAAA,CACGL,iBAAiB,EACjBR,eAAe,CAAA;AAAA,GAClB,CACD,CAAA;AAEH,EAAA,oBAAOI,GAAA,CAAA,IAAA,EAAA;AAAIR,IAAAA,SAAS,EAAEkB,IAAI,CAAC,iBAAiB,EAAElB,SAAS,CAAE;AAAAiB,IAAAA,QAAA,EAAEH,mBAAAA;AAAmB,GAAK,CAAC,CAAA;AACtF,EAAC;AAED,SAASL,WAAWA,CAAC;EAAEC,IAAI;AAAEC,EAAAA,IAAAA;AAAkE,CAAA,EAAA;AAC7F,EAAA,MAAMQ,iBAAiB,GACrB,OAAOT,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAI,SAAS,IAAIA,IAAI,IAAI,YAAY,IAAIA,IAAI,CAAA;AACxF,EAAA,oBACEK,IAAA,CAAA,IAAA,EAAA;AAAIf,IAAAA,SAAS,EAAC,aAAa;AAAAiB,IAAAA,QAAA,GACxBN,IAAI,KAAK,IAAI,gBACZH,GAAA,CAACY,eAAM,EAAA;AACLC,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAC1D,CAAA,gBAEFf,GAAA,CAACgB,eAAQ,EAAA;AACPH,MAAAA,IAAI,EAAE,EAAG;AACTrB,MAAAA,SAAS,EAAEW,IAAK;AAChBW,MAAAA,KAAK,EAAEH,iBAAiB,GAAGT,IAAI,CAAC,YAAY,CAAC,GAAGa,SAAAA;AAAU,KAAA,CAE7D,eACDf,GAAA,CAACiB,IAAI,EAAA;AAACzB,MAAAA,SAAS,EAAC,cAAc;MAACW,IAAI,EAAEe,UAAU,CAACC,UAAW;AAAAV,MAAAA,QAAA,EACxDE,iBAAiB,GAAGT,IAAI,CAACkB,OAAO,GAAGlB,IAAAA;AAAI,KACpC,CACR,CAAA;AAAA,GAAI,CAAC,CAAA;AAET;;;;"}
@@ -3,8 +3,29 @@
3
3
  var componentsTheming = require('@wise/components-theming');
4
4
  var clsx = require('clsx');
5
5
  var React = require('react');
6
- var jsxRuntime = require('react/jsx-runtime');
6
+ require('../common/theme.js');
7
+ require('../common/direction.js');
8
+ require('../common/propsValues/control.js');
9
+ require('../common/propsValues/breakpoint.js');
7
10
  var size = require('../common/propsValues/size.js');
11
+ require('../common/propsValues/typography.js');
12
+ require('../common/propsValues/width.js');
13
+ require('../common/propsValues/type.js');
14
+ require('../common/propsValues/dateMode.js');
15
+ require('../common/propsValues/monthFormat.js');
16
+ require('../common/propsValues/position.js');
17
+ require('../common/propsValues/layouts.js');
18
+ require('../common/propsValues/status.js');
19
+ require('../common/propsValues/sentiment.js');
20
+ require('../common/propsValues/profileType.js');
21
+ require('../common/propsValues/variant.js');
22
+ require('../common/propsValues/scroll.js');
23
+ require('../common/propsValues/markdownNodeType.js');
24
+ require('../common/fileType.js');
25
+ require('@transferwise/icons');
26
+ require('react-intl');
27
+ require('../common/closeButton/CloseButton.messages.js');
28
+ var jsxRuntime = require('react/jsx-runtime');
8
29
 
9
30
  const Loader = ({
10
31
  small = false,
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sources":["../../src/loader/Loader.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { Size, SizeExtraSmall, SizeSmall, SizeMedium, SizeLarge, SizeExtraLarge } from '../common';\n\n// TODO: We gracefully depracated xs, lg and xl -- remove these as part of a future breaking change to this component\ntype DeprecatedSize = SizeExtraSmall | SizeLarge | SizeExtraLarge;\n\ntype SizeType = SizeSmall | SizeMedium;\n\nexport type LoaderProps = {\n /**\n * @deprecated use `size` instead\n */\n small?: boolean;\n size?: SizeType | DeprecatedSize;\n displayInstantly?: boolean;\n // TODO: refactor in favor of prop from `CommonProps` type\n classNames?: Record<string, string>;\n 'data-testid'?: string;\n};\n\n/**\n * Loader component\n *\n * Docs link: https://transferwise.github.io/neptune-web/components/progress/Loader\n *\n * @param root0\n * @param root0.small\n * @param root0.size\n * @param root0.classNames\n */\nconst Loader = ({\n small = false,\n size = Size.MEDIUM,\n displayInstantly = false,\n classNames = {},\n ...restProps\n}: LoaderProps) => {\n const { theme } = useTheme();\n const [hasDebounced, setHasDebounced] = useState(displayInstantly);\n\n useEffect(() => {\n let cancelled: boolean;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n if (!displayInstantly) {\n timeout = setTimeout(() => {\n if (!cancelled) {\n setHasDebounced(true);\n }\n }, 1000);\n }\n\n return () => {\n cancelled = true;\n\n clearTimeout(timeout);\n };\n }, []);\n\n const style = (className: string): string => classNames[className] || className;\n const legacySize: SizeType | DeprecatedSize = small ? Size.SMALL : size;\n const supportedSize = getSupportedSize(legacySize);\n\n if (theme === 'forest-green') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info.',\n );\n return <></>;\n }\n\n return (\n <div\n className={clsx(style('tw-loader'), style(`tw-loader--${supportedSize}`), {\n 'tw-loader--visible': hasDebounced,\n })}\n data-testid={restProps['data-testid']}\n />\n );\n};\n\nconst getSupportedSize = (size: SizeType | DeprecatedSize): SizeType => {\n switch (size) {\n case Size.SMALL:\n case Size.EXTRA_SMALL:\n return Size.SMALL;\n\n case Size.EXTRA_LARGE:\n case Size.LARGE:\n case Size.MEDIUM:\n default:\n return Size.MEDIUM;\n }\n};\n\nexport default Loader;\n"],"names":["Loader","small","size","Size","MEDIUM","displayInstantly","classNames","restProps","theme","useTheme","hasDebounced","setHasDebounced","useState","useEffect","cancelled","timeout","setTimeout","clearTimeout","style","className","legacySize","SMALL","supportedSize","getSupportedSize","console","warn","_jsx","_Fragment","clsx","EXTRA_SMALL","EXTRA_LARGE","LARGE"],"mappings":";;;;;;;;AAiCMA,MAAAA,MAAM,GAAGA,CAAC;AACdC,EAAAA,KAAK,GAAG,KAAK;QACbC,MAAI,GAAGC,SAAI,CAACC,MAAM;AAClBC,EAAAA,gBAAgB,GAAG,KAAK;EACxBC,UAAU,GAAG,EAAE;EACf,GAAGC,SAAAA;AACS,CAAA,KAAI;EAChB,MAAM;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,0BAAQ,EAAE,CAAA;EAC5B,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAQ,CAACP,gBAAgB,CAAC,CAAA;AAElEQ,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIC,SAAkB,CAAA;AACtB,IAAA,IAAIC,OAAkD,CAAA;IAEtD,IAAI,CAACV,gBAAgB,EAAE;MACrBU,OAAO,GAAGC,UAAU,CAAC,MAAK;QACxB,IAAI,CAACF,SAAS,EAAE;UACdH,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,SAAA;OACD,EAAE,IAAI,CAAC,CAAA;AACV,KAAA;AAEA,IAAA,OAAO,MAAK;AACVG,MAAAA,SAAS,GAAG,IAAI,CAAA;MAEhBG,YAAY,CAACF,OAAO,CAAC,CAAA;KACtB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAMG,KAAK,GAAIC,SAAiB,IAAab,UAAU,CAACa,SAAS,CAAC,IAAIA,SAAS,CAAA;EAC/E,MAAMC,UAAU,GAA8BnB,KAAK,GAAGE,SAAI,CAACkB,KAAK,GAAGnB,MAAI,CAAA;AACvE,EAAA,MAAMoB,aAAa,GAAGC,gBAAgB,CAACH,UAAU,CAAC,CAAA;EAElD,IAAIZ,KAAK,KAAK,cAAc,EAAE;AAC5B;AACAgB,IAAAA,OAAO,CAACC,IAAI,CACV,2HAA2H,CAC5H,CAAA;AACD,IAAA,oBAAOC,cAAA,CAAAC,mBAAA,EAAA,GAAK,CAAA;AACd,GAAA;AAEA,EAAA,oBACED,cAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAES,SAAI,CAACV,KAAK,CAAC,WAAW,CAAC,EAAEA,KAAK,CAAC,CAAA,WAAA,EAAcI,aAAa,CAAA,CAAE,CAAC,EAAE;AACxE,MAAA,oBAAoB,EAAEZ,YAAAA;AACvB,KAAA,CAAE;IACH,aAAaH,EAAAA,SAAS,CAAC,aAAa,CAAA;AAAE,GACtC,CAAA,CAAA;AAEN,EAAC;AAED,MAAMgB,gBAAgB,GAAIrB,MAA+B,IAAc;AACrE,EAAA,QAAQA,MAAI;IACV,KAAKC,SAAI,CAACkB,KAAK,CAAA;IACf,KAAKlB,SAAI,CAAC0B,WAAW;MACnB,OAAO1B,SAAI,CAACkB,KAAK,CAAA;IAEnB,KAAKlB,SAAI,CAAC2B,WAAW,CAAA;IACrB,KAAK3B,SAAI,CAAC4B,KAAK,CAAA;IACf,KAAK5B,SAAI,CAACC,MAAM,CAAA;AAChB,IAAA;MACE,OAAOD,SAAI,CAACC,MAAM,CAAA;AACtB,GAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"Loader.js","sources":["../../src/loader/Loader.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { Size, SizeExtraSmall, SizeSmall, SizeMedium, SizeLarge, SizeExtraLarge } from '../common';\n\n// TODO: We gracefully depracated xs, lg and xl -- remove these as part of a future breaking change to this component\ntype DeprecatedSize = SizeExtraSmall | SizeLarge | SizeExtraLarge;\n\ntype SizeType = SizeSmall | SizeMedium;\n\nexport type LoaderProps = {\n /**\n * @deprecated use `size` instead\n */\n small?: boolean;\n size?: SizeType | DeprecatedSize;\n displayInstantly?: boolean;\n // TODO: refactor in favor of prop from `CommonProps` type\n classNames?: Record<string, string>;\n 'data-testid'?: string;\n};\n\n/**\n * Loader component\n *\n * Docs link: https://transferwise.github.io/neptune-web/components/progress/Loader\n *\n * @param root0\n * @param root0.small\n * @param root0.size\n * @param root0.classNames\n */\nconst Loader = ({\n small = false,\n size = Size.MEDIUM,\n displayInstantly = false,\n classNames = {},\n ...restProps\n}: LoaderProps) => {\n const { theme } = useTheme();\n const [hasDebounced, setHasDebounced] = useState(displayInstantly);\n\n useEffect(() => {\n let cancelled: boolean;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n if (!displayInstantly) {\n timeout = setTimeout(() => {\n if (!cancelled) {\n setHasDebounced(true);\n }\n }, 1000);\n }\n\n return () => {\n cancelled = true;\n\n clearTimeout(timeout);\n };\n }, []);\n\n const style = (className: string): string => classNames[className] || className;\n const legacySize: SizeType | DeprecatedSize = small ? Size.SMALL : size;\n const supportedSize = getSupportedSize(legacySize);\n\n if (theme === 'forest-green') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info.',\n );\n return <></>;\n }\n\n return (\n <div\n className={clsx(style('tw-loader'), style(`tw-loader--${supportedSize}`), {\n 'tw-loader--visible': hasDebounced,\n })}\n data-testid={restProps['data-testid']}\n />\n );\n};\n\nconst getSupportedSize = (size: SizeType | DeprecatedSize): SizeType => {\n switch (size) {\n case Size.SMALL:\n case Size.EXTRA_SMALL:\n return Size.SMALL;\n\n case Size.EXTRA_LARGE:\n case Size.LARGE:\n case Size.MEDIUM:\n default:\n return Size.MEDIUM;\n }\n};\n\nexport default Loader;\n"],"names":["Loader","small","size","Size","MEDIUM","displayInstantly","classNames","restProps","theme","useTheme","hasDebounced","setHasDebounced","useState","useEffect","cancelled","timeout","setTimeout","clearTimeout","style","className","legacySize","SMALL","supportedSize","getSupportedSize","console","warn","_jsx","_Fragment","clsx","EXTRA_SMALL","EXTRA_LARGE","LARGE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCMA,MAAAA,MAAM,GAAGA,CAAC;AACdC,EAAAA,KAAK,GAAG,KAAK;QACbC,MAAI,GAAGC,SAAI,CAACC,MAAM;AAClBC,EAAAA,gBAAgB,GAAG,KAAK;EACxBC,UAAU,GAAG,EAAE;EACf,GAAGC,SAAAA;AACS,CAAA,KAAI;EAChB,MAAM;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,0BAAQ,EAAE,CAAA;EAC5B,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAQ,CAACP,gBAAgB,CAAC,CAAA;AAElEQ,EAAAA,eAAS,CAAC,MAAK;AACb,IAAA,IAAIC,SAAkB,CAAA;AACtB,IAAA,IAAIC,OAAkD,CAAA;IAEtD,IAAI,CAACV,gBAAgB,EAAE;MACrBU,OAAO,GAAGC,UAAU,CAAC,MAAK;QACxB,IAAI,CAACF,SAAS,EAAE;UACdH,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,SAAA;OACD,EAAE,IAAI,CAAC,CAAA;AACV,KAAA;AAEA,IAAA,OAAO,MAAK;AACVG,MAAAA,SAAS,GAAG,IAAI,CAAA;MAEhBG,YAAY,CAACF,OAAO,CAAC,CAAA;KACtB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAMG,KAAK,GAAIC,SAAiB,IAAab,UAAU,CAACa,SAAS,CAAC,IAAIA,SAAS,CAAA;EAC/E,MAAMC,UAAU,GAA8BnB,KAAK,GAAGE,SAAI,CAACkB,KAAK,GAAGnB,MAAI,CAAA;AACvE,EAAA,MAAMoB,aAAa,GAAGC,gBAAgB,CAACH,UAAU,CAAC,CAAA;EAElD,IAAIZ,KAAK,KAAK,cAAc,EAAE;AAC5B;AACAgB,IAAAA,OAAO,CAACC,IAAI,CACV,2HAA2H,CAC5H,CAAA;AACD,IAAA,oBAAOC,cAAA,CAAAC,mBAAA,EAAA,GAAK,CAAA;AACd,GAAA;AAEA,EAAA,oBACED,cAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAES,SAAI,CAACV,KAAK,CAAC,WAAW,CAAC,EAAEA,KAAK,CAAC,CAAA,WAAA,EAAcI,aAAa,CAAA,CAAE,CAAC,EAAE;AACxE,MAAA,oBAAoB,EAAEZ,YAAAA;AACvB,KAAA,CAAE;IACH,aAAaH,EAAAA,SAAS,CAAC,aAAa,CAAA;AAAE,GACtC,CAAA,CAAA;AAEN,EAAC;AAED,MAAMgB,gBAAgB,GAAIrB,MAA+B,IAAc;AACrE,EAAA,QAAQA,MAAI;IACV,KAAKC,SAAI,CAACkB,KAAK,CAAA;IACf,KAAKlB,SAAI,CAAC0B,WAAW;MACnB,OAAO1B,SAAI,CAACkB,KAAK,CAAA;IAEnB,KAAKlB,SAAI,CAAC2B,WAAW,CAAA;IACrB,KAAK3B,SAAI,CAAC4B,KAAK,CAAA;IACf,KAAK5B,SAAI,CAACC,MAAM,CAAA;AAChB,IAAA;MACE,OAAOD,SAAI,CAACC,MAAM,CAAA;AACtB,GAAA;AACF,CAAC;;;;"}
@@ -1,8 +1,29 @@
1
1
  import { useTheme } from '@wise/components-theming';
2
2
  import { clsx } from 'clsx';
3
3
  import { useState, useEffect } from 'react';
4
- import { jsx, Fragment } from 'react/jsx-runtime';
4
+ import '../common/theme.mjs';
5
+ import '../common/direction.mjs';
6
+ import '../common/propsValues/control.mjs';
7
+ import '../common/propsValues/breakpoint.mjs';
5
8
  import { Size } from '../common/propsValues/size.mjs';
9
+ import '../common/propsValues/typography.mjs';
10
+ import '../common/propsValues/width.mjs';
11
+ import '../common/propsValues/type.mjs';
12
+ import '../common/propsValues/dateMode.mjs';
13
+ import '../common/propsValues/monthFormat.mjs';
14
+ import '../common/propsValues/position.mjs';
15
+ import '../common/propsValues/layouts.mjs';
16
+ import '../common/propsValues/status.mjs';
17
+ import '../common/propsValues/sentiment.mjs';
18
+ import '../common/propsValues/profileType.mjs';
19
+ import '../common/propsValues/variant.mjs';
20
+ import '../common/propsValues/scroll.mjs';
21
+ import '../common/propsValues/markdownNodeType.mjs';
22
+ import '../common/fileType.mjs';
23
+ import '@transferwise/icons';
24
+ import 'react-intl';
25
+ import '../common/closeButton/CloseButton.messages.mjs';
26
+ import { jsx, Fragment } from 'react/jsx-runtime';
6
27
 
7
28
  const Loader = ({
8
29
  small = false,
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.mjs","sources":["../../src/loader/Loader.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { Size, SizeExtraSmall, SizeSmall, SizeMedium, SizeLarge, SizeExtraLarge } from '../common';\n\n// TODO: We gracefully depracated xs, lg and xl -- remove these as part of a future breaking change to this component\ntype DeprecatedSize = SizeExtraSmall | SizeLarge | SizeExtraLarge;\n\ntype SizeType = SizeSmall | SizeMedium;\n\nexport type LoaderProps = {\n /**\n * @deprecated use `size` instead\n */\n small?: boolean;\n size?: SizeType | DeprecatedSize;\n displayInstantly?: boolean;\n // TODO: refactor in favor of prop from `CommonProps` type\n classNames?: Record<string, string>;\n 'data-testid'?: string;\n};\n\n/**\n * Loader component\n *\n * Docs link: https://transferwise.github.io/neptune-web/components/progress/Loader\n *\n * @param root0\n * @param root0.small\n * @param root0.size\n * @param root0.classNames\n */\nconst Loader = ({\n small = false,\n size = Size.MEDIUM,\n displayInstantly = false,\n classNames = {},\n ...restProps\n}: LoaderProps) => {\n const { theme } = useTheme();\n const [hasDebounced, setHasDebounced] = useState(displayInstantly);\n\n useEffect(() => {\n let cancelled: boolean;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n if (!displayInstantly) {\n timeout = setTimeout(() => {\n if (!cancelled) {\n setHasDebounced(true);\n }\n }, 1000);\n }\n\n return () => {\n cancelled = true;\n\n clearTimeout(timeout);\n };\n }, []);\n\n const style = (className: string): string => classNames[className] || className;\n const legacySize: SizeType | DeprecatedSize = small ? Size.SMALL : size;\n const supportedSize = getSupportedSize(legacySize);\n\n if (theme === 'forest-green') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info.',\n );\n return <></>;\n }\n\n return (\n <div\n className={clsx(style('tw-loader'), style(`tw-loader--${supportedSize}`), {\n 'tw-loader--visible': hasDebounced,\n })}\n data-testid={restProps['data-testid']}\n />\n );\n};\n\nconst getSupportedSize = (size: SizeType | DeprecatedSize): SizeType => {\n switch (size) {\n case Size.SMALL:\n case Size.EXTRA_SMALL:\n return Size.SMALL;\n\n case Size.EXTRA_LARGE:\n case Size.LARGE:\n case Size.MEDIUM:\n default:\n return Size.MEDIUM;\n }\n};\n\nexport default Loader;\n"],"names":["Loader","small","size","Size","MEDIUM","displayInstantly","classNames","restProps","theme","useTheme","hasDebounced","setHasDebounced","useState","useEffect","cancelled","timeout","setTimeout","clearTimeout","style","className","legacySize","SMALL","supportedSize","getSupportedSize","console","warn","_jsx","_Fragment","clsx","EXTRA_SMALL","EXTRA_LARGE","LARGE"],"mappings":";;;;;;AAiCMA,MAAAA,MAAM,GAAGA,CAAC;AACdC,EAAAA,KAAK,GAAG,KAAK;EACbC,IAAI,GAAGC,IAAI,CAACC,MAAM;AAClBC,EAAAA,gBAAgB,GAAG,KAAK;EACxBC,UAAU,GAAG,EAAE;EACf,GAAGC,SAAAA;AACS,CAAA,KAAI;EAChB,MAAM;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,QAAQ,EAAE,CAAA;EAC5B,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAACP,gBAAgB,CAAC,CAAA;AAElEQ,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,IAAIC,SAAkB,CAAA;AACtB,IAAA,IAAIC,OAAkD,CAAA;IAEtD,IAAI,CAACV,gBAAgB,EAAE;MACrBU,OAAO,GAAGC,UAAU,CAAC,MAAK;QACxB,IAAI,CAACF,SAAS,EAAE;UACdH,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,SAAA;OACD,EAAE,IAAI,CAAC,CAAA;AACV,KAAA;AAEA,IAAA,OAAO,MAAK;AACVG,MAAAA,SAAS,GAAG,IAAI,CAAA;MAEhBG,YAAY,CAACF,OAAO,CAAC,CAAA;KACtB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAMG,KAAK,GAAIC,SAAiB,IAAab,UAAU,CAACa,SAAS,CAAC,IAAIA,SAAS,CAAA;EAC/E,MAAMC,UAAU,GAA8BnB,KAAK,GAAGE,IAAI,CAACkB,KAAK,GAAGnB,IAAI,CAAA;AACvE,EAAA,MAAMoB,aAAa,GAAGC,gBAAgB,CAACH,UAAU,CAAC,CAAA;EAElD,IAAIZ,KAAK,KAAK,cAAc,EAAE;AAC5B;AACAgB,IAAAA,OAAO,CAACC,IAAI,CACV,2HAA2H,CAC5H,CAAA;AACD,IAAA,oBAAOC,GAAA,CAAAC,QAAA,EAAA,GAAK,CAAA;AACd,GAAA;AAEA,EAAA,oBACED,GAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAES,IAAI,CAACV,KAAK,CAAC,WAAW,CAAC,EAAEA,KAAK,CAAC,CAAA,WAAA,EAAcI,aAAa,CAAA,CAAE,CAAC,EAAE;AACxE,MAAA,oBAAoB,EAAEZ,YAAAA;AACvB,KAAA,CAAE;IACH,aAAaH,EAAAA,SAAS,CAAC,aAAa,CAAA;AAAE,GACtC,CAAA,CAAA;AAEN,EAAC;AAED,MAAMgB,gBAAgB,GAAIrB,IAA+B,IAAc;AACrE,EAAA,QAAQA,IAAI;IACV,KAAKC,IAAI,CAACkB,KAAK,CAAA;IACf,KAAKlB,IAAI,CAAC0B,WAAW;MACnB,OAAO1B,IAAI,CAACkB,KAAK,CAAA;IAEnB,KAAKlB,IAAI,CAAC2B,WAAW,CAAA;IACrB,KAAK3B,IAAI,CAAC4B,KAAK,CAAA;IACf,KAAK5B,IAAI,CAACC,MAAM,CAAA;AAChB,IAAA;MACE,OAAOD,IAAI,CAACC,MAAM,CAAA;AACtB,GAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"Loader.mjs","sources":["../../src/loader/Loader.tsx"],"sourcesContent":["import { useTheme } from '@wise/components-theming';\nimport { clsx } from 'clsx';\nimport { useEffect, useState } from 'react';\n\nimport { Size, SizeExtraSmall, SizeSmall, SizeMedium, SizeLarge, SizeExtraLarge } from '../common';\n\n// TODO: We gracefully depracated xs, lg and xl -- remove these as part of a future breaking change to this component\ntype DeprecatedSize = SizeExtraSmall | SizeLarge | SizeExtraLarge;\n\ntype SizeType = SizeSmall | SizeMedium;\n\nexport type LoaderProps = {\n /**\n * @deprecated use `size` instead\n */\n small?: boolean;\n size?: SizeType | DeprecatedSize;\n displayInstantly?: boolean;\n // TODO: refactor in favor of prop from `CommonProps` type\n classNames?: Record<string, string>;\n 'data-testid'?: string;\n};\n\n/**\n * Loader component\n *\n * Docs link: https://transferwise.github.io/neptune-web/components/progress/Loader\n *\n * @param root0\n * @param root0.small\n * @param root0.size\n * @param root0.classNames\n */\nconst Loader = ({\n small = false,\n size = Size.MEDIUM,\n displayInstantly = false,\n classNames = {},\n ...restProps\n}: LoaderProps) => {\n const { theme } = useTheme();\n const [hasDebounced, setHasDebounced] = useState(displayInstantly);\n\n useEffect(() => {\n let cancelled: boolean;\n let timeout: ReturnType<typeof setTimeout> | undefined;\n\n if (!displayInstantly) {\n timeout = setTimeout(() => {\n if (!cancelled) {\n setHasDebounced(true);\n }\n }, 1000);\n }\n\n return () => {\n cancelled = true;\n\n clearTimeout(timeout);\n };\n }, []);\n\n const style = (className: string): string => classNames[className] || className;\n const legacySize: SizeType | DeprecatedSize = small ? Size.SMALL : size;\n const supportedSize = getSupportedSize(legacySize);\n\n if (theme === 'forest-green') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info.',\n );\n return <></>;\n }\n\n return (\n <div\n className={clsx(style('tw-loader'), style(`tw-loader--${supportedSize}`), {\n 'tw-loader--visible': hasDebounced,\n })}\n data-testid={restProps['data-testid']}\n />\n );\n};\n\nconst getSupportedSize = (size: SizeType | DeprecatedSize): SizeType => {\n switch (size) {\n case Size.SMALL:\n case Size.EXTRA_SMALL:\n return Size.SMALL;\n\n case Size.EXTRA_LARGE:\n case Size.LARGE:\n case Size.MEDIUM:\n default:\n return Size.MEDIUM;\n }\n};\n\nexport default Loader;\n"],"names":["Loader","small","size","Size","MEDIUM","displayInstantly","classNames","restProps","theme","useTheme","hasDebounced","setHasDebounced","useState","useEffect","cancelled","timeout","setTimeout","clearTimeout","style","className","legacySize","SMALL","supportedSize","getSupportedSize","console","warn","_jsx","_Fragment","clsx","EXTRA_SMALL","EXTRA_LARGE","LARGE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCMA,MAAAA,MAAM,GAAGA,CAAC;AACdC,EAAAA,KAAK,GAAG,KAAK;EACbC,IAAI,GAAGC,IAAI,CAACC,MAAM;AAClBC,EAAAA,gBAAgB,GAAG,KAAK;EACxBC,UAAU,GAAG,EAAE;EACf,GAAGC,SAAAA;AACS,CAAA,KAAI;EAChB,MAAM;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,QAAQ,EAAE,CAAA;EAC5B,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,QAAQ,CAACP,gBAAgB,CAAC,CAAA;AAElEQ,EAAAA,SAAS,CAAC,MAAK;AACb,IAAA,IAAIC,SAAkB,CAAA;AACtB,IAAA,IAAIC,OAAkD,CAAA;IAEtD,IAAI,CAACV,gBAAgB,EAAE;MACrBU,OAAO,GAAGC,UAAU,CAAC,MAAK;QACxB,IAAI,CAACF,SAAS,EAAE;UACdH,eAAe,CAAC,IAAI,CAAC,CAAA;AACvB,SAAA;OACD,EAAE,IAAI,CAAC,CAAA;AACV,KAAA;AAEA,IAAA,OAAO,MAAK;AACVG,MAAAA,SAAS,GAAG,IAAI,CAAA;MAEhBG,YAAY,CAACF,OAAO,CAAC,CAAA;KACtB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAEN,MAAMG,KAAK,GAAIC,SAAiB,IAAab,UAAU,CAACa,SAAS,CAAC,IAAIA,SAAS,CAAA;EAC/E,MAAMC,UAAU,GAA8BnB,KAAK,GAAGE,IAAI,CAACkB,KAAK,GAAGnB,IAAI,CAAA;AACvE,EAAA,MAAMoB,aAAa,GAAGC,gBAAgB,CAACH,UAAU,CAAC,CAAA;EAElD,IAAIZ,KAAK,KAAK,cAAc,EAAE;AAC5B;AACAgB,IAAAA,OAAO,CAACC,IAAI,CACV,2HAA2H,CAC5H,CAAA;AACD,IAAA,oBAAOC,GAAA,CAAAC,QAAA,EAAA,GAAK,CAAA;AACd,GAAA;AAEA,EAAA,oBACED,GAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAES,IAAI,CAACV,KAAK,CAAC,WAAW,CAAC,EAAEA,KAAK,CAAC,CAAA,WAAA,EAAcI,aAAa,CAAA,CAAE,CAAC,EAAE;AACxE,MAAA,oBAAoB,EAAEZ,YAAAA;AACvB,KAAA,CAAE;IACH,aAAaH,EAAAA,SAAS,CAAC,aAAa,CAAA;AAAE,GACtC,CAAA,CAAA;AAEN,EAAC;AAED,MAAMgB,gBAAgB,GAAIrB,IAA+B,IAAc;AACrE,EAAA,QAAQA,IAAI;IACV,KAAKC,IAAI,CAACkB,KAAK,CAAA;IACf,KAAKlB,IAAI,CAAC0B,WAAW;MACnB,OAAO1B,IAAI,CAACkB,KAAK,CAAA;IAEnB,KAAKlB,IAAI,CAAC2B,WAAW,CAAA;IACrB,KAAK3B,IAAI,CAAC4B,KAAK,CAAA;IACf,KAAK5B,IAAI,CAACC,MAAM,CAAA;AAChB,IAAA;MACE,OAAOD,IAAI,CAACC,MAAM,CAAA;AACtB,GAAA;AACF,CAAC;;;;"}
@@ -1,8 +1,31 @@
1
1
  'use strict';
2
2
 
3
3
  var commonmark = require('commonmark');
4
- var jsxRuntime = require('react/jsx-runtime');
4
+ require('../common/theme.js');
5
+ require('../common/direction.js');
6
+ require('../common/propsValues/control.js');
7
+ require('../common/propsValues/breakpoint.js');
8
+ require('../common/propsValues/size.js');
9
+ require('../common/propsValues/typography.js');
10
+ require('../common/propsValues/width.js');
11
+ require('../common/propsValues/type.js');
12
+ require('../common/propsValues/dateMode.js');
13
+ require('../common/propsValues/monthFormat.js');
14
+ require('../common/propsValues/position.js');
15
+ require('../common/propsValues/layouts.js');
16
+ require('../common/propsValues/status.js');
17
+ require('../common/propsValues/sentiment.js');
18
+ require('../common/propsValues/profileType.js');
19
+ require('../common/propsValues/variant.js');
20
+ require('../common/propsValues/scroll.js');
5
21
  var markdownNodeType = require('../common/propsValues/markdownNodeType.js');
22
+ require('../common/fileType.js');
23
+ require('@transferwise/icons');
24
+ require('clsx');
25
+ require('react');
26
+ require('react-intl');
27
+ require('../common/closeButton/CloseButton.messages.js');
28
+ var jsxRuntime = require('react/jsx-runtime');
6
29
  var logActionRequired = require('../utilities/logActionRequired.js');
7
30
 
8
31
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.js","sources":["../../src/markdown/Markdown.tsx"],"sourcesContent":["import commonmark, { Node as MarkdownNode } from 'commonmark';\n\nimport { MarkdownNodeType } from '../common';\nimport { logActionRequired } from '../utilities';\n\nconst reader = new commonmark.Parser();\nconst writer = new commonmark.HtmlRenderer({ safe: true });\n\nconst NODE_TYPE_LIST = Object.values(MarkdownNodeType);\n\nexport type MarkdownProps = {\n as?: React.ElementType;\n config?: {\n link?: Pick<React.ComponentPropsWithoutRef<'a'>, 'target'>;\n paragraph?: Pick<React.ComponentPropsWithoutRef<'p'>, 'className'>;\n };\n className?: string;\n children?: string;\n} & (\n | {\n allowList?: readonly `${MarkdownNodeType}`[];\n blockList?: never;\n }\n | {\n allowList?: never;\n blockList?: readonly `${MarkdownNodeType}`[];\n }\n);\n\nexport default function Markdown({\n as: Element = 'div',\n allowList,\n blockList,\n config,\n className,\n children,\n}: MarkdownProps) {\n if (!children) {\n return null;\n }\n\n const linkTarget = config?.link?.target ?? '_self';\n const paragraphClass = config?.paragraph?.className ?? '';\n\n if (allowList != null && blockList != null) {\n logActionRequired(\n 'Markdown supports only one of `allowList` or `blockList` to be used at a time. `blockList` will be ignored.',\n );\n }\n\n const parser = (nodes: string) => {\n const parsed = reader.parse(nodes);\n const toExclude =\n allowList != null ? NODE_TYPE_LIST.filter((type) => !allowList.includes(type)) : blockList;\n return toExclude != null ? stripNodes({ parsed, blockList: toExclude }) : parsed;\n };\n\n const createMarkup = () => {\n const parsed = parser(children);\n return writer\n .render(parsed)\n .replace(/<a href=\"/g, `<a target=\"${linkTarget}\" href=\"`)\n .replace(/<p>/g, `<p class=\"${paragraphClass}\">`);\n };\n\n return <Element className={className} dangerouslySetInnerHTML={{ __html: createMarkup() }} />;\n}\n\nfunction stripNodes({ blockList, parsed }: { blockList: readonly string[]; parsed: MarkdownNode }) {\n if (!parsed) {\n return parsed;\n }\n\n const walker = parsed.walker();\n\n for (let event = walker.next(); event != null; event = walker.next()) {\n const { node } = event;\n if (blockList.includes(node.type) && !event.entering) {\n while (node.firstChild != null) {\n node.insertBefore(node.firstChild);\n }\n node.unlink();\n }\n }\n return parsed;\n}\n"],"names":["reader","commonmark","Parser","writer","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","MarkdownNodeType","Markdown","as","Element","allowList","blockList","config","className","children","linkTarget","link","target","paragraphClass","paragraph","logActionRequired","parser","nodes","parsed","parse","toExclude","filter","type","includes","stripNodes","createMarkup","render","replace","_jsx","dangerouslySetInnerHTML","__html","walker","event","next","node","entering","firstChild","insertBefore","unlink"],"mappings":"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"}
1
+ {"version":3,"file":"Markdown.js","sources":["../../src/markdown/Markdown.tsx"],"sourcesContent":["import commonmark, { Node as MarkdownNode } from 'commonmark';\n\nimport { MarkdownNodeType } from '../common';\nimport { logActionRequired } from '../utilities';\n\nconst reader = new commonmark.Parser();\nconst writer = new commonmark.HtmlRenderer({ safe: true });\n\nconst NODE_TYPE_LIST = Object.values(MarkdownNodeType);\n\nexport type MarkdownProps = {\n as?: React.ElementType;\n config?: {\n link?: Pick<React.ComponentPropsWithoutRef<'a'>, 'target'>;\n paragraph?: Pick<React.ComponentPropsWithoutRef<'p'>, 'className'>;\n };\n className?: string;\n children?: string;\n} & (\n | {\n allowList?: readonly `${MarkdownNodeType}`[];\n blockList?: never;\n }\n | {\n allowList?: never;\n blockList?: readonly `${MarkdownNodeType}`[];\n }\n);\n\nexport default function Markdown({\n as: Element = 'div',\n allowList,\n blockList,\n config,\n className,\n children,\n}: MarkdownProps) {\n if (!children) {\n return null;\n }\n\n const linkTarget = config?.link?.target ?? '_self';\n const paragraphClass = config?.paragraph?.className ?? '';\n\n if (allowList != null && blockList != null) {\n logActionRequired(\n 'Markdown supports only one of `allowList` or `blockList` to be used at a time. `blockList` will be ignored.',\n );\n }\n\n const parser = (nodes: string) => {\n const parsed = reader.parse(nodes);\n const toExclude =\n allowList != null ? NODE_TYPE_LIST.filter((type) => !allowList.includes(type)) : blockList;\n return toExclude != null ? stripNodes({ parsed, blockList: toExclude }) : parsed;\n };\n\n const createMarkup = () => {\n const parsed = parser(children);\n return writer\n .render(parsed)\n .replace(/<a href=\"/g, `<a target=\"${linkTarget}\" href=\"`)\n .replace(/<p>/g, `<p class=\"${paragraphClass}\">`);\n };\n\n return <Element className={className} dangerouslySetInnerHTML={{ __html: createMarkup() }} />;\n}\n\nfunction stripNodes({ blockList, parsed }: { blockList: readonly string[]; parsed: MarkdownNode }) {\n if (!parsed) {\n return parsed;\n }\n\n const walker = parsed.walker();\n\n for (let event = walker.next(); event != null; event = walker.next()) {\n const { node } = event;\n if (blockList.includes(node.type) && !event.entering) {\n while (node.firstChild != null) {\n node.insertBefore(node.firstChild);\n }\n node.unlink();\n }\n }\n return parsed;\n}\n"],"names":["reader","commonmark","Parser","writer","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","MarkdownNodeType","Markdown","as","Element","allowList","blockList","config","className","children","linkTarget","link","target","paragraphClass","paragraph","logActionRequired","parser","nodes","parsed","parse","toExclude","filter","type","includes","stripNodes","createMarkup","render","replace","_jsx","dangerouslySetInnerHTML","__html","walker","event","next","node","entering","firstChild","insertBefore","unlink"],"mappings":"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"}
@@ -1,6 +1,29 @@
1
1
  import commonmark from 'commonmark';
2
- import { jsx } from 'react/jsx-runtime';
2
+ import '../common/theme.mjs';
3
+ import '../common/direction.mjs';
4
+ import '../common/propsValues/control.mjs';
5
+ import '../common/propsValues/breakpoint.mjs';
6
+ import '../common/propsValues/size.mjs';
7
+ import '../common/propsValues/typography.mjs';
8
+ import '../common/propsValues/width.mjs';
9
+ import '../common/propsValues/type.mjs';
10
+ import '../common/propsValues/dateMode.mjs';
11
+ import '../common/propsValues/monthFormat.mjs';
12
+ import '../common/propsValues/position.mjs';
13
+ import '../common/propsValues/layouts.mjs';
14
+ import '../common/propsValues/status.mjs';
15
+ import '../common/propsValues/sentiment.mjs';
16
+ import '../common/propsValues/profileType.mjs';
17
+ import '../common/propsValues/variant.mjs';
18
+ import '../common/propsValues/scroll.mjs';
3
19
  import { MarkdownNodeType } from '../common/propsValues/markdownNodeType.mjs';
20
+ import '../common/fileType.mjs';
21
+ import '@transferwise/icons';
22
+ import 'clsx';
23
+ import 'react';
24
+ import 'react-intl';
25
+ import '../common/closeButton/CloseButton.messages.mjs';
26
+ import { jsx } from 'react/jsx-runtime';
4
27
  import { logActionRequired } from '../utilities/logActionRequired.mjs';
5
28
 
6
29
  const reader = new commonmark.Parser();
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.mjs","sources":["../../src/markdown/Markdown.tsx"],"sourcesContent":["import commonmark, { Node as MarkdownNode } from 'commonmark';\n\nimport { MarkdownNodeType } from '../common';\nimport { logActionRequired } from '../utilities';\n\nconst reader = new commonmark.Parser();\nconst writer = new commonmark.HtmlRenderer({ safe: true });\n\nconst NODE_TYPE_LIST = Object.values(MarkdownNodeType);\n\nexport type MarkdownProps = {\n as?: React.ElementType;\n config?: {\n link?: Pick<React.ComponentPropsWithoutRef<'a'>, 'target'>;\n paragraph?: Pick<React.ComponentPropsWithoutRef<'p'>, 'className'>;\n };\n className?: string;\n children?: string;\n} & (\n | {\n allowList?: readonly `${MarkdownNodeType}`[];\n blockList?: never;\n }\n | {\n allowList?: never;\n blockList?: readonly `${MarkdownNodeType}`[];\n }\n);\n\nexport default function Markdown({\n as: Element = 'div',\n allowList,\n blockList,\n config,\n className,\n children,\n}: MarkdownProps) {\n if (!children) {\n return null;\n }\n\n const linkTarget = config?.link?.target ?? '_self';\n const paragraphClass = config?.paragraph?.className ?? '';\n\n if (allowList != null && blockList != null) {\n logActionRequired(\n 'Markdown supports only one of `allowList` or `blockList` to be used at a time. `blockList` will be ignored.',\n );\n }\n\n const parser = (nodes: string) => {\n const parsed = reader.parse(nodes);\n const toExclude =\n allowList != null ? NODE_TYPE_LIST.filter((type) => !allowList.includes(type)) : blockList;\n return toExclude != null ? stripNodes({ parsed, blockList: toExclude }) : parsed;\n };\n\n const createMarkup = () => {\n const parsed = parser(children);\n return writer\n .render(parsed)\n .replace(/<a href=\"/g, `<a target=\"${linkTarget}\" href=\"`)\n .replace(/<p>/g, `<p class=\"${paragraphClass}\">`);\n };\n\n return <Element className={className} dangerouslySetInnerHTML={{ __html: createMarkup() }} />;\n}\n\nfunction stripNodes({ blockList, parsed }: { blockList: readonly string[]; parsed: MarkdownNode }) {\n if (!parsed) {\n return parsed;\n }\n\n const walker = parsed.walker();\n\n for (let event = walker.next(); event != null; event = walker.next()) {\n const { node } = event;\n if (blockList.includes(node.type) && !event.entering) {\n while (node.firstChild != null) {\n node.insertBefore(node.firstChild);\n }\n node.unlink();\n }\n }\n return parsed;\n}\n"],"names":["reader","commonmark","Parser","writer","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","MarkdownNodeType","Markdown","as","Element","allowList","blockList","config","className","children","linkTarget","link","target","paragraphClass","paragraph","logActionRequired","parser","nodes","parsed","parse","toExclude","filter","type","includes","stripNodes","createMarkup","render","replace","_jsx","dangerouslySetInnerHTML","__html","walker","event","next","node","entering","firstChild","insertBefore","unlink"],"mappings":"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"}
1
+ {"version":3,"file":"Markdown.mjs","sources":["../../src/markdown/Markdown.tsx"],"sourcesContent":["import commonmark, { Node as MarkdownNode } from 'commonmark';\n\nimport { MarkdownNodeType } from '../common';\nimport { logActionRequired } from '../utilities';\n\nconst reader = new commonmark.Parser();\nconst writer = new commonmark.HtmlRenderer({ safe: true });\n\nconst NODE_TYPE_LIST = Object.values(MarkdownNodeType);\n\nexport type MarkdownProps = {\n as?: React.ElementType;\n config?: {\n link?: Pick<React.ComponentPropsWithoutRef<'a'>, 'target'>;\n paragraph?: Pick<React.ComponentPropsWithoutRef<'p'>, 'className'>;\n };\n className?: string;\n children?: string;\n} & (\n | {\n allowList?: readonly `${MarkdownNodeType}`[];\n blockList?: never;\n }\n | {\n allowList?: never;\n blockList?: readonly `${MarkdownNodeType}`[];\n }\n);\n\nexport default function Markdown({\n as: Element = 'div',\n allowList,\n blockList,\n config,\n className,\n children,\n}: MarkdownProps) {\n if (!children) {\n return null;\n }\n\n const linkTarget = config?.link?.target ?? '_self';\n const paragraphClass = config?.paragraph?.className ?? '';\n\n if (allowList != null && blockList != null) {\n logActionRequired(\n 'Markdown supports only one of `allowList` or `blockList` to be used at a time. `blockList` will be ignored.',\n );\n }\n\n const parser = (nodes: string) => {\n const parsed = reader.parse(nodes);\n const toExclude =\n allowList != null ? NODE_TYPE_LIST.filter((type) => !allowList.includes(type)) : blockList;\n return toExclude != null ? stripNodes({ parsed, blockList: toExclude }) : parsed;\n };\n\n const createMarkup = () => {\n const parsed = parser(children);\n return writer\n .render(parsed)\n .replace(/<a href=\"/g, `<a target=\"${linkTarget}\" href=\"`)\n .replace(/<p>/g, `<p class=\"${paragraphClass}\">`);\n };\n\n return <Element className={className} dangerouslySetInnerHTML={{ __html: createMarkup() }} />;\n}\n\nfunction stripNodes({ blockList, parsed }: { blockList: readonly string[]; parsed: MarkdownNode }) {\n if (!parsed) {\n return parsed;\n }\n\n const walker = parsed.walker();\n\n for (let event = walker.next(); event != null; event = walker.next()) {\n const { node } = event;\n if (blockList.includes(node.type) && !event.entering) {\n while (node.firstChild != null) {\n node.insertBefore(node.firstChild);\n }\n node.unlink();\n }\n }\n return parsed;\n}\n"],"names":["reader","commonmark","Parser","writer","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","MarkdownNodeType","Markdown","as","Element","allowList","blockList","config","className","children","linkTarget","link","target","paragraphClass","paragraph","logActionRequired","parser","nodes","parsed","parse","toExclude","filter","type","includes","stripNodes","createMarkup","render","replace","_jsx","dangerouslySetInnerHTML","__html","walker","event","next","node","entering","firstChild","insertBefore","unlink"],"mappings":"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"}
@@ -3,17 +3,34 @@
3
3
  var clsx = require('clsx');
4
4
  var React = require('react');
5
5
  var reactTransitionGroup = require('react-transition-group');
6
+ require('../common/theme.js');
7
+ require('../common/direction.js');
8
+ require('../common/propsValues/control.js');
9
+ require('../common/propsValues/breakpoint.js');
10
+ var size = require('../common/propsValues/size.js');
11
+ var typography = require('../common/propsValues/typography.js');
12
+ require('../common/propsValues/width.js');
13
+ require('../common/propsValues/type.js');
14
+ require('../common/propsValues/dateMode.js');
15
+ require('../common/propsValues/monthFormat.js');
16
+ var position = require('../common/propsValues/position.js');
17
+ require('../common/propsValues/layouts.js');
18
+ require('../common/propsValues/status.js');
19
+ require('../common/propsValues/sentiment.js');
20
+ require('../common/propsValues/profileType.js');
21
+ require('../common/propsValues/variant.js');
22
+ var scroll = require('../common/propsValues/scroll.js');
23
+ require('../common/propsValues/markdownNodeType.js');
24
+ require('../common/fileType.js');
6
25
  var CloseButton = require('../common/closeButton/CloseButton.js');
26
+ require('@transferwise/neptune-validation');
27
+ require('../provider/direction/DirectionProvider.js');
28
+ var useLayout = require('../common/hooks/useLayout/useLayout.js');
7
29
  var Dimmer = require('../dimmer/Dimmer.js');
8
30
  var Drawer = require('../drawer/Drawer.js');
9
31
  var OverlayIdProvider = require('../provider/overlay/OverlayIdProvider.js');
10
32
  var Title = require('../title/Title.js');
11
33
  var jsxRuntime = require('react/jsx-runtime');
12
- var useLayout = require('../common/hooks/useLayout/useLayout.js');
13
- var scroll = require('../common/propsValues/scroll.js');
14
- var position = require('../common/propsValues/position.js');
15
- var typography = require('../common/propsValues/typography.js');
16
- var size = require('../common/propsValues/size.js');
17
34
 
18
35
  const TRANSITION_DURATION_IN_MILLISECONDS = 150;
19
36
  const Modal = ({
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ReactNode, useContext, useId, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport {\n Size,\n Position,\n PositionTop,\n PositionCenter,\n Scroll,\n CommonProps,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n SizeExtraLarge,\n ScrollContent,\n ScrollViewport,\n Typography,\n} from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport Drawer from '../drawer';\nimport { OverlayIdContext } from '../provider/overlay/OverlayIdProvider';\nimport Title from '../title/Title';\n\nconst TRANSITION_DURATION_IN_MILLISECONDS = 150;\n\nexport type ModalProps = CommonProps & {\n title?: ReactNode;\n body: ReactNode;\n footer?: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge | SizeExtraLarge;\n onClose: () => void;\n onUnmount?: () => void;\n open: boolean;\n scroll?: ScrollContent | ScrollViewport;\n position?: PositionTop | PositionCenter;\n disableDimmerClickToClose?: boolean;\n};\n\nconst Modal = ({\n title = null,\n body,\n footer = null,\n onClose,\n onUnmount,\n className,\n open,\n size = Size.MEDIUM,\n scroll = Scroll.VIEWPORT,\n position = Position.CENTER,\n disableDimmerClickToClose = false,\n ...otherProps\n}: ModalProps) => {\n const checkSpecialClasses = (classToCheck: string) =>\n className?.split(' ').includes(classToCheck);\n const { isMedium } = useLayout();\n\n // These should be replaced with props in breaking change.\n const isCompact = checkSpecialClasses('compact');\n const noDivider = checkSpecialClasses('no-divider');\n\n const contentReference = useRef<HTMLDivElement>(null);\n const titleId = useId();\n\n const overlayId = useContext(OverlayIdContext);\n\n return !isMedium ? (\n <Drawer\n open={open}\n headerTitle={title}\n footerContent={footer}\n position={Position.BOTTOM}\n onClose={onClose}\n onUnmount={onUnmount}\n >\n {body}\n </Drawer>\n ) : (\n <Dimmer\n open={open}\n scrollable={scroll === Scroll.VIEWPORT}\n contentPosition={position}\n disableClickToClose={disableDimmerClickToClose}\n onClose={onClose}\n onExited={onUnmount}\n >\n <CSSTransition\n nodeRef={contentReference}\n appear\n in={open}\n classNames={{ enterDone: 'in' }}\n timeout={TRANSITION_DURATION_IN_MILLISECONDS}\n unmountOnExit\n >\n <div\n ref={contentReference}\n className={clsx(\n 'tw-modal',\n 'd-flex',\n 'fade',\n 'outline-none',\n scroll === Scroll.CONTENT && 'tw-modal--scrollable',\n className,\n )}\n {...otherProps}\n >\n <div\n id={overlayId}\n role=\"dialog\"\n aria-modal\n aria-labelledby={titleId}\n className={clsx('tw-modal-dialog', 'd-flex', {\n [`tw-modal-${size}`]: size,\n })}\n >\n <div\n className={clsx(\n 'tw-modal-content',\n 'd-flex',\n 'flex-column',\n 'justify-content-between',\n {\n 'tw-modal-compact': isCompact,\n 'tw-modal-no-title': !title,\n },\n )}\n >\n <div\n className={clsx(\n 'tw-modal-header',\n 'd-flex',\n 'align-items-center',\n 'justify-content-between',\n 'flex-wrap',\n {\n 'modal--withoutborder': !title || noDivider,\n },\n )}\n >\n <Title id={titleId} type={Typography.TITLE_BODY} className=\"tw-modal-title\">\n {title}\n </Title>\n <CloseButton onClick={onClose} />\n </div>\n <div\n className={clsx('tw-modal-body', {\n 'tw-modal-body--scrollable': scroll === Scroll.CONTENT,\n })}\n >\n {body}\n </div>\n {footer && (\n <div\n className={clsx('tw-modal-footer', 'd-flex', 'align-items-center', 'flex-wrap', {\n 'modal--withoutborder': noDivider,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </div>\n </CSSTransition>\n </Dimmer>\n );\n};\n\nexport default Modal;\n"],"names":["TRANSITION_DURATION_IN_MILLISECONDS","Modal","title","body","footer","onClose","onUnmount","className","open","size","Size","MEDIUM","scroll","Scroll","VIEWPORT","position","Position","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","split","includes","isMedium","useLayout","isCompact","noDivider","contentReference","useRef","titleId","useId","overlayId","useContext","OverlayIdContext","_jsx","Drawer","headerTitle","footerContent","BOTTOM","children","Dimmer","scrollable","contentPosition","disableClickToClose","onExited","CSSTransition","nodeRef","appear","in","classNames","enterDone","timeout","unmountOnExit","ref","clsx","CONTENT","id","role","_jsxs","Title","type","Typography","TITLE_BODY","CloseButton","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ReactNode, useContext, useId, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport {\n Size,\n Position,\n PositionTop,\n PositionCenter,\n Scroll,\n CommonProps,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n SizeExtraLarge,\n ScrollContent,\n ScrollViewport,\n Typography,\n} from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport Drawer from '../drawer';\nimport { OverlayIdContext } from '../provider/overlay/OverlayIdProvider';\nimport Title from '../title/Title';\n\nconst TRANSITION_DURATION_IN_MILLISECONDS = 150;\n\nexport type ModalProps = CommonProps & {\n title?: ReactNode;\n body: ReactNode;\n footer?: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge | SizeExtraLarge;\n onClose: () => void;\n onUnmount?: () => void;\n open: boolean;\n scroll?: ScrollContent | ScrollViewport;\n position?: PositionTop | PositionCenter;\n disableDimmerClickToClose?: boolean;\n};\n\nconst Modal = ({\n title = null,\n body,\n footer = null,\n onClose,\n onUnmount,\n className,\n open,\n size = Size.MEDIUM,\n scroll = Scroll.VIEWPORT,\n position = Position.CENTER,\n disableDimmerClickToClose = false,\n ...otherProps\n}: ModalProps) => {\n const checkSpecialClasses = (classToCheck: string) =>\n className?.split(' ').includes(classToCheck);\n const { isMedium } = useLayout();\n\n // These should be replaced with props in breaking change.\n const isCompact = checkSpecialClasses('compact');\n const noDivider = checkSpecialClasses('no-divider');\n\n const contentReference = useRef<HTMLDivElement>(null);\n const titleId = useId();\n\n const overlayId = useContext(OverlayIdContext);\n\n return !isMedium ? (\n <Drawer\n open={open}\n headerTitle={title}\n footerContent={footer}\n position={Position.BOTTOM}\n onClose={onClose}\n onUnmount={onUnmount}\n >\n {body}\n </Drawer>\n ) : (\n <Dimmer\n open={open}\n scrollable={scroll === Scroll.VIEWPORT}\n contentPosition={position}\n disableClickToClose={disableDimmerClickToClose}\n onClose={onClose}\n onExited={onUnmount}\n >\n <CSSTransition\n nodeRef={contentReference}\n appear\n in={open}\n classNames={{ enterDone: 'in' }}\n timeout={TRANSITION_DURATION_IN_MILLISECONDS}\n unmountOnExit\n >\n <div\n ref={contentReference}\n className={clsx(\n 'tw-modal',\n 'd-flex',\n 'fade',\n 'outline-none',\n scroll === Scroll.CONTENT && 'tw-modal--scrollable',\n className,\n )}\n {...otherProps}\n >\n <div\n id={overlayId}\n role=\"dialog\"\n aria-modal\n aria-labelledby={titleId}\n className={clsx('tw-modal-dialog', 'd-flex', {\n [`tw-modal-${size}`]: size,\n })}\n >\n <div\n className={clsx(\n 'tw-modal-content',\n 'd-flex',\n 'flex-column',\n 'justify-content-between',\n {\n 'tw-modal-compact': isCompact,\n 'tw-modal-no-title': !title,\n },\n )}\n >\n <div\n className={clsx(\n 'tw-modal-header',\n 'd-flex',\n 'align-items-center',\n 'justify-content-between',\n 'flex-wrap',\n {\n 'modal--withoutborder': !title || noDivider,\n },\n )}\n >\n <Title id={titleId} type={Typography.TITLE_BODY} className=\"tw-modal-title\">\n {title}\n </Title>\n <CloseButton onClick={onClose} />\n </div>\n <div\n className={clsx('tw-modal-body', {\n 'tw-modal-body--scrollable': scroll === Scroll.CONTENT,\n })}\n >\n {body}\n </div>\n {footer && (\n <div\n className={clsx('tw-modal-footer', 'd-flex', 'align-items-center', 'flex-wrap', {\n 'modal--withoutborder': noDivider,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </div>\n </CSSTransition>\n </Dimmer>\n );\n};\n\nexport default Modal;\n"],"names":["TRANSITION_DURATION_IN_MILLISECONDS","Modal","title","body","footer","onClose","onUnmount","className","open","size","Size","MEDIUM","scroll","Scroll","VIEWPORT","position","Position","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","split","includes","isMedium","useLayout","isCompact","noDivider","contentReference","useRef","titleId","useId","overlayId","useContext","OverlayIdContext","_jsx","Drawer","headerTitle","footerContent","BOTTOM","children","Dimmer","scrollable","contentPosition","disableClickToClose","onExited","CSSTransition","nodeRef","appear","in","classNames","enterDone","timeout","unmountOnExit","ref","clsx","CONTENT","id","role","_jsxs","Title","type","Typography","TITLE_BODY","CloseButton","onClick"],"mappings":"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"}
@@ -1,17 +1,34 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { useRef, useId, useContext } from 'react';
3
3
  import { CSSTransition } from 'react-transition-group';
4
+ import '../common/theme.mjs';
5
+ import '../common/direction.mjs';
6
+ import '../common/propsValues/control.mjs';
7
+ import '../common/propsValues/breakpoint.mjs';
8
+ import { Size } from '../common/propsValues/size.mjs';
9
+ import { Typography } from '../common/propsValues/typography.mjs';
10
+ import '../common/propsValues/width.mjs';
11
+ import '../common/propsValues/type.mjs';
12
+ import '../common/propsValues/dateMode.mjs';
13
+ import '../common/propsValues/monthFormat.mjs';
14
+ import { Position } from '../common/propsValues/position.mjs';
15
+ import '../common/propsValues/layouts.mjs';
16
+ import '../common/propsValues/status.mjs';
17
+ import '../common/propsValues/sentiment.mjs';
18
+ import '../common/propsValues/profileType.mjs';
19
+ import '../common/propsValues/variant.mjs';
20
+ import { Scroll } from '../common/propsValues/scroll.mjs';
21
+ import '../common/propsValues/markdownNodeType.mjs';
22
+ import '../common/fileType.mjs';
4
23
  import { CloseButton } from '../common/closeButton/CloseButton.mjs';
24
+ import '@transferwise/neptune-validation';
25
+ import '../provider/direction/DirectionProvider.mjs';
26
+ import { useLayout } from '../common/hooks/useLayout/useLayout.mjs';
5
27
  import Dimmer from '../dimmer/Dimmer.mjs';
6
28
  import Drawer from '../drawer/Drawer.mjs';
7
29
  import { OverlayIdContext } from '../provider/overlay/OverlayIdProvider.mjs';
8
30
  import Title from '../title/Title.mjs';
9
31
  import { jsx, jsxs } from 'react/jsx-runtime';
10
- import { useLayout } from '../common/hooks/useLayout/useLayout.mjs';
11
- import { Scroll } from '../common/propsValues/scroll.mjs';
12
- import { Position } from '../common/propsValues/position.mjs';
13
- import { Typography } from '../common/propsValues/typography.mjs';
14
- import { Size } from '../common/propsValues/size.mjs';
15
32
 
16
33
  const TRANSITION_DURATION_IN_MILLISECONDS = 150;
17
34
  const Modal = ({
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ReactNode, useContext, useId, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport {\n Size,\n Position,\n PositionTop,\n PositionCenter,\n Scroll,\n CommonProps,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n SizeExtraLarge,\n ScrollContent,\n ScrollViewport,\n Typography,\n} from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport Drawer from '../drawer';\nimport { OverlayIdContext } from '../provider/overlay/OverlayIdProvider';\nimport Title from '../title/Title';\n\nconst TRANSITION_DURATION_IN_MILLISECONDS = 150;\n\nexport type ModalProps = CommonProps & {\n title?: ReactNode;\n body: ReactNode;\n footer?: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge | SizeExtraLarge;\n onClose: () => void;\n onUnmount?: () => void;\n open: boolean;\n scroll?: ScrollContent | ScrollViewport;\n position?: PositionTop | PositionCenter;\n disableDimmerClickToClose?: boolean;\n};\n\nconst Modal = ({\n title = null,\n body,\n footer = null,\n onClose,\n onUnmount,\n className,\n open,\n size = Size.MEDIUM,\n scroll = Scroll.VIEWPORT,\n position = Position.CENTER,\n disableDimmerClickToClose = false,\n ...otherProps\n}: ModalProps) => {\n const checkSpecialClasses = (classToCheck: string) =>\n className?.split(' ').includes(classToCheck);\n const { isMedium } = useLayout();\n\n // These should be replaced with props in breaking change.\n const isCompact = checkSpecialClasses('compact');\n const noDivider = checkSpecialClasses('no-divider');\n\n const contentReference = useRef<HTMLDivElement>(null);\n const titleId = useId();\n\n const overlayId = useContext(OverlayIdContext);\n\n return !isMedium ? (\n <Drawer\n open={open}\n headerTitle={title}\n footerContent={footer}\n position={Position.BOTTOM}\n onClose={onClose}\n onUnmount={onUnmount}\n >\n {body}\n </Drawer>\n ) : (\n <Dimmer\n open={open}\n scrollable={scroll === Scroll.VIEWPORT}\n contentPosition={position}\n disableClickToClose={disableDimmerClickToClose}\n onClose={onClose}\n onExited={onUnmount}\n >\n <CSSTransition\n nodeRef={contentReference}\n appear\n in={open}\n classNames={{ enterDone: 'in' }}\n timeout={TRANSITION_DURATION_IN_MILLISECONDS}\n unmountOnExit\n >\n <div\n ref={contentReference}\n className={clsx(\n 'tw-modal',\n 'd-flex',\n 'fade',\n 'outline-none',\n scroll === Scroll.CONTENT && 'tw-modal--scrollable',\n className,\n )}\n {...otherProps}\n >\n <div\n id={overlayId}\n role=\"dialog\"\n aria-modal\n aria-labelledby={titleId}\n className={clsx('tw-modal-dialog', 'd-flex', {\n [`tw-modal-${size}`]: size,\n })}\n >\n <div\n className={clsx(\n 'tw-modal-content',\n 'd-flex',\n 'flex-column',\n 'justify-content-between',\n {\n 'tw-modal-compact': isCompact,\n 'tw-modal-no-title': !title,\n },\n )}\n >\n <div\n className={clsx(\n 'tw-modal-header',\n 'd-flex',\n 'align-items-center',\n 'justify-content-between',\n 'flex-wrap',\n {\n 'modal--withoutborder': !title || noDivider,\n },\n )}\n >\n <Title id={titleId} type={Typography.TITLE_BODY} className=\"tw-modal-title\">\n {title}\n </Title>\n <CloseButton onClick={onClose} />\n </div>\n <div\n className={clsx('tw-modal-body', {\n 'tw-modal-body--scrollable': scroll === Scroll.CONTENT,\n })}\n >\n {body}\n </div>\n {footer && (\n <div\n className={clsx('tw-modal-footer', 'd-flex', 'align-items-center', 'flex-wrap', {\n 'modal--withoutborder': noDivider,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </div>\n </CSSTransition>\n </Dimmer>\n );\n};\n\nexport default Modal;\n"],"names":["TRANSITION_DURATION_IN_MILLISECONDS","Modal","title","body","footer","onClose","onUnmount","className","open","size","Size","MEDIUM","scroll","Scroll","VIEWPORT","position","Position","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","split","includes","isMedium","useLayout","isCompact","noDivider","contentReference","useRef","titleId","useId","overlayId","useContext","OverlayIdContext","_jsx","Drawer","headerTitle","footerContent","BOTTOM","children","Dimmer","scrollable","contentPosition","disableClickToClose","onExited","CSSTransition","nodeRef","appear","in","classNames","enterDone","timeout","unmountOnExit","ref","clsx","CONTENT","id","role","_jsxs","Title","type","Typography","TITLE_BODY","CloseButton","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.mjs","sources":["../../src/modal/Modal.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ReactNode, useContext, useId, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport {\n Size,\n Position,\n PositionTop,\n PositionCenter,\n Scroll,\n CommonProps,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n SizeExtraLarge,\n ScrollContent,\n ScrollViewport,\n Typography,\n} from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport Drawer from '../drawer';\nimport { OverlayIdContext } from '../provider/overlay/OverlayIdProvider';\nimport Title from '../title/Title';\n\nconst TRANSITION_DURATION_IN_MILLISECONDS = 150;\n\nexport type ModalProps = CommonProps & {\n title?: ReactNode;\n body: ReactNode;\n footer?: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge | SizeExtraLarge;\n onClose: () => void;\n onUnmount?: () => void;\n open: boolean;\n scroll?: ScrollContent | ScrollViewport;\n position?: PositionTop | PositionCenter;\n disableDimmerClickToClose?: boolean;\n};\n\nconst Modal = ({\n title = null,\n body,\n footer = null,\n onClose,\n onUnmount,\n className,\n open,\n size = Size.MEDIUM,\n scroll = Scroll.VIEWPORT,\n position = Position.CENTER,\n disableDimmerClickToClose = false,\n ...otherProps\n}: ModalProps) => {\n const checkSpecialClasses = (classToCheck: string) =>\n className?.split(' ').includes(classToCheck);\n const { isMedium } = useLayout();\n\n // These should be replaced with props in breaking change.\n const isCompact = checkSpecialClasses('compact');\n const noDivider = checkSpecialClasses('no-divider');\n\n const contentReference = useRef<HTMLDivElement>(null);\n const titleId = useId();\n\n const overlayId = useContext(OverlayIdContext);\n\n return !isMedium ? (\n <Drawer\n open={open}\n headerTitle={title}\n footerContent={footer}\n position={Position.BOTTOM}\n onClose={onClose}\n onUnmount={onUnmount}\n >\n {body}\n </Drawer>\n ) : (\n <Dimmer\n open={open}\n scrollable={scroll === Scroll.VIEWPORT}\n contentPosition={position}\n disableClickToClose={disableDimmerClickToClose}\n onClose={onClose}\n onExited={onUnmount}\n >\n <CSSTransition\n nodeRef={contentReference}\n appear\n in={open}\n classNames={{ enterDone: 'in' }}\n timeout={TRANSITION_DURATION_IN_MILLISECONDS}\n unmountOnExit\n >\n <div\n ref={contentReference}\n className={clsx(\n 'tw-modal',\n 'd-flex',\n 'fade',\n 'outline-none',\n scroll === Scroll.CONTENT && 'tw-modal--scrollable',\n className,\n )}\n {...otherProps}\n >\n <div\n id={overlayId}\n role=\"dialog\"\n aria-modal\n aria-labelledby={titleId}\n className={clsx('tw-modal-dialog', 'd-flex', {\n [`tw-modal-${size}`]: size,\n })}\n >\n <div\n className={clsx(\n 'tw-modal-content',\n 'd-flex',\n 'flex-column',\n 'justify-content-between',\n {\n 'tw-modal-compact': isCompact,\n 'tw-modal-no-title': !title,\n },\n )}\n >\n <div\n className={clsx(\n 'tw-modal-header',\n 'd-flex',\n 'align-items-center',\n 'justify-content-between',\n 'flex-wrap',\n {\n 'modal--withoutborder': !title || noDivider,\n },\n )}\n >\n <Title id={titleId} type={Typography.TITLE_BODY} className=\"tw-modal-title\">\n {title}\n </Title>\n <CloseButton onClick={onClose} />\n </div>\n <div\n className={clsx('tw-modal-body', {\n 'tw-modal-body--scrollable': scroll === Scroll.CONTENT,\n })}\n >\n {body}\n </div>\n {footer && (\n <div\n className={clsx('tw-modal-footer', 'd-flex', 'align-items-center', 'flex-wrap', {\n 'modal--withoutborder': noDivider,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </div>\n </CSSTransition>\n </Dimmer>\n );\n};\n\nexport default Modal;\n"],"names":["TRANSITION_DURATION_IN_MILLISECONDS","Modal","title","body","footer","onClose","onUnmount","className","open","size","Size","MEDIUM","scroll","Scroll","VIEWPORT","position","Position","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","split","includes","isMedium","useLayout","isCompact","noDivider","contentReference","useRef","titleId","useId","overlayId","useContext","OverlayIdContext","_jsx","Drawer","headerTitle","footerContent","BOTTOM","children","Dimmer","scrollable","contentPosition","disableClickToClose","onExited","CSSTransition","nodeRef","appear","in","classNames","enterDone","timeout","unmountOnExit","ref","clsx","CONTENT","id","role","_jsxs","Title","type","Typography","TITLE_BODY","CloseButton","onClick"],"mappings":"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"}