@transferwise/components 46.29.1 → 46.30.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 (102) hide show
  1. package/build/index.js +4737 -4678
  2. package/build/index.js.map +1 -1
  3. package/build/index.mjs +3504 -3445
  4. package/build/index.mjs.map +1 -1
  5. package/build/mocks.js.map +1 -1
  6. package/build/mocks.mjs.map +1 -1
  7. package/build/types/common/DOMOperations/DOMOperations.d.ts +10 -2
  8. package/build/types/common/DOMOperations/DOMOperations.d.ts.map +1 -1
  9. package/build/types/common/DOMOperations/index.d.ts +1 -3
  10. package/build/types/common/DOMOperations/index.d.ts.map +1 -1
  11. package/build/types/common/bottomSheet/BottomSheet.d.ts +2 -2
  12. package/build/types/common/bottomSheet/BottomSheet.d.ts.map +1 -1
  13. package/build/types/common/bottomSheet/index.d.ts +2 -1
  14. package/build/types/common/bottomSheet/index.d.ts.map +1 -1
  15. package/build/types/common/closeButton/CloseButton.messages.d.ts +7 -7
  16. package/build/types/common/closeButton/CloseButton.messages.d.ts.map +1 -1
  17. package/build/types/common/closeButton/index.d.ts +0 -1
  18. package/build/types/common/closeButton/index.d.ts.map +1 -1
  19. package/build/types/common/deviceDetection/deviceDetection.d.ts +1 -1
  20. package/build/types/common/deviceDetection/deviceDetection.d.ts.map +1 -1
  21. package/build/types/common/deviceDetection/index.d.ts +1 -1
  22. package/build/types/common/deviceDetection/index.d.ts.map +1 -1
  23. package/build/types/common/domHelpers/documentIosClick.d.ts +7 -2
  24. package/build/types/common/domHelpers/documentIosClick.d.ts.map +1 -1
  25. package/build/types/common/domHelpers/index.d.ts +1 -6
  26. package/build/types/common/domHelpers/index.d.ts.map +1 -1
  27. package/build/types/common/flowHeader/index.d.ts +2 -0
  28. package/build/types/common/flowHeader/index.d.ts.map +1 -0
  29. package/build/types/common/focusBoundary/index.d.ts +1 -1
  30. package/build/types/common/focusBoundary/index.d.ts.map +1 -1
  31. package/build/types/common/historyNavigator/historyNavigator.d.ts +8 -8
  32. package/build/types/common/historyNavigator/historyNavigator.d.ts.map +1 -1
  33. package/build/types/common/historyNavigator/index.d.ts +1 -1
  34. package/build/types/common/historyNavigator/index.d.ts.map +1 -1
  35. package/build/types/common/panel/Panel.d.ts +1 -1
  36. package/build/types/common/panel/Panel.d.ts.map +1 -1
  37. package/build/types/common/panel/index.d.ts +1 -1
  38. package/build/types/common/panel/index.d.ts.map +1 -1
  39. package/build/types/dimmer/Dimmer.d.ts +1 -1
  40. package/build/types/dimmer/Dimmer.d.ts.map +1 -1
  41. package/build/types/dimmer/index.d.ts +2 -1
  42. package/build/types/dimmer/index.d.ts.map +1 -1
  43. package/build/types/flowNavigation/FlowNavigation.d.ts.map +1 -1
  44. package/build/types/index.d.ts +42 -41
  45. package/build/types/index.d.ts.map +1 -1
  46. package/build/types/inputs/SelectInput.d.ts +2 -1
  47. package/build/types/inputs/SelectInput.d.ts.map +1 -1
  48. package/build/types/nudge/Nudge.d.ts.map +1 -1
  49. package/build/types/promoCard/PromoCard.d.ts.map +1 -1
  50. package/build/types/promoCard/PromoCardGroup.d.ts.map +1 -1
  51. package/build/types/title/Title.d.ts.map +1 -1
  52. package/package.json +58 -59
  53. package/src/chevron/Chevron.tsx +1 -1
  54. package/src/common/DOMOperations/index.ts +1 -0
  55. package/src/common/bottomSheet/BottomSheet.tsx +6 -3
  56. package/src/common/bottomSheet/index.ts +2 -0
  57. package/src/common/closeButton/{CloseButton.spec.js → CloseButton.spec.tsx} +1 -0
  58. package/src/common/closeButton/index.ts +0 -1
  59. package/src/common/deviceDetection/{deviceDetection.spec.js → deviceDetection.spec.ts} +1 -1
  60. package/src/common/deviceDetection/deviceDetection.ts +7 -0
  61. package/src/common/domHelpers/{documentIosClick.spec.js → documentIosClick.spec.ts} +7 -13
  62. package/src/common/domHelpers/{documentIosClick.js → documentIosClick.ts} +23 -0
  63. package/src/common/domHelpers/index.ts +4 -23
  64. package/src/common/flowHeader/{FlowHeader.spec.js → FlowHeader.spec.tsx} +2 -1
  65. package/src/common/flowHeader/index.ts +1 -0
  66. package/src/common/historyNavigator/{historyNavigator.js → historyNavigator.ts} +9 -5
  67. package/src/common/panel/{Panel.spec.js → Panel.spec.tsx} +14 -9
  68. package/src/common/panel/Panel.tsx +3 -3
  69. package/src/common/responsivePanel/ResponsivePanel.tsx +1 -1
  70. package/src/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.spec.ts +1 -1
  71. package/src/dateLookup/DateLookup.testingLibrary.spec.js +2 -2
  72. package/src/dimmer/Dimmer.tsx +1 -1
  73. package/src/dimmer/index.ts +2 -0
  74. package/src/flowNavigation/FlowNavigation.tsx +1 -2
  75. package/src/index.ts +68 -66
  76. package/src/inputs/SelectInput.spec.tsx +12 -0
  77. package/src/inputs/SelectInput.story.tsx +2 -0
  78. package/src/inputs/SelectInput.tsx +14 -0
  79. package/src/listItem/ListItem.tsx +1 -1
  80. package/src/nudge/Nudge.tsx +5 -8
  81. package/src/overlayHeader/OverlayHeader.js +1 -1
  82. package/src/promoCard/PromoCard.tsx +10 -7
  83. package/src/promoCard/PromoCardGroup.tsx +9 -7
  84. package/src/select/Select.story.js +1 -1
  85. package/src/stepper/Stepper.spec.js +13 -13
  86. package/src/title/Title.tsx +4 -5
  87. package/src/withDisplayFormat/WithDisplayFormat.tsx +2 -2
  88. package/src/common/DOMOperations/index.js +0 -3
  89. package/src/common/bottomSheet/index.js +0 -1
  90. package/src/common/deviceDetection/deviceDetection.js +0 -7
  91. package/src/dimmer/index.js +0 -1
  92. /package/src/common/DOMOperations/{DOMOperations.spec.js → DOMOperations.spec.tsx} +0 -0
  93. /package/src/common/DOMOperations/{DOMOperations.js → DOMOperations.ts} +0 -0
  94. /package/src/common/closeButton/{CloseButton.messages.js → CloseButton.messages.ts} +0 -0
  95. /package/src/common/closeButton/__snapshots__/{CloseButton.spec.js.snap → CloseButton.spec.tsx.snap} +0 -0
  96. /package/src/common/deviceDetection/{index.js → index.ts} +0 -0
  97. /package/src/common/flowHeader/__snapshots__/{FlowHeader.spec.js.snap → FlowHeader.spec.tsx.snap} +0 -0
  98. /package/src/common/focusBoundary/{index.js → index.ts} +0 -0
  99. /package/src/common/historyNavigator/{historyNavigator.spec.js → historyNavigator.spec.ts} +0 -0
  100. /package/src/common/historyNavigator/{index.js → index.ts} +0 -0
  101. /package/src/common/panel/__snapshots__/{Panel.spec.js.snap → Panel.spec.tsx.snap} +0 -0
  102. /package/src/common/panel/{index.js → index.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/common/historyNavigator/historyNavigator.js","../src/common/deviceDetection/deviceDetection.js","../src/common/domHelpers/documentIosClick.js","../../src/common/domHelpers/index.ts","../src/common/DOMOperations/DOMOperations.js","../../src/common/theme.ts","../../src/common/direction.ts","../../src/common/propsValues/control.ts","../../src/common/propsValues/breakpoint.ts","../../src/common/propsValues/size.ts","../../src/common/propsValues/typography.ts","../../src/common/propsValues/width.ts","../../src/common/propsValues/type.ts","../../src/common/propsValues/dateMode.ts","../../src/common/propsValues/monthFormat.ts","../../src/common/propsValues/position.ts","../../src/common/propsValues/layouts.ts","../../src/common/propsValues/status.ts","../../src/common/propsValues/sentiment.ts","../../src/common/propsValues/profileType.ts","../../src/common/propsValues/variant.ts","../../src/common/propsValues/scroll.ts","../../src/common/propsValues/markdownNodeType.ts","../../src/common/fileType.ts","../../src/common/locale/index.ts","../../src/title/Title.tsx","../../src/body/Body.tsx","../../src/chevron/Chevron.tsx","../../src/common/Option/Option.tsx","../../src/accordion/AccordionItem/AccordionItem.tsx","../../src/accordion/Accordion.tsx","../../src/actionButton/ActionButton.tsx","../../src/actionOption/ActionOption.tsx","../src/common/closeButton/CloseButton.messages.js","../../src/common/closeButton/CloseButton.tsx","../../src/link/Link.messages.ts","../../src/link/Link.tsx","../../src/statusIcon/StatusIcon.tsx","../src/utilities/logActionRequired.js","../../src/markdown/Markdown.tsx","../src/alert/inlineMarkdown/InlineMarkdown.js","../../src/alert/Alert.tsx","../../src/avatar/avatarTypes.ts","../../src/avatar/colors/colors.ts","../../src/avatar/Avatar.tsx","../../src/badge/Badge.tsx","../../src/avatarWrapper/AvatarWrapper.tsx","../../src/common/focusBoundary/FocusBoundary.tsx","../../src/dimmer/dimmerManager/DimmerManager.ts","../../src/dimmer/Dimmer.tsx","../../src/common/hooks/useConditionalListener/useConditionalListener.ts","../../src/provider/direction/DirectionProvider.tsx","../../src/common/hooks/useDirection/useDirection.ts","../src/common/hooks/useHasIntersected/useHasIntersected.js","../../src/common/hooks/useMedia.ts","../../src/common/hooks/useScreenSize.ts","../../src/common/hooks/useLayout/useLayout.ts","../../src/slidingPanel/SlidingPanel.tsx","../src/drawer/Drawer.js","../../src/common/bottomSheet/BottomSheet.tsx","../src/processIndicator/ProcessIndicator.js","../src/button/Button.messages.js","../src/button/classMap.js","../src/button/legacyUtils/legacyUtils.js","../../src/button/Button.tsx","../src/card/Card.js","../../src/common/card/Card.tsx","../../src/checkboxButton/CheckboxButton.tsx","../src/checkbox/Checkbox.js","../../src/checkboxOption/CheckboxOption.tsx","../../src/chips/Chip.tsx","../../src/chips/Chips.messages.ts","../../src/chips/Chips.tsx","../../src/circularButton/CircularButton.tsx","../../src/common/dateUtils/moveToWithinRange/moveToWithinRange.ts","../../src/common/dateUtils/isWithinRange/isWithinRange.ts","../../src/common/dateUtils/isDateValid/isDateValid.ts","../../src/common/dateUtils/getFormatForLocale/getFormatForLocale.ts","../../src/dateInput/DateInput.messages.ts","../../src/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.ts","../../src/dateInput/DateInput.tsx","../../src/common/panel/Panel.tsx","../../src/common/responsivePanel/ResponsivePanel.tsx","../../src/dateLookup/dateTrigger/DateTrigger.messages.ts","../../src/dateLookup/dateTrigger/DateTrigger.tsx","../../src/dateLookup/DateLookup.messages.ts","../../src/dateLookup/dateHeader/DateHeader.tsx","../../src/dateLookup/getFocusableTime/getFocusableTime.tsx","../../src/dateLookup/getStartOfDay/getStartOfDay.tsx","../../src/dateLookup/tableLink/TableLink.tsx","../../src/dateLookup/dayCalendar/table/DayCalendarTable.tsx","../../src/dateLookup/dayCalendar/DayCalendar.tsx","../../src/dateLookup/monthCalendar/table/MonthCalendarTable.tsx","../../src/dateLookup/monthCalendar/MonthCalendar.tsx","../../src/dateLookup/yearCalendar/table/YearCalendarTable.tsx","../../src/dateLookup/yearCalendar/YearCalendar.tsx","../../src/dateLookup/DateLookup.tsx","../src/tile/Tile.js","../../src/decision/Decision.tsx","../src/definitionList/DefinitionList.js","../../src/display/Display.tsx","../../src/dropFade/DropFade.tsx","../../src/emphasis/EmphasisHtmlTransformer.ts","../../src/emphasis/Emphasis.tsx","../../src/common/flowHeader/FlowHeader.tsx","../../src/logo/logoTypes.ts","../src/logo/Logo.js","../../src/tooltip/Tooltip.tsx","../src/stepper/deviceDetection.js","../../src/stepper/Stepper.tsx","../../src/flowNavigation/FlowNavigation.messages.ts","../../src/flowNavigation/animatedLabel/AnimatedLabel.tsx","../src/flowNavigation/backButton/BackButton.js","../../src/flowNavigation/FlowNavigation.tsx","../../src/header/Header.tsx","../../src/image/Image.tsx","../../src/info/infoPresentations.ts","../../src/modal/Modal.tsx","../../src/popover/Popover.tsx","../../src/info/Info.messages.ts","../../src/info/Info.tsx","../../src/inlineAlert/InlineAlert.tsx","../../src/utilities/cssValueWithUnit.ts","../../src/inputs/InputGroup.tsx","../../src/inputs/_common.ts","../../src/inputs/Input.tsx","../../src/inputs/SearchInput.tsx","../../src/common/polymorphicWithOverrides/PolymorphicWithOverrides.tsx","../../src/inputs/SelectInput.messages.ts","../../src/inputs/_BottomSheet.tsx","../../src/inputs/_ButtonInput.tsx","../../src/inputs/_Popover.tsx","../../src/inputs/SelectInput.tsx","../../src/inputs/TextArea.tsx","../../src/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.ts","../../src/common/textFormat/formatWithPattern/formatWithPattern.ts","../../src/common/textFormat/unformatWithPattern/unformatWithPattern.ts","../../src/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.ts","../../src/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.ts","../../src/withDisplayFormat/WithDisplayFormat.tsx","../../src/inputWithDisplayFormat/InputWithDisplayFormat.tsx","../../src/instructionsList/InstructionsList.tsx","../../src/loader/Loader.tsx","../../src/money/Money.tsx","../../src/moneyInput/MoneyInput.messages.ts","../../src/moneyInput/MoneyInput.tsx","../../src/navigationOptionsList/NavigationOptionsList.tsx","../../src/nudge/Nudge.tsx","../src/overlayHeader/OverlayHeader.js","../../src/phoneNumberInput/PhoneNumberInput.messages.ts","../../src/phoneNumberInput/data/countries.ts","../../src/phoneNumberInput/utils/longestMatchingPrefix/index.ts","../../src/phoneNumberInput/utils/setDefaultPrefix/index.ts","../../src/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts","../../src/phoneNumberInput/utils/explodeNumberModel/index.ts","../../src/phoneNumberInput/utils/cleanNumber/cleanNumber.ts","../../src/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts","../../src/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts","../../src/phoneNumberInput/utils/excludeCountries/excludeCountries.ts","../../src/phoneNumberInput/PhoneNumberInput.tsx","../../src/progress/Progress.tsx","../../src/progressBar/ProgressBar.tsx","../../src/promoCard/PromoCardContext.tsx","../../src/promoCard/PromoCardIndicator.tsx","../../src/promoCard/PromoCard.tsx","../../src/provider/language/LanguageProvider.tsx","../../src/provider/Provider.tsx","../../src/common/RadioButton/RadioButton.tsx","../../src/radio/Radio.tsx","../../src/radioGroup/RadioGroup.tsx","../../src/radioOption/RadioOption.tsx","../../src/section/Section.tsx","../../src/select/Select.messages.ts","../../src/select/option/Option.tsx","../../src/select/searchBox/SearchBox.tsx","../src/select/Select.js","../../src/segmentedControl/SegmentedControl.tsx","../../src/snackbar/Snackbar.tsx","../../src/snackbar/SnackbarContext.ts","../../src/snackbar/SnackbarProvider.tsx","../../src/sticky/Sticky.tsx","../../src/summary/Summary.messages.ts","../../src/summary/Summary.tsx","../../src/switch/Switch.tsx","../../src/switchOption/SwitchOption.tsx","../src/tabs/Tab.js","../src/tabs/TabList.js","../src/tabs/TabPanel.js","../src/tabs/utils.js","../src/tabs/Tabs.js","../../src/textareaWithDisplayFormat/TextareaWithDisplayFormat.tsx","../../src/typeahead/typeaheadInput/TypeaheadInput.tsx","../../src/typeahead/util/highlight.tsx","../../src/typeahead/typeaheadOption/TypeaheadOption.tsx","../../src/typeahead/Typeahead.tsx","../../src/upload/uploadSteps.ts","../src/upload/Upload.messages.js","../src/upload/steps/uploadImageStep/uploadImageStep.js","../src/upload/utils/postData/postData.js","../src/upload/utils/asyncFileRead/asyncFileRead.js","../src/upload/utils/isSizeValid/isSizeValid.js","../src/upload/utils/getFileType/getFileType.js","../src/upload/utils/isTypeValid/isTypeValid.js","../src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.js","../src/upload/utils/requestMedia/requestMedia.js","../src/upload/steps/mediaUploadStep/mediaUploadStep.js","../src/upload/steps/processingStep/processingStep.js","../src/upload/steps/completeStep/completeStep.js","../src/upload/Upload.js","../../src/uploadInput/UploadInput.messages.ts","../../src/uploadInput/uploadButton/UploadButton.messages.ts","../../src/uploadInput/uploadButton/defaults.ts","../../src/uploadInput/uploadButton/getAllowedFileTypes.ts","../../src/uploadInput/uploadButton/UploadButton.tsx","../../src/uploadInput/uploadItem/UploadItem.messages.ts","../../src/uploadInput/uploadItem/UploadItemBody.tsx","../../src/uploadInput/uploadItem/UploadItem.tsx","../../src/uploadInput/UploadInput.tsx","../../src/criticalBanner/CriticalCommsBanner.tsx","../../src/listItem/ListItem.tsx"],"sourcesContent":["class HistoryNavigator {\n constructor(history = [], historyLimit = null) {\n this.history = history && history.length > 0 ? history : [''];\n this.currIndex = this.history.length - 1;\n this.historyLimit = historyLimit;\n }\n\n reset = (newHistory = [''], historyLimit = 20) => {\n this.history = newHistory;\n this.currIndex = newHistory.length - 1 > 0 ? newHistory.length - 1 : 0;\n this.historyLimit = historyLimit;\n };\n\n add = (element) => {\n if (!this.historyLimit || this.history.length <= this.historyLimit) {\n this.history.push(element);\n // Always keep the current Index to the latest change\n this.currIndex = this.history.length - 1;\n } else {\n // @TODO not needed now but maybe it can be useful to implement a limit.\n this.currIndex = this.history.length - 1;\n }\n };\n\n redo = () => {\n const historyLength = this.history.length;\n this.currIndex = this.currIndex + 1 < historyLength ? this.currIndex + 1 : historyLength - 1;\n return this.history[this.currIndex];\n };\n\n undo = () => {\n this.currIndex = this.currIndex - 1 > 0 ? this.currIndex - 1 : 0;\n return this.history[this.currIndex];\n };\n}\n\nexport default HistoryNavigator;\n","export function isIosDevice() {\n const sampleTouchDevices = ['iphone', 'ipad', 'ipod'];\n const matchString = sampleTouchDevices.map((device) => `(${device})`).join('|');\n const regex = new RegExp(matchString, 'gi');\n\n return typeof navigator !== 'undefined' && !!navigator.userAgent.match(regex);\n}\n","import { isIosDevice } from '../deviceDetection';\n\n/*\n This is a hack to make ios devices register `click` on document.\n\tIos document doesn't have `click`. It has `touch` and because of that we can't addEventListener('click') to document.\n\tSo we add `ios-click` class to html root element and in css we add {cursor: pointer} so ios devices know that document is clickable element.\n*/\n\nexport function addClickClassToDocumentOnIos() {\n if (isIosDevice()) {\n document.documentElement.classList.add('ios-click');\n }\n}\n\nexport function removeClickClassFromDocumentOnIos() {\n if (isIosDevice()) {\n document.documentElement.classList.remove('ios-click');\n }\n}\n",null,"/**\n * Defined in `Dimmer.less`\n */\nconst NO_SCROLL_CLASS = 'no-scroll';\n\n/**\n * Apply {@link NO_SCROLL_CLASS} that disables scroll on page (e.g use in Dimmer to disable scroll behind the component)\n *\n * CSS class needs to be applied for `html` and not `body`, as this doing both will break any position sticky in the document.\n */\nexport const addNoScrollClass = () => {\n document.documentElement.classList.add(NO_SCROLL_CLASS);\n};\n\n/**\n * Clean up after {@link addNoScrollClass} function\n */\nexport const removeNoScrollClass = () => {\n document.documentElement.classList.remove(NO_SCROLL_CLASS);\n};\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n ariaLabel: {\n id: 'neptune.CloseButton.ariaLabel',\n defaultMessage: 'Close',\n description: 'Description of close button',\n },\n});\n",null,null,null,null,"export function logActionRequired(message) {\n if (['development', 'test'].includes(process?.env?.NODE_ENV)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n}\n\nexport function logActionRequiredIf(message, conditional) {\n if (conditional) {\n logActionRequired(message);\n }\n}\n",null,"import PropTypes from 'prop-types';\n\nimport { MarkdownNodeType } from '../../common';\nimport Markdown from '../../markdown';\n\nconst allowList = [MarkdownNodeType.STRONG];\n\nconst InlineMarkdown = (props) => {\n return <Markdown {...props} as=\"span\" allowList={allowList} blockList={undefined} />;\n};\n\nInlineMarkdown.propTypes = {\n children: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nInlineMarkdown.defaultProps = {\n className: undefined,\n};\n\nexport default InlineMarkdown;\n",null,null,null,null,null,null,null,null,null,null,null,null,"import { useEffect, useState } from 'react';\n\nconst ObserverParams = {\n threshold: 0.1,\n};\n\n/**\n * useHasIntersected.\n * Use this custom hook to detect when an element has became visible inside the viewport. This hook checks only if the intersection happend.\n * Once the intersection has happened the hook will not return false even if the element gets out of the viewport.\n *\n * @param elRef.elRef\n * @param {object} [elRef] - node object that contains a react reference to the element that needs to be observed.\n * @param {strimng} [loading = 'eager'] - string that contains the type of loading.\n * @param elRef.loading\n * @usage `const [hasIntersected] = useHasIntersected({imageRef,loading});`\n */\nexport const useHasIntersected = ({ elRef, loading }) => {\n const [hasIntersected, setHasIntersected] = useState(false);\n\n const { current } = elRef || {};\n\n const isValidReference = () => {\n return elRef && current;\n };\n\n const handleOnIntersect = (entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setHasIntersected(true);\n observer.unobserve(current);\n }\n });\n };\n\n useEffect(() => {\n let observer;\n let didCancel = false;\n\n // Check if window is define for SSR and Old browsers fallback\n if (typeof window === 'undefined' || !window.IntersectionObserver || !isValidReference()) {\n setHasIntersected(true);\n } else if (!didCancel) {\n observer = new IntersectionObserver(handleOnIntersect, ObserverParams);\n observer.observe(current);\n }\n return () => {\n didCancel = true;\n if (observer) {\n observer.unobserve(current);\n }\n };\n }, [elRef]);\n\n if (loading === 'eager') {\n return [false];\n }\n\n return [hasIntersected];\n};\n",null,null,null,null,"import { useId } from '@radix-ui/react-id';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Position, Typography } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport SlidingPanel from '../slidingPanel';\nimport Title from '../title';\nimport { logActionRequiredIf } from '../utilities';\n\nconst Drawer = ({ children, className, footerContent, headerTitle, onClose, open, position }) => {\n logActionRequiredIf(\n 'Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.',\n !onClose,\n );\n\n const { isMobile } = useLayout();\n const titleId = useId();\n\n return (\n <Dimmer open={open} onClose={onClose}>\n <SlidingPanel open={open} position={isMobile ? Position.BOTTOM : position}>\n <div\n role=\"dialog\"\n aria-modal\n aria-labelledby={headerTitle ? titleId : undefined}\n className={classNames('np-drawer', className)}\n >\n <div\n className={classNames('np-drawer-header', {\n 'np-drawer-header--withborder': headerTitle,\n })}\n >\n {headerTitle && (\n <Title id={titleId} type={Typography.TITLE_BODY}>\n {headerTitle}\n </Title>\n )}\n <CloseButton onClick={onClose} />\n </div>\n {children && <div className={classNames('np-drawer-content')}>{children}</div>}\n {footerContent && <div className={classNames('np-drawer-footer')}>{footerContent}</div>}\n </div>\n </SlidingPanel>\n </Dimmer>\n );\n};\n\nDrawer.propTypes = {\n /** The content to appear in the drawer body. */\n children: PropTypes.node,\n className: PropTypes.string,\n /** The content to appear in the drawer footer. */\n footerContent: PropTypes.node,\n /** The content to appear in the drawer header. */\n headerTitle: PropTypes.node,\n /** The action to perform on close click. */\n onClose: PropTypes.func,\n /** The status of Drawer either open or not. */\n open: PropTypes.bool,\n /** The placement of Drawer on the screen either left or right. On mobile it will default to bottom. */\n position: PropTypes.oneOf(['left', 'right', 'bottom']),\n};\n\nDrawer.defaultProps = {\n children: null,\n className: undefined,\n footerContent: null,\n headerTitle: null,\n onClose: null,\n open: false,\n position: Position.RIGHT,\n};\n\nexport default Drawer;\n",null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\n\nimport { Status, Size } from '../common';\n\nconst radius = { xxs: 6, xs: 11, sm: 22, xl: 61 };\nexport const ANIMATION_DURATION_IN_MS = 1500;\n\nclass ProcessIndicator extends Component {\n constructor(props) {\n super(props);\n this.state = {\n status: props.status,\n size: props.size,\n };\n this.interval = null;\n this.timeout = null;\n }\n\n /**\n * Create interval for animation duration (1500ms)\n * Update state only at the end of every interval\n * (end of animation loop) if props changed before end of animation\n */\n componentDidMount() {\n this.interval = setInterval(() => {\n const statusFromState = this.state.status;\n const sizeFromState = this.state.size;\n\n const statusFromProps = this.props.status;\n const sizeFromProps = this.props.size;\n\n if (statusFromState !== statusFromProps) {\n this.setState({ status: statusFromProps }, this.runCallBack(statusFromProps));\n }\n\n if (sizeFromState !== sizeFromProps) {\n this.setState({ size: sizeFromProps });\n }\n }, ANIMATION_DURATION_IN_MS);\n }\n\n /**\n * Only trigger render if comopnent's state got\n * updated from interval callback\n *\n * @param nextProps\n * @param nextState\n */\n shouldComponentUpdate(nextProps, nextState) {\n const isSameStatus = nextProps.status === nextState.status;\n const isSameSize = nextProps.size === nextState.size;\n\n return isSameStatus && isSameSize;\n }\n\n // Clear interval before destroying component\n componentWillUnmount() {\n clearInterval(this.interval);\n clearTimeout(this.timeout);\n }\n\n runCallBack = (statusFromProps) => {\n const { onAnimationCompleted } = this.props;\n if (onAnimationCompleted) {\n this.timeouts = setTimeout(() => {\n onAnimationCompleted(statusFromProps);\n }, ANIMATION_DURATION_IN_MS);\n }\n };\n\n render() {\n const { className, 'data-testid': dataTestId } = this.props;\n const { size, status } = this.state;\n const classes = classNames(`process process-${size}`, className, {\n [`process-danger`]: status === Status.FAILED,\n [`process-stopped`]: status === Status.HIDDEN,\n [`process-success`]: status === Status.SUCCEEDED,\n });\n\n return (\n <span className={classes} data-testid={dataTestId}>\n <span className=\"process-icon-container\">\n <span className=\"process-icon-horizontal\" />\n <span className=\"process-icon-vertical\" />\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n className=\"process-circle\"\n cx=\"50%\"\n cy=\"50%\"\n r={radius[this.state.size]}\n fillOpacity=\"0.0\"\n />\n </svg>\n </span>\n );\n }\n}\nProcessIndicator.propTypes = {\n status: PropTypes.oneOf(['processing', 'failed', 'succeeded', 'hidden']),\n size: PropTypes.oneOf(['xxs', 'xs', 'sm', 'xl']),\n onAnimationCompleted: PropTypes.func,\n className: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nProcessIndicator.defaultProps = {\n status: Status.PROCESSING,\n size: Size.SMALL,\n onAnimationCompleted: null,\n className: undefined,\n 'data-testid': null,\n};\n\nexport default ProcessIndicator;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loadingAriaLabel: {\n id: 'neptune.Button.loadingAriaLabel',\n defaultMessage: 'loading',\n description: 'Description of button while loading',\n },\n});\n","import { ControlType, Priority } from '../common';\n\nexport const typeClassMap = {\n [ControlType.ACCENT]: 'btn-accent',\n [ControlType.POSITIVE]: 'btn-positive',\n [ControlType.NEGATIVE]: 'btn-negative',\n};\n\nexport const priorityClassMap = {\n [Priority.PRIMARY]: 'btn-priority-1',\n [Priority.SECONDARY]: 'btn-priority-2',\n [Priority.TERTIARY]: 'btn-priority-3',\n};\n","import { ControlType, Priority, Size, Type } from '../../common';\nimport { logActionRequiredIf } from '../../utilities';\n\nconst deprecatedTypeMap = {\n [Type.PRIMARY]: ControlType.ACCENT,\n [Type.SECONDARY]: ControlType.ACCENT,\n [Type.LINK]: ControlType.ACCENT,\n [Type.PAY]: ControlType.POSITIVE,\n [Type.DANGER]: ControlType.NEGATIVE,\n};\n\nconst oldTypePriorityMap = {\n [Type.DANGER]: Priority.SECONDARY,\n [Type.LINK]: Priority.TERTIARY,\n [Type.SECONDARY]: Priority.SECONDARY,\n};\n\nconst deprecatedTypeMapMessage = {\n [Type.DANGER]: 'Type.NEGATIVE',\n [Type.LINK]: 'ControlType.ACCENT with priority Priority.TERTIARY',\n [Type.PAY]: 'ControlType.POSITIVE',\n [Type.PRIMARY]: 'ControlType.ACCENT',\n [Type.SECONDARY]: 'ControlType.ACCENT with priority Priority.SECONDARY',\n};\n\nconst deprecatedTypes = Object.keys(deprecatedTypeMap);\n\nexport const establishNewType = (originalType) => deprecatedTypeMap[originalType] || originalType;\n\nexport const establishNewPriority = (originalPriority, originalType) => {\n const type = establishNewType(originalType);\n\n // The old SECONDARY and LINK types now map to priorities. If they're still using one of\n // these old types, ignore whatever priority they've passed and use this instead.\n if (oldTypePriorityMap[originalType]) {\n return oldTypePriorityMap[originalType];\n }\n // Only ControlType.ACCENT supports tertiary styles\n if (originalPriority === Priority.TERTIARY && type !== ControlType.ACCENT) {\n return Priority.SECONDARY;\n }\n return originalPriority;\n};\n\nexport const logDeprecationNotices = ({ size, type }) => {\n logActionRequiredIf(\n 'Button has deprecated the `Size.EXTRA_SMALL` value for the `size` prop. Please use Size.SMALL instead.',\n size === Size.EXTRA_SMALL,\n );\n logActionRequiredIf(\n `Button has deprecated the ${type} value for the \\`type\\` prop. Please update to ${deprecatedTypeMapMessage[type]}.`,\n deprecatedTypes.includes(type),\n );\n};\n",null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef } from 'react';\nimport requiredIf from 'react-required-if';\n\nimport Body from '../body';\nimport Chevron from '../chevron';\nimport { Position, Typography } from '../common';\nimport Option from '../common/Option';\n\nconst Card = forwardRef((props, reference) => {\n const {\n 'aria-label': ariaLabel,\n as: Element,\n isExpanded,\n title,\n details,\n children,\n onClick,\n icon,\n id,\n className,\n ...rest\n } = props;\n const isOpen = !!(isExpanded && children);\n\n return (\n <Element\n ref={reference}\n className={classNames('np-card', className, {\n 'np-card--expanded': isOpen,\n 'np-card--inactive': !children,\n 'np-card--has-icon': !!icon,\n })}\n id={id}\n data-testid={rest['data-testid']}\n >\n <Option\n aria-label={ariaLabel}\n as={children ? 'button' : 'div'}\n className={classNames('np-card__button')}\n media={icon}\n title={title}\n content={details}\n showMediaAtAllSizes\n button={children && <Chevron orientation={isOpen ? Position.TOP : Position.BOTTOM} />}\n onClick={() => children && onClick(!isExpanded)}\n />\n <div\n className={classNames('np-card__divider', {\n 'np-card__divider--expanded': isOpen,\n })}\n />\n {isOpen && (\n <Body as=\"span\" type={Typography.BODY_LARGE} className=\"np-card__content d-block\">\n {children}\n </Body>\n )}\n </Element>\n );\n});\n\nconst hasChildren = ({ children }) => children;\n\nCard.propTypes = {\n 'aria-label': PropTypes.string,\n as: PropTypes.string,\n isExpanded: requiredIf(PropTypes.bool, hasChildren),\n title: PropTypes.node.isRequired,\n details: PropTypes.node.isRequired,\n onClick: requiredIf(PropTypes.func, hasChildren),\n icon: PropTypes.node,\n children: PropTypes.node,\n id: PropTypes.string,\n className: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nCard.defaultProps = {\n 'aria-label': undefined,\n as: 'div',\n children: null,\n id: null,\n className: null,\n 'data-testid': null,\n};\n\nexport default Card;\n",null,null,"import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Body from '../body/Body';\nimport CheckboxButton from '../checkboxButton';\nimport { Typography } from '../common';\n\nconst Checkbox = ({\n id,\n checked,\n required,\n disabled,\n readOnly,\n label,\n className,\n secondary,\n onChange,\n onFocus,\n onBlur,\n}) => {\n const { isModern } = useTheme();\n\n const classList = classNames(\n 'np-checkbox',\n {\n checkbox: true,\n 'checkbox-lg': secondary,\n disabled: isModern && disabled,\n },\n className,\n );\n\n const innerDisabled = disabled || readOnly;\n return (\n <div id={id} className={classList}>\n {/* eslint-disable-next-line jsx-a11y/label-has-for */}\n <label className={classNames({ disabled })}>\n <CheckboxButton\n className=\"p-r-2\"\n checked={checked}\n disabled={innerDisabled}\n required={!innerDisabled && required}\n onFocus={onFocus}\n onChange={() => onChange(!checked)}\n onBlur={onBlur}\n />\n <Body\n as=\"span\"\n className=\"np-checkbox__text\"\n type={secondary ? Typography.BODY_LARGE_BOLD : Typography.BODY_LARGE}\n >\n <span className={required ? 'has-required' : undefined}>{label}</span>\n {secondary && (\n <Body as=\"span\" className={classNames({ secondary: !isModern })}>\n {secondary}\n </Body>\n )}\n </Body>\n </label>\n </div>\n );\n};\n\nCheckbox.propTypes = {\n id: PropTypes.string,\n checked: PropTypes.bool,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n label: PropTypes.node.isRequired,\n secondary: PropTypes.string,\n onFocus: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n className: PropTypes.string,\n};\n\nCheckbox.defaultProps = {\n id: null,\n checked: false,\n required: false,\n disabled: false,\n readOnly: false,\n secondary: null,\n onFocus: null,\n onBlur: null,\n className: undefined,\n};\n\nexport default Checkbox;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nexport const Tile = ({\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size,\n title,\n}) => {\n const isSmall = size === Size.SMALL;\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={classNames(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n onClick={disabled ? null : onClick}\n onKeyDown={\n disabled\n ? null\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={classNames(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n};\n\nTile.propTypes = {\n /** Classes to apply to the Tile container */\n className: PropTypes.string,\n description: PropTypes.node,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /** Accepts only Avatar and images */\n media: PropTypes.node.isRequired,\n /** Function called onClick or onKeyDown */\n onClick: PropTypes.func,\n /** The size applied to Tile */\n size: PropTypes.oneOf(['sm', 'md']),\n title: PropTypes.node.isRequired,\n};\n\nTile.defaultProps = {\n className: '',\n description: null,\n disabled: false,\n size: Size.MEDIUM,\n target: undefined,\n};\n\nexport default Tile;\n",null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport ActionButton from '../actionButton';\nimport { Layout } from '../common';\n\nconst isLayoutHorizontal = (layout) =>\n [\n Layout.HORIZONTAL_LEFT_ALIGNED,\n Layout.HORIZONTAL_RIGHT_ALIGNED,\n Layout.HORIZONTAL_JUSTIFIED,\n ].includes(layout);\n\nconst getAlignmentClasses = (layout, action) => {\n let classes = ['d-flex'];\n\n if (action) {\n if (isLayoutHorizontal(layout)) {\n classes.push('align-items-center');\n } else {\n classes.push('align-items-start');\n }\n }\n\n if (layout === Layout.HORIZONTAL_RIGHT_ALIGNED) {\n classes.push('text-sm-right tw-definition-list--right-aligned-desktop');\n } else {\n classes.push('justify-content-between');\n }\n\n if (layout === Layout.HORIZONTAL_JUSTIFIED) {\n classes.push('text-sm-justify');\n }\n\n return classes;\n};\n\nconst DefinitionList = ({ definitions, layout, muted }) => (\n <dl\n className={classNames('tw-definition-list d-flex ', {\n 'text-muted': muted,\n 'flex-column': layout === Layout.VERTICAL_ONE_COLUMN,\n 'tw-definition-list--columns flex-column flex-row--sm': layout === Layout.VERTICAL_TWO_COLUMN,\n 'tw-definition-list--horizontal flex-column': isLayoutHorizontal(layout),\n })}\n >\n {definitions\n .filter((definition) => definition)\n .map(({ action, title, value, key }) => (\n <div key={key} className=\"tw-definition-list__item\">\n <dt>{title}</dt>\n <dd className={classNames(...getAlignmentClasses(layout, action))}>\n <div>{value}</div>\n {action ? (\n <div\n className={classNames(\n isLayoutHorizontal(layout) ? 'p-l-2' : 'p-x-2',\n 'tw-definition-list__action',\n )}\n >\n <ActionButton className=\"tw-definition-list__button\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n </div>\n ) : null}\n </dd>\n </div>\n ))}\n </dl>\n);\n\nDefinitionList.propTypes = {\n definitions: PropTypes.arrayOf(\n PropTypes.shape({\n action: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n }),\n title: PropTypes.node.isRequired,\n value: PropTypes.node.isRequired,\n key: PropTypes.string.isRequired,\n }),\n ),\n layout: PropTypes.oneOf([\n 'VERTICAL_TWO_COLUMN',\n 'VERTICAL_ONE_COLUMN',\n 'HORIZONTAL_JUSTIFIED',\n 'HORIZONTAL_LEFT_ALIGNED',\n 'HORIZONTAL_RIGHT_ALIGNED',\n ]),\n muted: PropTypes.bool,\n};\n\nDefinitionList.defaultProps = {\n definitions: [],\n layout: Layout.VERTICAL_TWO_COLUMN,\n muted: false,\n};\n\nexport default DefinitionList;\n",null,null,null,null,null,null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { LogoType } from './logoTypes';\nimport { ReactComponent as LogoFlagInverse } from './svg/flag-inverse.svg';\nimport { ReactComponent as LogoFlagPlatformInverse } from './svg/flag-platform-white.svg';\nimport { ReactComponent as LogoFlagPlatform } from './svg/flag-platform.svg';\nimport { ReactComponent as LogoFlag } from './svg/flag.svg';\nimport { ReactComponent as LogoWiseInverse } from './svg/logo-inverse.svg';\nimport { ReactComponent as LogoWisePlatformInverse } from './svg/logo-platform-white.svg';\nimport { ReactComponent as LogoWisePlatform } from './svg/logo-platform.svg';\nimport { ReactComponent as LogoWise } from './svg/logo.svg';\n\nconst svgPaths = {\n WISE: LogoWise,\n WISE_BUSINESS: LogoWise,\n WISE_INVERSE: LogoWiseInverse,\n WISE_BUSINESS_INVERSE: LogoWiseInverse,\n WISE_PLATFORM: LogoWisePlatform,\n WISE_PLATFORM_INVERSE: LogoWisePlatformInverse,\n WISE_FLAG: LogoFlag,\n WISE_FLAG_INVERSE: LogoFlagInverse,\n WISE_FLAG_PLATFORM: LogoFlagPlatform,\n WISE_FLAG_PLATFORM_INVERSE: LogoFlagPlatformInverse,\n};\n\nconst Logo = ({ className, inverse, type }) => {\n const LogoSm =\n svgPaths[\n `WISE_FLAG${type === LogoType.WISE_PLATFORM ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`\n ];\n const LogoMd = svgPaths[`${type}${inverse ? '_INVERSE' : ''}`];\n\n return (\n <span\n aria-label={\n type === LogoType.WISE\n ? 'Wise'\n : 'Wise Business' | (type === LogoType.WISE_PLATFORM)\n ? 'Wise Platform'\n : 'Wise Business'\n }\n role=\"img\"\n className={classNames(className, 'np-logo')}\n >\n <LogoSm className=\"np-logo-svg np-logo-svg--size-sm\" />\n <LogoMd className=\"np-logo-svg np-logo-svg--size-md\" />\n </span>\n );\n};\n\nLogo.propTypes = {\n /** Extra classes applied to Logo */\n className: PropTypes.string,\n /** If true, will use dark colours for dark on light theme */\n inverse: PropTypes.bool,\n /** What type of logo to display */\n type: PropTypes.oneOf(['WISE', 'WISE_BUSINESS', 'WISE_PLATFORM']),\n};\n\nLogo.defaultProps = {\n className: undefined,\n inverse: false,\n type: LogoType.WISE,\n};\n\nexport default Logo;\n",null,"function supportsTouchEvents() {\n const onTouchStartIsDefined = typeof window !== 'undefined' && window.ontouchstart !== undefined;\n const maxTouchPointsIsDefined = typeof navigator !== 'undefined' && navigator.maxTouchPoints;\n const documentTouchIsDefined =\n typeof window !== 'undefined' &&\n window.DocumentTouch &&\n document instanceof window.DocumentTouch;\n\n return !!(onTouchStartIsDefined || maxTouchPointsIsDefined || documentTouchIsDefined);\n}\n\nfunction userAgentSuggestsTouchDevice() {\n const sampleTouchDevices = [\n 'android',\n 'iemobile',\n 'iphone',\n 'ipad',\n 'ipod',\n 'blackberry',\n 'bada',\n ];\n const matchString = sampleTouchDevices.map((device) => `(${device})`).join('|');\n const regex = new RegExp(matchString, 'gi');\n return typeof navigator !== 'undefined' && !!navigator.userAgent.match(regex);\n}\n// Important: this is not fool-proof! It gives false positives and negatives, and will be outdated.\n// Only use this for small vanity changes where it still works either way.\nexport function isTouchDevice() {\n return supportsTouchEvents() || userAgentSuggestsTouchDevice();\n}\n",null,null,null,"import { ArrowLeft as ArrowLeftIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Avatar, { AvatarType } from '../../avatar';\n\nconst BackButton = ({ className, onClick, 'aria-label': ariaLabel }) => (\n <Avatar type={AvatarType.ICON} size={40}>\n <button\n type=\"button\"\n aria-label={ariaLabel}\n className={classNames('np-back-button', 'btn-unstyled', className)}\n onClick={onClick}\n >\n <ArrowLeftIcon size={24} />\n </button>\n </Avatar>\n);\n\nBackButton.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n className: PropTypes.string,\n label: PropTypes.element,\n onClick: PropTypes.func,\n};\n\nBackButton.defaultProps = {\n className: undefined,\n label: undefined,\n};\n\nexport default BackButton;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Size } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport FlowHeader from '../common/flowHeader/FlowHeader';\nimport Logo from '../logo';\n\nconst OverlayHeader = ({ avatar, onClose, logo }) => {\n const closeButton = onClose && <CloseButton size={Size.LARGE} onClick={onClose} />;\n return (\n <div className=\"np-overlay-header d-flex justify-content-center\">\n <FlowHeader\n className=\"np-overlay-header__content p-a-3\"\n leftContent={logo}\n rightContent={\n <div className={classNames('d-flex', 'align-items-center', 'order-2')}>\n {avatar}\n {avatar && closeButton && <span className={classNames('m-x-1')} />}\n {closeButton}\n </div>\n }\n />\n </div>\n );\n};\n\nOverlayHeader.defaultProps = {\n avatar: null,\n logo: <Logo />,\n onClose: null,\n};\n\nOverlayHeader.propTypes = {\n /** An Avatar */\n avatar: PropTypes.element,\n logo: PropTypes.node,\n /** Function called when the close is clicked */\n onClose: PropTypes.func,\n};\n\nexport default OverlayHeader;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Button from '../button';\nimport Chevron from '../chevron';\nimport { Position, getSimpleRandomId } from '../common';\nimport BottomSheet from '../common/bottomSheet';\nimport { stopPropagation } from '../common/domHelpers';\nimport { useLayout } from '../common/hooks';\nimport Panel from '../common/panel';\nimport Drawer from '../drawer';\n\nimport messages from './Select.messages';\nimport Option from './option';\nimport SearchBox from './searchBox';\n\nconst DEFAULT_SEARCH_VALUE = '';\nconst DEFAULT_OPTIONS_PAGE_SIZE = 1000;\n\nconst includesString = (string1, string2) => string1.toLowerCase().includes(string2.toLowerCase());\n\nfunction defaultFilterFunction(option, searchValue) {\n if (isPlaceholderOption(option)) {\n return true;\n }\n const { label, note, secondary, currency, searchStrings } = option;\n return (\n (!!label && includesString(label, searchValue)) ||\n (!!note && includesString(note, searchValue)) ||\n (!!secondary && includesString(secondary, searchValue)) ||\n (!!currency && includesString(currency, searchValue)) ||\n (!!searchStrings && searchStrings.some((string) => includesString(string, searchValue)))\n );\n}\n\nfunction isActionableOption(option) {\n return !option.header && !option.separator && !option.disabled;\n}\n\nfunction isHeaderOption(option) {\n return option != null && 'header' in option;\n}\n\nfunction isSeparatorOption(option) {\n return option != null && 'separator' in option;\n}\n\nfunction clamp(from, to, value) {\n return Math.max(Math.min(to, value), from);\n}\n\n/**\n * No option or placeholder option is selected\n */\nconst DEFAULT_SELECTED_OPTION = null;\n\nfunction isPlaceholderOption(option) {\n return option === DEFAULT_SELECTED_OPTION || 'placeholder' in option;\n}\n\nfunction isSearchableOption(option) {\n return !isHeaderOption(option) && !isSeparatorOption(option) && !isPlaceholderOption(option);\n}\n\nconst getUniqueIdForOption = (parentId = '', option) => {\n if (option == null) {\n return undefined;\n }\n\n const uniqueOptionId = option.value || (option.label?.replace(/\\s/g, '') ?? '');\n\n return `option-${parentId}-${uniqueOptionId}`;\n};\n\n/**\n * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput)\n */\nexport default function Select({\n placeholder,\n id,\n required,\n disabled,\n inverse,\n dropdownWidth,\n size,\n block,\n selected,\n search,\n onChange,\n onFocus,\n onBlur,\n options: defaultOptions,\n onSearchChange,\n searchValue: initSearchValue,\n searchPlaceholder,\n // eslint-disable-next-line unicorn/prevent-abbreviations\n classNames: classNamesProp,\n dropdownUp,\n dropdownProps,\n buttonProps,\n}) {\n const { formatMessage } = useIntl();\n const { isModern } = useTheme();\n const s = (className) => classNamesProp[className] || className;\n const [open, setOpen] = useState(false);\n const [searchValue, setSearchValue] = useState(DEFAULT_SEARCH_VALUE);\n const [keyboardFocusedOptionIndex, setKeyboardFocusedOptionIndex] = useState(null);\n const keyboardFocusedReference = useRef();\n const previousKeyboardFocusedOptionIndex = useRef();\n const [numberOfOptionsShown, setNumberOfOptionsShown] = useState(DEFAULT_OPTIONS_PAGE_SIZE);\n const searchBoxReference = useRef(null);\n const selectReference = useRef(null);\n const dropdownButtonReference = useRef(null);\n const optionsListReference = useRef(null);\n const isSearchEnabled = !!onSearchChange || !!search;\n const isDropdownAutoWidth = dropdownWidth == null;\n\n const fallbackButtonId = useMemo(() => getSimpleRandomId('np-select-'), []);\n\n const options = useMemo(() => {\n if (!search || !searchValue) {\n return defaultOptions;\n }\n\n return defaultOptions.filter(isSearchableOption).filter((option) => {\n if (typeof search === 'function') {\n return search(option, searchValue);\n } else {\n return defaultFilterFunction(option, searchValue);\n }\n });\n }, [defaultOptions, search, searchValue]);\n\n const selectableOptions = useMemo(() => options.filter(isActionableOption), [options]);\n const focusedOption = selectableOptions[keyboardFocusedOptionIndex];\n\n const computedId = id || fallbackButtonId;\n const listboxId = `${computedId}-listbox`;\n const searchBoxId = `${computedId}-searchbox`;\n\n const { isMobile } = useLayout();\n\n useEffect(() => {\n let cancelled;\n\n if (keyboardFocusedOptionIndex >= 0) {\n requestAnimationFrame(() => {\n if (!cancelled) {\n if (isSearchEnabled) {\n keyboardFocusedReference.current?.scrollIntoView?.({ block: 'center' });\n } else {\n keyboardFocusedReference.current?.focus();\n }\n }\n });\n\n return () => {\n cancelled = true;\n };\n }\n }, [keyboardFocusedOptionIndex, isSearchEnabled]);\n\n const handleOnClick = () => {\n setOpen(true);\n };\n\n const handleTouchStart = (event) => {\n if (event.currentTarget === event.target && open) {\n handleCloseOptions();\n }\n };\n\n const handleOnFocus = (event) => {\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleOnBlur = (event) => {\n const { nativeEvent } = event;\n if (nativeEvent) {\n const elementReceivingFocus = nativeEvent.relatedTarget;\n const select = event.currentTarget;\n if (select && elementReceivingFocus && select.contains(elementReceivingFocus)) {\n return;\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleSearchChange = (event) => {\n setNumberOfOptionsShown(DEFAULT_OPTIONS_PAGE_SIZE);\n setSearchValue(event.target.value);\n if (onSearchChange) {\n onSearchChange(event.target.value);\n }\n };\n\n const handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n if (open) {\n moveFocusWithDifference(event.key === 'ArrowUp' ? -1 : 1);\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case ' ':\n if (event.target !== searchBoxReference.current) {\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n }\n break;\n case 'Enter':\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case 'Escape':\n handleCloseOptions();\n stopPropagation(event);\n break;\n case 'Tab':\n if (open) {\n selectKeyboardFocusedOption();\n }\n break;\n default:\n break;\n }\n };\n\n function selectKeyboardFocusedOption() {\n if (keyboardFocusedOptionIndex != null && selectableOptions.length > 0) {\n selectOption(selectableOptions[keyboardFocusedOptionIndex]);\n }\n }\n\n function moveFocusWithDifference(difference) {\n const selectedOptionIndex = selectableOptions.reduce((optionIndex, current, index) => {\n if (optionIndex != null) {\n return optionIndex;\n }\n if (isOptionSelected(selected, current)) {\n return index;\n }\n return null;\n }, null);\n const previousFocusedIndex = previousKeyboardFocusedOptionIndex.current ?? -1;\n let indexToStartMovingFrom = previousFocusedIndex;\n if (previousFocusedIndex === -1) {\n if (selectedOptionIndex == null) {\n setKeyboardFocusedOptionIndex(0);\n } else {\n indexToStartMovingFrom = selectedOptionIndex;\n }\n }\n\n const unClampedNewIndex = indexToStartMovingFrom + difference;\n const newIndex = clamp(0, selectableOptions.length - 1, unClampedNewIndex);\n\n setKeyboardFocusedOptionIndex(newIndex);\n }\n\n useEffect(() => {\n if (open) {\n if (!isMobile || searchValue) {\n if (isSearchEnabled && !!searchBoxReference.current) {\n searchBoxReference.current.focus();\n }\n if (\n !isSearchEnabled &&\n optionsListReference.current &&\n (previousKeyboardFocusedOptionIndex.current == null ||\n Number.isNaN(previousKeyboardFocusedOptionIndex.current))\n ) {\n optionsListReference.current.focus();\n }\n }\n\n previousKeyboardFocusedOptionIndex.current = keyboardFocusedOptionIndex;\n } else {\n previousKeyboardFocusedOptionIndex.current = null;\n }\n }, [open, searchValue, isSearchEnabled, isMobile, keyboardFocusedOptionIndex]);\n\n const handleCloseOptions = () => {\n setOpen(false);\n setKeyboardFocusedOptionIndex(null);\n if (dropdownButtonReference.current) {\n dropdownButtonReference.current.focus();\n }\n };\n\n function createSelectHandlerForOption(option) {\n return (event) => {\n stopPropagation(event);\n selectOption(option);\n };\n }\n\n function selectOption(option) {\n onChange(isPlaceholderOption(option) ? DEFAULT_SELECTED_OPTION : option);\n handleCloseOptions();\n }\n\n function renderOptionsList({ className } = {}) {\n const dropdownClass = classNames(\n s('np-dropdown-menu'),\n {\n [s('np-dropdown-menu-desktop')]: !isMobile,\n [s(`np-dropdown-menu-${dropdownWidth}`)]: !isMobile && !isDropdownAutoWidth,\n },\n s(className),\n );\n\n const showPlaceholder = !required && !isSearchEnabled && Boolean(placeholder);\n return (\n <ul\n ref={optionsListReference}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-activedescendant={getUniqueIdForOption(id, selected)}\n tabIndex=\"-1\"\n className={dropdownClass}\n {...dropdownProps}\n >\n {showPlaceholder && <PlaceHolderOption />}\n {isSearchEnabled && (\n <SearchBox\n ref={searchBoxReference}\n id={searchBoxId}\n classNames={classNamesProp}\n value={initSearchValue || searchValue}\n placeholder={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n focusedOptionId={getUniqueIdForOption(id, focusedOption)}\n onChange={handleSearchChange}\n onClick={stopPropagation}\n />\n )}\n {options.slice(0, numberOfOptionsShown).map(renderOption)}\n {numberOfOptionsShown < options.length && <ShowMoreOption />}\n </ul>\n );\n }\n\n function ShowMoreOption() {\n function handleOnClick(event) {\n stopPropagation(event);\n setNumberOfOptionsShown(numberOfOptionsShown + DEFAULT_OPTIONS_PAGE_SIZE);\n }\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={classNames(s('clickable'), s('border-bottom'), s('show-more'))}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>...</a>\n </li>\n );\n }\n\n function PlaceHolderOption() {\n const placeholderOption = { placeholder };\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={classNames(s('clickable'), s('border-bottom'))}\n onClick={createSelectHandlerForOption(placeholderOption)}\n onKeyPress={createSelectHandlerForOption(placeholderOption)}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>{placeholder}</a>\n </li>\n );\n }\n\n // eslint-disable-next-line react/prop-types\n function SeparatorOption() {\n return <li className={s('np-separator')} aria-hidden />;\n }\n\n // eslint-disable-next-line react/prop-types\n function HeaderOption({ children }) {\n return (\n <li // eslint-disable-line jsx-a11y/no-noninteractive-element-interactions\n className={classNames(s('np-dropdown-header'), s('np-text-title-group'))}\n onClick={stopPropagation}\n onKeyPress={stopPropagation}\n >\n {children}\n </li>\n );\n }\n\n function isOptionSelected(selected, option) {\n return selected?.value === option?.value;\n }\n\n const renderOption = (option, index) => {\n const separatorOption = option;\n if (isSeparatorOption(separatorOption) && separatorOption?.separator) {\n return <SeparatorOption key={index} />;\n }\n const headerOption = option;\n if (isHeaderOption(headerOption) && headerOption.header) {\n return <HeaderOption key={index}>{headerOption.header}</HeaderOption>;\n }\n\n const isActive = isOptionSelected(selected, option);\n const selectOption = option;\n const isFocusedWithKeyboard =\n !selectOption.disabled &&\n keyboardFocusedOptionIndex === getIndexWithoutHeadersForIndexWithHeaders(index);\n\n const className = classNames(\n s('np-dropdown-item'),\n selectOption.disabled ? [s('disabled')] : s('clickable'),\n {\n [s('active')]: isActive,\n [s('np-dropdown-item--focused')]: isFocusedWithKeyboard,\n },\n );\n\n const handleOnClick = selectOption.disabled\n ? stopPropagation\n : createSelectHandlerForOption(selectOption);\n\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n ref={isFocusedWithKeyboard ? keyboardFocusedReference : undefined}\n key={index}\n id={getUniqueIdForOption(id, option)}\n aria-selected={isActive}\n aria-disabled={option.disabled}\n role=\"option\"\n tabIndex=\"-1\"\n className={className}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* @ts-expect-error options needs DOM refactoring */}\n <a disabled={selectOption.disabled}>\n <Option {...selectOption} classNames={classNamesProp} />\n </a>\n </li>\n );\n };\n\n function getIndexWithoutHeadersForIndexWithHeaders(index) {\n return options.reduce((sum, option, currentIndex) => {\n if (currentIndex < index && isActionableOption(option)) {\n return sum + 1;\n }\n return sum;\n }, 0);\n }\n\n const hasActiveOptions = !!defaultOptions.length;\n if (open && (initSearchValue || searchValue)) {\n if (hasActiveOptions && keyboardFocusedOptionIndex == null) {\n setKeyboardFocusedOptionIndex(0);\n }\n if (!hasActiveOptions && keyboardFocusedOptionIndex != null) {\n setKeyboardFocusedOptionIndex(null);\n }\n }\n\n return (\n <div // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref={selectReference}\n className={classNames(s('np-select'), block ? s('btn-block') : null, s('btn-group'))}\n onKeyDown={handleKeyDown}\n onTouchMove={handleTouchStart}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n >\n <Button\n ref={dropdownButtonReference}\n id={computedId}\n block={block}\n size={size}\n htmlType=\"button\"\n className={classNames(\n s('np-dropdown-toggle'),\n s('np-text-body-large'),\n inverse ? s('np-dropdown-toggle-navy') : null,\n )}\n // reset Button's styles\n type={null}\n priority={null}\n disabled={disabled}\n aria-controls={listboxId}\n aria-expanded={open}\n onClick={handleOnClick}\n {...buttonProps}\n >\n {selected ? (\n <Option {...selected} classNames={classNamesProp} selected />\n ) : (\n <span className={s('form-control-placeholder')}>{placeholder}</span>\n )}\n <Chevron\n // disabled={disabled}\n className={classNames(\n s('tw-icon'),\n s('tw-chevron-up-icon'),\n s('tw-chevron'),\n s('bottom'),\n s('np-select-chevron'),\n )}\n />\n </Button>\n {isMobile ? (\n isSearchEnabled ? (\n <Drawer\n open={open}\n headerTitle={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n onClose={handleCloseOptions}\n >\n {renderOptionsList()}\n </Drawer>\n ) : (\n <BottomSheet open={open} onClose={handleCloseOptions}>\n {renderOptionsList({ className: isModern ? '' : 'p-a-1' })}\n </BottomSheet>\n )\n ) : (\n <Panel\n open={open}\n flip={false}\n altAxis\n anchorRef={selectReference}\n anchorWidth={isDropdownAutoWidth}\n position={dropdownUp ? Position.TOP : Position.BOTTOM}\n onClose={handleCloseOptions}\n >\n {renderOptionsList({ className: 'p-a-1' })}\n </Panel>\n )}\n </div>\n );\n}\n\nSelect.propTypes = {\n placeholder: PropTypes.string,\n id: PropTypes.string,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n inverse: PropTypes.bool,\n dropdownRight: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n dropdownWidth: PropTypes.oneOf(['sm', 'md', 'lg']),\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n block: PropTypes.bool,\n selected: PropTypes.shape({\n value: PropTypes.any.isRequired,\n label: PropTypes.node,\n icon: PropTypes.node,\n currency: PropTypes.string,\n note: PropTypes.node,\n secondary: PropTypes.node,\n }),\n /**\n * Search toggle\n * if `true` default search functionality being enabled (not case sensitive search in option labels & currency props)\n * if `function` you can define your own search function to implement custom search experience. This search function used while filtering the options array. The custom search function takes two parameters. First is the option the second is the keyword.\n */\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.any,\n label: PropTypes.node,\n header: PropTypes.node,\n icon: PropTypes.node,\n currency: PropTypes.string,\n note: PropTypes.node,\n secondary: PropTypes.node,\n separator: PropTypes.bool,\n disabled: PropTypes.bool,\n searchStrings: PropTypes.arrayOf(PropTypes.string),\n }),\n ).isRequired,\n /**\n * To have full control of your search value and response use `onSearchChange` function combined with `searchValue` and custom filtering on the options array.\n * DO NOT USE TOGETHER WITH `search` PROPERTY\n */\n onSearchChange: PropTypes.func,\n searchValue: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n classNames: PropTypes.objectOf(PropTypes.string),\n dropdownUp: PropTypes.bool,\n buttonProps: PropTypes.object,\n dropdownProps: PropTypes.object,\n};\n\nSelect.defaultProps = {\n id: undefined,\n placeholder: undefined,\n size: 'md',\n dropdownRight: null,\n dropdownWidth: null,\n inverse: false,\n required: false,\n disabled: false,\n block: true,\n selected: null,\n onFocus: null,\n onBlur: null,\n onSearchChange: undefined,\n search: false,\n searchValue: '',\n searchPlaceholder: undefined,\n classNames: {},\n dropdownUp: false,\n buttonProps: {},\n dropdownProps: {},\n};\n",null,null,null,null,null,null,null,null,null,"import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={classNames(\n 'tabs__tab',\n selected ? 'np-text-body-large-bold' : 'np-text-body-large',\n {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled: disabled,\n },\n )}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n};\n\nexport default Tab;\n","import PropTypes from 'prop-types';\n\nconst TabList = ({ children }) => {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n};\n\nTabList.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n};\n\nexport default TabList;\n","import PropTypes from 'prop-types';\n\nconst TabPanel = ({ children, id, tabId, style }) => {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n};\n\nTabPanel.propTypes = {\n children: PropTypes.node.isRequired,\n id: PropTypes.string.isRequired,\n tabId: PropTypes.string.isRequired,\n style: PropTypes.shape({\n width: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default TabPanel;\n","const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity) => velocity > MIN_SWIPE_VELOCITY;\n\nexport const getSwipeVelocity = (start, end) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start, end, axis = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start, end) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start, end) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start, end) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n\nexport function getVelocity(coords) {\n try {\n const relevant = coords.slice(Math.max(coords.length - 5, 1));\n const first = relevant[0];\n const last = relevant[relevant.length - 1];\n\n return Math.abs(first.x - last.x) / (last.time - first.time);\n } catch {\n return 0;\n }\n}\n\n/*\n `elasticDrag` is the translateX value, which slows down as the difference increases\n `1 - Math.E ** (-0.005 * difference)` provides a % value of how far we want to translate (0.005 being the rate)\n `Math.min(150, window.innerWidth / 3)` provides the maximum translate value\n*/\nexport const getElasticDragDifference = (difference) =>\n Math.min(150, window.innerWidth / 3) * (1 - Math.E ** (-0.005 * difference));\n","/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport classNames from 'classnames';\nimport clamp from 'lodash.clamp';\nimport PropTypes from 'prop-types';\nimport { Component, createRef, Fragment, RefObject } from 'react';\n\nimport { Size, Width, Direction } from '../common';\nimport { DirectionContext } from '../provider/direction';\n\nimport Tab from './Tab';\nimport TabList from './TabList';\nimport TabPanel from './TabPanel';\nimport {\n getElasticDragDifference,\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n getVelocity,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nconst enabledTabsFilter = (tab) => !tab.disabled;\n\nconst SpacerWidth = { default: 0, xs: 8, sm: 16, md: 24, lg: 32 };\n\nclass Tabs extends Component {\n /** @type {RefObject<HTMLDivElement>} */\n containerReference = createRef();\n\n constructor(props) {\n super(props);\n this.state = {\n start: null,\n translateX: 0,\n translateFrom: 0,\n translateTo: 0,\n translateLineX: null,\n isAnimating: false,\n isSwiping: false,\n isScrolling: false,\n lastSwipeVelocity: 0,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container = null;\n\n containerWidth = 0;\n\n tabRefs = [];\n\n get filteredTabsLength() {\n return this.props.tabs.filter(enabledTabsFilter).length;\n }\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps, previousState) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;\n const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n const { animatePanelsOnClick } = this.props;\n const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateToTab(\n clamp(currentSelected, MIN_INDEX, this.MAX_INDEX),\n currentSelected === previousSelected || instantOnClick,\n );\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n\n this.setState(({ selectedTabIndex }) => ({\n translateTo: -(this.containerWidth * selectedTabIndex),\n }));\n };\n\n setContainerRefAndWidth = (node) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index) => {\n const { tabs } = this.props;\n\n return tabs[index] && tabs[index].disabled;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected, start, end) => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference) => difference / this.containerWidth >= 0.5;\n\n calculateApplicableDragDifference = ({ currentSelected, nextSelected, start, end }) => {\n const difference = getSwipeDifference(start, end);\n const elasticDrag = getElasticDragDifference(difference);\n\n if (swipedLeftToRight(start, end)) {\n if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {\n return Math.min(difference, this.containerWidth);\n }\n return elasticDrag;\n }\n if (swipedRightToLeft(start, end)) {\n if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {\n return -Math.min(difference, this.containerWidth);\n }\n return -elasticDrag;\n }\n\n return false;\n };\n\n switchTab = (index) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n getTabIndexWithoutDisabledTabs(index) {\n return index - this.props.tabs.slice(0, index).filter((tab) => !enabledTabsFilter(tab)).length;\n }\n\n animateToTab = (index, instant) => {\n this.animateLine(index);\n\n this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);\n };\n\n animateLine = (index) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n // Pass `instant` to set the `translateX` to the new panel with no transition\n animatePanel = (index, instant = false) => {\n const { translateTo: currentTranslateTo } = this.state;\n\n const translateFrom = currentTranslateTo;\n const translateTo = -(this.containerWidth * index);\n\n this.setState({\n selectedTabIndex: index,\n isAnimating: !instant && translateFrom !== translateTo,\n translateFrom,\n translateTo,\n });\n };\n\n disableScroll = (event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index) => (event) => {\n if (event && event.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n currentSwipe: [start],\n });\n\n event.persist();\n };\n\n handleTouchMove = (event) => {\n const { start } = this.state;\n const { selected: currentSelectedFromProps } = this.props;\n const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n event.persist();\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n\n const dragDifference = this.calculateApplicableDragDifference({\n currentSelected: currentSelectedFromProps,\n nextSelected,\n start,\n end,\n });\n\n const translateX = dragDifference\n ? -(this.containerWidth * selected) + dragDifference\n : false;\n\n this.setState((state) => ({\n currentSwipe: [...state.currentSwipe, end],\n translateFrom: translateX || state.translateFrom,\n translateTo: translateX || state.translateTo,\n }));\n }\n };\n\n handleTouchEnd = (event) => {\n const { start, isSwiping } = this.state;\n const { selected } = this.props;\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const velocity = getVelocity([...this.state.currentSwipe, end]);\n\n this.setState({\n currentSwipe: [],\n });\n\n let nextSelected = selected;\n\n event.persist();\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n\n this.setState({\n lastSwipeVelocity: velocity,\n });\n } else {\n this.animateToTab(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, transitionSpacing, headerWidth } =\n this.props;\n const {\n isSwiping,\n translateLineX,\n isAnimating,\n translateFrom,\n translateTo,\n lastSwipeVelocity,\n fullWidthTabs,\n } = this.state;\n\n const spacer = SpacerWidth[transitionSpacing];\n\n const tabsLength = this.filteredTabsLength;\n\n const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);\n\n const remainingContainerToTravel = isSwiping\n ? 1 - distanceSwiped / this.containerWidth\n : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);\n\n const restrictedVelocity =\n (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) *\n Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);\n\n const hidePanelOverflow = isAnimating || isSwiping;\n\n const sliderWidth = tabsLength * this.containerWidth + spacer * 2;\n\n // Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from\n const Spacer = ({ id }) =>\n spacer > 0 && (\n <div\n key={id}\n style={{\n width: spacer,\n display: hidePanelOverflow ? 'block' : 'none',\n }}\n />\n );\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={classNames('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index].focus();\n }\n }}\n onClick={disabled ? null : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div\n ref={this.setContainerRefAndWidth}\n className=\"tabs__panel-container\"\n style={{\n overflow: hidePanelOverflow ? 'hidden' : 'visible',\n }}\n >\n <Spring\n from={{\n transform: `translateX(${translateFrom - spacer}px)`,\n }}\n to={{\n transform: `translateX(${translateTo - spacer}px)`,\n }}\n config={{\n precision: isSwiping ? 1 : 0.01,\n velocity: !isSwiping ? restrictedVelocity : 0,\n clamp: true,\n }}\n onRest={() => {\n if (isAnimating) {\n this.setState({\n isAnimating: false,\n lastSwipeVelocity: 0,\n });\n }\n }}\n >\n {(props) => (\n <animated.div\n className=\"tabs__slider\"\n style={{\n width: hidePanelOverflow ? `${sliderWidth}px` : '100%',\n transform: hidePanelOverflow ? props.transform : 'translateX(0px)',\n }}\n >\n {tabs.map(({ content, disabled }, index) =>\n !disabled ? (\n <Fragment key={`${tabs[index].title}-fragment`}>\n {index === selected && <Spacer id=\"left-spacer\" />}\n <TabPanel\n key={tabs[index].title}\n tabId={`${name}-tab-${index}`}\n id={`${name}-panel-${index}`}\n style={{\n width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',\n display: hidePanelOverflow || index === selected ? 'block' : 'none',\n }}\n >\n {content}\n </TabPanel>\n {index === selected && <Spacer id=\"right-spacer\" />}\n </Fragment>\n ) : null,\n )}\n </animated.div>\n )}\n </Spring>\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n\nconst SpacerSizes = { ...Size, NONE: 'default' };\n\nTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n content: PropTypes.node.isRequired,\n disabled: PropTypes.bool.isRequired,\n }),\n ).isRequired,\n selected: PropTypes.number.isRequired,\n onTabSelect: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n animatePanelsOnClick: PropTypes.bool,\n changeTabOnSwipe: PropTypes.bool,\n className: PropTypes.string,\n transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),\n headerWidth: PropTypes.oneOf(['auto', 'block']),\n id: PropTypes.string,\n};\n\nTabs.defaultProps = {\n animatePanelsOnClick: false,\n changeTabOnSwipe: true,\n className: '',\n transitionSpacing: SpacerSizes.NONE,\n headerWidth: Width.BLOCK,\n};\n\nexport default Tabs;\n",null,null,null,null,null,null,"import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n});\n","import { Upload as UploadIcon } from '@transferwise/icons';\nimport PropTypes from 'prop-types';\nimport { createRef, PureComponent } from 'react';\n\nclass UploadImageStep extends PureComponent {\n constructor() {\n super();\n this.uploadInputRef = createRef();\n }\n\n onManualUpload = () => {\n const { fileDropped } = this.props;\n if (this.uploadInputRef && this.uploadInputRef.current) {\n const file = this.uploadInputRef.current.files[0];\n fileDropped(file);\n }\n };\n\n getImage = () => {\n const { usHelpImage, usLabel } = this.props;\n\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n render() {\n const { isComplete, usAccept, usButtonText, usDisabled, usLabel, usPlaceholder } = this.props;\n\n return (\n <div>\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{this.getImage()}</div>\n {usLabel && <h4 className=\"np-text-title-body m-b-1\">{usLabel}</h4>}\n {usPlaceholder && <p className=\"np-text-body-large m-b-3\">{`${usPlaceholder}`}</p>}\n <label className={`btn btn-primary btn-md ${usDisabled ? 'disabled' : ''}`}>\n {usButtonText ? (\n <span>{usButtonText}</span>\n ) : (\n <UploadIcon size={24} className=\"m-r-0\" />\n )}\n <input\n ref={this.uploadInputRef}\n type=\"file\"\n accept={usAccept === '*' ? null : usAccept}\n className=\"tw-droppable-input hidden\"\n disabled={usDisabled}\n name=\"file-upload\"\n onChange={() => this.onManualUpload()}\n />\n </label>\n </div>\n </div>\n </div>\n );\n }\n}\n\nUploadImageStep.propTypes = {\n fileDropped: PropTypes.func.isRequired,\n isComplete: PropTypes.bool.isRequired,\n usAccept: PropTypes.string.isRequired,\n usButtonText: PropTypes.string.isRequired,\n usDisabled: PropTypes.bool.isRequired,\n usHelpImage: PropTypes.node.isRequired,\n usLabel: PropTypes.string.isRequired,\n usPlaceholder: PropTypes.string.isRequired,\n};\n\nexport default UploadImageStep;\n","export const postData = (httpOptions, data = {}, fetcher = fetch) =>\n fetcher(`${httpOptions.url}`, {\n method: 'POST',\n body: data,\n ...httpOptions,\n })\n .then((response) => {\n if (!response.ok) {\n const error = new Error(response.statusText);\n error.status = response.status;\n error.response = response;\n throw error;\n }\n return response;\n })\n .catch((error) => {\n throw error;\n });\n","export const asyncFileRead = (file) =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.addEventListener('load', (event) => {\n resolve(event.target.result);\n });\n reader.addEventListener('error', (event) => {\n reject(event);\n });\n });\n","export const isSizeValid = (file, maxSize) => Number.isInteger(maxSize) && file.size <= maxSize;\n","export const getFileType = (file, file64) => {\n if (!file && !file64) {\n return '';\n }\n\n if (file && file.type && file.type !== '') {\n return file.type ?? '';\n }\n\n if (file64) {\n const regex = /^data:([a-z]+\\/[a-z]+);/;\n const typeFromEncoded = file64.match(regex);\n\n if (typeFromEncoded && typeFromEncoded[1]) {\n return typeFromEncoded[1] ?? '';\n }\n }\n return '';\n};\n","import { getFileType } from '../getFileType';\n\nexport const isTypeValid = (file, rule, file64) => {\n if (!file || !rule) {\n return false;\n }\n\n const allowedTypes = rule.replace(/\\s/g, '').split(',');\n const fileType = getFileType(file, file64);\n\n if (rule === '*' || allowedTypes.includes(fileType)) {\n return true;\n }\n\n return allowedTypes.some((type) => {\n const splittedRule = type.split('/');\n const typeAllowed = splittedRule[0];\n const extensionAllowed = splittedRule[1];\n\n if (extensionAllowed !== '*') {\n return false;\n }\n\n return fileType.includes(typeAllowed);\n });\n};\n","// Spot Platform's Media API only support these MIME types\nconst SUPPORTED_MIME_TYPES = ['image/jpeg', 'video/*', 'application/pdf'];\n\nexport const getSupportedSpotMimeTypes = (mimeTypes) => {\n if (mimeTypes === '*') {\n return SUPPORTED_MIME_TYPES;\n }\n\n const mimeTypesArray = mimeTypes.split(',');\n const mimeMapping = {\n 'image/*': 'image/jpeg',\n 'application/*': 'application/pdf',\n };\n\n const mapSupportedMimeTypes = mimeTypesArray.map((type) => mimeMapping[type] || type);\n\n return mapSupportedMimeTypes.filter((type) => SUPPORTED_MIME_TYPES.includes(type));\n};\n","export const requestMedia = (mediaRequest) =>\n new Promise((resolve, reject) => {\n if (typeof window === 'undefined' || typeof window.microapps === 'undefined') {\n reject(`microapps must be available in window to use Spot Platform's Media API`);\n }\n\n window.microapps\n .requestMedia(mediaRequest)\n .then((response) => {\n const fileByteArray = base64ToByteArray(response.bytes);\n const blob = new Blob([fileByteArray], { type: response.mimeType });\n resolve(blob);\n })\n .catch((error) => reject(error));\n });\n\nconst base64ToByteArray = (base64String) => {\n const byteCharacters = atob(base64String);\n const byteCharactersLength = byteCharacters.length;\n const byteArray = new Array(byteCharactersLength);\n\n for (let i = 0; i < byteCharactersLength; i += 1) {\n byteArray[i] = byteCharacters.charCodeAt(i);\n }\n return new Uint8Array(byteArray);\n};\n","import { Upload as UploadIcon } from '@transferwise/icons';\nimport PropTypes from 'prop-types';\n\nimport Body from '../../../body';\nimport Button from '../../../button/Button';\nimport { Typography } from '../../../common';\nimport Title from '../../../title';\nimport { getSupportedSpotMimeTypes, requestMedia } from '../../utils';\n\nconst MediaUploadStep = ({\n isComplete,\n usAccept,\n usButtonText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n fileDropped,\n}) => {\n const getMediaFile = () => {\n const allowedMimeTypes = getSupportedSpotMimeTypes(usAccept);\n\n if (allowedMimeTypes.length === 0) {\n throw new Error('provided mimeTypes not supported');\n }\n\n const mediaRequest = { allowedMimeTypes };\n requestMedia(mediaRequest).then((file) => fileDropped(file));\n };\n\n const getImage = () => {\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n return (\n <div>\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{getImage()}</div>\n {usLabel && (\n <Title type={Typography.TITLE_BODY} className=\"m-b-1\">\n {usLabel}\n </Title>\n )}\n {usPlaceholder && (\n <Body as=\"p\" type={Typography.BODY_LARGE} className=\"m-b-3\">{`${usPlaceholder}`}</Body>\n )}\n <Button disabled={usDisabled} onClick={getMediaFile}>\n {usButtonText || <UploadIcon size={24} className=\"m-r-0\" />}\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nMediaUploadStep.propTypes = {\n fileDropped: PropTypes.func.isRequired,\n isComplete: PropTypes.bool.isRequired,\n usAccept: PropTypes.string.isRequired,\n usButtonText: PropTypes.string.isRequired,\n usDisabled: PropTypes.bool.isRequired,\n usHelpImage: PropTypes.node.isRequired,\n usLabel: PropTypes.string.isRequired,\n usPlaceholder: PropTypes.string.isRequired,\n};\n\nexport default MediaUploadStep;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\nimport { Status, Size, Typography } from '../../../common';\nimport ProcessIndicator from '../../../processIndicator';\nimport Title from '../../../title';\n\nconst ProcessingStep = (props) => {\n const {\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n } = props;\n\n const { isModern } = useTheme();\n\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n size={Size.Small}\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title\n className={classNames({\n 'm-t-3': !isModern,\n 'm-b-3': !isModern,\n 'm-t-2': isModern,\n 'm-b-2': isModern,\n })}\n type={Typography.TITLE_BODY}\n aria-live=\"polite\"\n >\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button disabled={psButtonDisabled} onClick={(event) => onClear(event)}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\nProcessingStep.propTypes = {\n isComplete: PropTypes.bool.isRequired,\n isError: PropTypes.bool.isRequired,\n isSuccess: PropTypes.bool.isRequired,\n onAnimationCompleted: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n psButtonText: PropTypes.string.isRequired,\n psProcessingText: PropTypes.string.isRequired,\n psButtonDisabled: PropTypes.bool.isRequired,\n};\n\nexport default ProcessingStep;\n","import { AlertCircle as AlertCircleIcon, Document as DocumentIcon } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Priority, Typography } from '../../..';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport { Sentiment, Size } from '../../../common';\nimport StatusIcon from '../../../statusIcon';\nimport Title from '../../../title';\n\nconst CompleteStep = (props) => {\n const { isModern } = useTheme();\n const {\n csButtonText,\n csFailureText,\n csSuccessText,\n fileName,\n isComplete,\n isError,\n isImage,\n onClear,\n uploadedImage,\n } = props;\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isError ? (\n <>\n {isModern ? (\n <StatusIcon size={Size.LARGE} sentiment={Sentiment.NEGATIVE} />\n ) : (\n <AlertCircleIcon size={24} className=\"text-negative\" />\n )}\n {csFailureText && (\n <p className={classNames('m-t-2', { 'm-b-0': isModern })}>{csFailureText}</p>\n )}\n </>\n ) : (\n <>\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </>\n )}\n </div>\n {csButtonText && (\n <Button\n priority={isModern ? Priority.PRIMARY : Priority.SECONDARY}\n className={classNames({\n 'm-t-1': isModern && !isError,\n 'm-t-2': isModern && isError,\n 'm-t-3': !isModern,\n })}\n onClick={(event) => onClear(event)}\n >\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\nCompleteStep.propTypes = {\n csButtonText: PropTypes.string.isRequired,\n csSuccessText: PropTypes.string.isRequired,\n csFailureText: PropTypes.string.isRequired,\n fileName: PropTypes.string.isRequired,\n isComplete: PropTypes.bool.isRequired,\n isError: PropTypes.bool.isRequired,\n isImage: PropTypes.bool.isRequired,\n onClear: PropTypes.func.isRequired,\n uploadedImage: PropTypes.string,\n};\nCompleteStep.defaultProps = {\n uploadedImage: null,\n};\n\nexport default CompleteStep;\n","import { Plus as PlusIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Status, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, MediaUploadStep, ProcessingStep, CompleteStep } from './steps';\nimport { UploadStep } from './uploadSteps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\n\nconst PROCESS_STATE = ['error', 'success'];\n\n/*\n * This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be\n * rendered first and then updated with the right status.\n */\nconst ANIMATION_FIX = 10;\nconst MAX_SIZE_DEFAULT = 5000000;\nconst UPLOAD_STEP_COMPONENTS = {\n [UploadStep.UPLOAD_IMAGE_STEP]: UploadImageStep,\n [UploadStep.MEDIA_UPLOAD_STEP]: MediaUploadStep,\n};\n\nclass Upload extends Component {\n constructor(props) {\n super(props);\n this.dragCounter = 0;\n this.timeouts = null;\n\n this.state = {\n fileName: '',\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: null,\n uploadedImage: null,\n };\n }\n\n getErrorMessage(status) {\n switch (status) {\n case 413:\n return (\n this.props.csTooLargeMessage ||\n this.props.intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: this.props.maxSize / 1000000,\n })\n );\n case 415:\n return (\n this.props.csWrongTypeMessage ||\n this.props.intl.formatMessage(messages.csWrongTypeMessage)\n );\n default:\n return this.props.csFailureText || this.props.intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n onDrop(event) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer && event.dataTransfer.files && event.dataTransfer.files[0]) {\n this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n onAnimationCompleted = async (status) => {\n const { response, isProcessing, fileName } = this.state;\n // Success.\n const { animationDelay } = this.props;\n if (isProcessing && status === Status.SUCCEEDED) {\n const { onSuccess } = this.props;\n this.timeouts = setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => (onSuccess ? onSuccess(response, fileName) : {}),\n );\n }, animationDelay);\n }\n // Failure.\n if (isProcessing && status === Status.FAILED) {\n const { onFailure } = this.props;\n this.timeouts = setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => (onFailure ? onFailure(response) : {}),\n );\n }, animationDelay);\n }\n };\n\n asyncPost = (file) => {\n const { httpOptions, fetcher } = this.props;\n const { fileInputName = file.name, data = {} } = httpOptions || {};\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(this.prepareHttpOptions(httpOptions), formData, fetcher);\n };\n\n asyncResponse = (response, type) => {\n // Gives time to the animation callback to fire.\n this.timeouts = setTimeout(() => {\n this.setState({\n response,\n isError: type === PROCESS_STATE[0],\n isSuccess: type === PROCESS_STATE[1],\n });\n }, ANIMATION_FIX);\n };\n\n prepareHttpOptions = (httpOptions) => {\n if (!httpOptions.url) {\n throw new Error('You must supply a URL to post image data asynchronously');\n }\n return httpOptions;\n };\n\n handleOnClear = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n if (onCancel) {\n onCancel();\n }\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n if (onStart) {\n onStart(file);\n }\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, PROCESS_STATE[0]);\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n const response = {\n status: 415,\n statusText: 'Unsupported Media Type',\n };\n this.asyncResponse(response, PROCESS_STATE[0]);\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n const response = {\n status: 413,\n statusText: 'Request Entity Too Large',\n };\n this.asyncResponse(response, PROCESS_STATE[0]);\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n return await this.asyncPost(file)\n .then((response) => this.asyncResponse(response, 'success'))\n .then(() => {\n this.showDataImage(file64);\n return true;\n })\n .catch((error) => {\n this.asyncResponse(error, PROCESS_STATE[0]);\n return false;\n });\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n usDropMessage,\n usAccept,\n usButtonText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n uploadStep,\n intl,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n const UploadStepComponent = UPLOAD_STEP_COMPONENTS[uploadStep] || UploadImageStep;\n\n return (\n <div\n className={classNames('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete,\n 'droppable-negative': isError,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={(event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadStepComponent\n fileDropped={(file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: this.props.maxSize / 1000000 })\n }\n />\n )}\n\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onAnimationCompleted={(status) => this.onAnimationCompleted(status)}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {/* Starts render the step when isSuccess or isError are true so markup is there when css transition kicks in\n css transition to work properly */}\n {(isSuccess || isError || isComplete) && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isError={isError}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csFailureText={this.getErrorMessage(response?.status)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nUpload.propTypes = {\n animationDelay: PropTypes.number,\n csButtonText: PropTypes.string,\n csFailureText: PropTypes.string,\n csSuccessText: PropTypes.string,\n csTooLargeMessage: PropTypes.string,\n csWrongTypeMessage: PropTypes.string,\n httpOptions: PropTypes.shape({\n url: PropTypes.string.isRequired,\n method: PropTypes.oneOf(['POST', 'PUT', 'PATCH']),\n fileInputName: PropTypes.string,\n data: PropTypes.object,\n headers: PropTypes.object,\n }),\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher: PropTypes.func,\n maxSize: PropTypes.number,\n onCancel: PropTypes.func,\n onFailure: PropTypes.func,\n onStart: PropTypes.func,\n onSuccess: PropTypes.func,\n psButtonText: PropTypes.string,\n psButtonDisabled: PropTypes.bool,\n psProcessingText: PropTypes.string,\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept: PropTypes.string,\n usButtonText: PropTypes.string,\n usDisabled: PropTypes.bool,\n usDropMessage: PropTypes.string,\n usHelpImage: PropTypes.node,\n usLabel: PropTypes.string,\n usPlaceholder: PropTypes.string,\n uploadStep: PropTypes.oneOf(['uploadImageStep', 'mediaUploadStep']),\n};\n\nUpload.defaultProps = {\n animationDelay: 700,\n csButtonText: undefined,\n csFailureText: undefined,\n csSuccessText: undefined,\n csTooLargeMessage: undefined,\n csWrongTypeMessage: undefined,\n httpOptions: null,\n maxSize: MAX_SIZE_DEFAULT,\n onCancel: null,\n onFailure: null,\n onStart: null,\n onSuccess: null,\n psButtonText: undefined,\n psButtonDisabled: false,\n psProcessingText: undefined,\n size: 'md',\n usAccept: 'image/*',\n usButtonText: undefined,\n usDisabled: false,\n usDropMessage: undefined,\n usHelpImage: '',\n usLabel: '',\n usPlaceholder: undefined,\n uploadStep: UploadStep.UPLOAD_IMAGE_STEP,\n};\n\n// this export is necessary for react-to-typescript-definitions\n// to be able to properly generate TS types, this is due to us wrapping this component in `injectIntl` before exporting\nexport { Upload };\n\nexport default injectIntl(Upload);\n",null,null,null,null,null,null,null,null,null,null,null],"names":["HistoryNavigator","constructor","history","historyLimit","length","currIndex","reset","newHistory","add","element","push","redo","historyLength","undo","isIosDevice","sampleTouchDevices","matchString","map","device","join","regex","RegExp","navigator","userAgent","match","addClickClassToDocumentOnIos","document","documentElement","classList","removeClickClassFromDocumentOnIos","remove","isServerSide","window","isBrowser","NO_SCROLL_CLASS","addNoScrollClass","removeNoScrollClass","Theme","Direction","ControlType","Priority","Breakpoint","Size","Typography","Width","Type","DateMode","MonthFormat","Position","Layout","Status","Sentiment","ProfileType","Variant","Scroll","MarkdownNodeType","FileType","DEFAULT_LANG","DEFAULT_LOCALE","RTL_LANGUAGES","SUPPORTED_LANGUAGES","localeTrimmed","locale","trim","console","error","DEFAULT_TYPE","TITLE_GROUP","titleTypeMapping","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","as","type","className","props","mapping","isTypeSupported","undefined","BODY_DEFAULT","BODY_LARGE","_jsx","Element","CONTAINER_SIZE","EXTRA_SMALL","SMALL","MEDIUM","ExtraSmallChevron","classNames","role","children","width","height","viewBox","fill","focusable","fillRule","d","Option","forwardRef","media","title","content","component","button","decision","disabled","complex","inverseMediaCircle","showMediaAtAllSizes","showMediaCircle","isContainerAligned","rest","reference","ref","_jsxs","Body","newItems","itemsOpen","index","ActionButton","onClick","priority","PRIMARY","text","SECONDARY","ActionOption","action","sharedProps","getAriaLabel","defineMessages","ariaLabel","id","CloseButton","size","filled","isDisabled","testId","intl","useIntl","formatMessage","messages","Link","href","target","isBlank","iconTypeMap","positive","Check","neutral","Info","warning","Alert","negative","Cross","pending","ClockBorderless","logActionRequired","message","includes","process","env","NODE_ENV","warn","logActionRequiredIf","conditional","reader","Parser","writer","commonmark","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","Markdown","allowList","blockList","config","linkTarget","link","paragraphClass","paragraph","parser","nodes","parsed","parse","toExclude","filter","STRONG","InlineMarkdown","propTypes","PropTypes","string","isRequired","defaultProps","AlertArrowPosition","resolveType","dismissible","icon","onDismiss","variant","useEffect","arrow","AvatarType","backwardsCompatibleSize","Avatar","backgroundColorSeed","outlined","sizeFromProps","theme","LIGHT","backgroundColorFromSeed","useMemo","backgroundColor","Badge","border","classes","badge","OptionalBadge","url","altText","statusIcon","src","alt","StatusIcon","sentiment","_Fragment","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","useState","isBusinessProfile","BUSINESS","getAvatarProps","FocusBoundary","wrapperReference","useRef","focus","preventScroll","DimmerManager","dimmers","dimmer","dimmerIndex","indexOf","EXIT_ANIMATION","dimmerManager","handleTouchMove","event","isTouchedElementDimmer","contains","stopPropagation","useConditionalListener","attachListener","callback","eventType","parent","isUndefined","addEventListener","DirectionContext","createContext","LTR","DirectionProvider","direction","value","useDirection","useContext","ObserverParams","threshold","useHasIntersected","elRef","loading","hasIntersected","setHasIntersected","current","isValidReference","handleOnIntersect","entries","observer","forEach","entry","isIntersecting","unobserve","didCancel","IntersectionObserver","observe","useScreenSize","useLayout","screenXs","screenSm","screenMd","screenLg","LARGE","screenXl","EXTRA_LARGE","SlidingPanel","position","open","showSlidingPanelBorder","slidingPanelPositionFixed","localReference","useImperativeHandle","_createElement","CSSTransition","key","nodeRef","in","timeout","enter","exit","appear","unmountOnExit","Drawer","footerContent","headerTitle","onClose","isMobile","titleId","useId","Dimmer","BOTTOM","node","func","bool","oneOf","RIGHT","INITIAL_Y_POSITION","CONTENT_SCROLL_THRESHOLD","MOVE_OFFSET_THRESHOLD","radius","xxs","xs","sm","xl","ANIMATION_DURATION_IN_MS","ProcessIndicator","Component","state","status","interval","componentDidMount","setInterval","statusFromState","sizeFromState","statusFromProps","setState","runCallBack","shouldComponentUpdate","nextProps","nextState","isSameStatus","isSameSize","componentWillUnmount","clearInterval","clearTimeout","onAnimationCompleted","timeouts","setTimeout","render","dataTestId","FAILED","HIDDEN","SUCCEEDED","xmlns","cx","cy","r","fillOpacity","PROCESSING","loadingAriaLabel","typeClassMap","ACCENT","POSITIVE","NEGATIVE","priorityClassMap","TERTIARY","deprecatedTypeMap","LINK","PAY","DANGER","oldTypePriorityMap","deprecatedTypeMapMessage","deprecatedTypes","keys","establishNewType","originalType","establishNewPriority","originalPriority","logDeprecationNotices","Button","block","newType","newPriority","Card","isExpanded","details","isOpen","Chevron","orientation","TOP","hasChildren","requiredIf","CheckboxButton","checked","onChange","Checkbox","required","readOnly","label","secondary","onFocus","onBlur","isModern","useTheme","checkbox","innerDisabled","BODY_LARGE_BOLD","CheckboxOption","Chip","onRemove","onKeyPress","ariaChecked","closeButton","isActionable","defaultRole","tabIndex","closeButtonReference","previousCloseButtonShown","Chips","selected","multiple","isSelected","Array","isArray","handleOnChange","selectedValue","isEnabled","isCurrentlyEnabled","chips","chipSelected","chip","choice","CircularButton","iconElement","Number","cloneElement","BODY_DEFAULT_BOLD","isWithinRange","max","isDateValid","date","MDY","Set","YMD","convertToLocalMidnight","DateInput","ariaLabelledBy","dayLabel","dayAutoComplete","monthLabel","yearLabel","yearAutoComplete","monthFormat","LONG","mode","DAY_MONTH_YEAR","placeholders","selectProps","getDateObject","getInitialDate","unit","dateObject","isMonthAndYearFormat","getFullYear","getMonth","POPOVER_OFFSET","fallbackPlacements","LEFT","setPopperElement","altAxis","anchorRef","DateTrigger","selectedDate","placeholder","onClear","formatDate","buttonClasses","DateHeader","onLabelClick","onPreviousClick","onNextClick","dateMode","getFocusableTime","timeSpan","find","isActive","time","isNow","TableLink","item","longTitle","active","today","autofocus","buttonRef","SHORT_DAY_FORMAT","day","DayCalendarTable","getTableStructure","firstDayOfMonth","DayCalendar","PureComponent","selectPreviousMonth","viewYear","onViewDateUpdate","month","viewMonth","year","selectNextMonth","ROWS","COLS","MONTH_ONLY_FORMAT","MonthCalendarTable","min","onSelect","getLink","Date","autofocusMonth","MonthCalendar","onMonthSelect","selectPreviousYear","selectNextYear","YEAR_ONLY_FORMAT","YearCalendarTable","startYear","YearCalendar","onYearSelect","selectPreviousYears","DateLookup","clearable","createRef","dropdown","getStartOfDay","originalDate","propsMax","hasSelectedChanged","getTime","propsSelected","hasMinChanged","propsMin","hasMaxChanged","viewDateThatIsWithinRange","moveToWithinRange","componentDidUpdate","previousProps","focusOn","mediaQuery","matchMedia","matches","Tile","description","isSmall","onKeyDown","DecisionPresentation","DecisionType","Decision","options","presentation","LIST","NAVIGATION","showMediaCircleInList","renderedOptions","list","NavigationOption","LIST_BLOCK","LIST_BLOCK_GRID","breakpoint","isGrid","isLayoutHorizontal","layout","HORIZONTAL_LEFT_ALIGNED","HORIZONTAL_RIGHT_ALIGNED","HORIZONTAL_JUSTIFIED","getAlignmentClasses","DefinitionList","definitions","muted","VERTICAL_ONE_COLUMN","VERTICAL_TWO_COLUMN","definition","arrayOf","shape","Display","Heading","DISPLAY_LARGE","DropFade","show","clonedChild","React","ESCAPED_CLOSING_CHEVRON","whitelistedTags","tags","tag","transformed","opening","closing","escapedRegex","ESCAPED_OPENING_CHEVRON","SUPPORTED_TAGS","emphasisHtmlTransformer","EmphasisHtmlTransformer","Emphasis","FlowHeader","bottomContent","HORIZONTAL","leftContent","rightContent","isVertical","VERTICAL","LogoType","LogoFlagInverse","LogoFlagPlatformInverse","LogoFlagPlatform","LogoFlag","LogoWiseInverse","LogoWisePlatformInverse","LogoWisePlatform","LogoWise","svgPaths","WISE","WISE_BUSINESS","WISE_INVERSE","WISE_BUSINESS_INVERSE","WISE_PLATFORM","WISE_PLATFORM_INVERSE","WISE_FLAG","WISE_FLAG_INVERSE","WISE_FLAG_PLATFORM","WISE_FLAG_PLATFORM_INVERSE","Logo","inverse","LogoSm","LogoMd","Tooltip","setOpen","anchorReference","arrowElement","setArrowElement","supportsTouchEvents","onTouchStartIsDefined","ontouchstart","maxTouchPointsIsDefined","maxTouchPoints","documentTouchIsDefined","DocumentTouch","userAgentSuggestsTouchDevice","isTouchDevice","to","Math","from","Stepper","steps","activeStep","isRTL","AnimatedLabel","activeLabel","labels","BackButton","ICON","ArrowLeftIcon","FlowNavigation","avatar","logo","done","onGoBack","HeaderAction","Image","onLoad","onError","stretch","shrink","elementReference","imageSource","imageOnLoad","EmptyTransparentImage","classnames","InfoPresentation","TRANSITION_DURATION_IN_MILLISECONDS","Modal","body","footer","scroll","VIEWPORT","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","split","isMedium","resolvePlacement","preferredPlacement","POPOVER","isModal","MODAL","HelpCircleIcon","buttonProps","InlineAlert","danger","AlertCircleIcon","cssValueWithUnit","InputPaddingStartContext","InputPaddingEndContext","useInputPaddings","paddingStart","paddingEnd","paddingInlineStart","inputPaddingInitialState","initialContentWidth","padding","inputAddonDefaultPadding","inputAddonContentWidthAddendByPadding","formControlClassNameBase","Input","restProps","inputPaddings","SearchInput","InputGroup","addonStart","Search","PolymorphicWithOverrides","__overrides","restOverrides","BottomSheet","renderTrigger","initialFocusRef","onCloseEnd","refs","context","onOpenChange","ButtonInput","style","Popover","placement","floatingStyles","useFloating","middleware","offset","flip","floatingPadding","crossAxis","shift","floatingSize","apply","elements","rects","availableHeight","floating","searchableString","replace","normalize","toLowerCase","inferSearchableStrings","innerValue","SelectInputTriggerButtonPropsContext","dedupeSelectInputOptionItem","existingValues","dedupeSelectInputItems","items","option","filterSelectInputOptionItem","needle","filterMatchers","some","haystack","filterSelectInputItems","TextArea","getSymbolsInPatternWithPosition","pattern","patternWithSymbolsPosition","patternArray","symbol","formatWithPattern","unformatWithPattern","valueArray","getCountOfSymbolsInSelection","selectionEnd","selectionStart","getDistanceToNextSymbol","WithDisplayFormat","autoComplete","unformattedValue","displayPattern","historyNavigator","prevDisplayPattern","triggerType","triggerEvent","pastedLength","unFormattedValue","getUserAction","InputWithDisplayFormat","renderProps","InstructionsList","dos","donts","sort","dosInstructions","doThis","Instruction","dontsInstructions","dont","orderedInstructions","Loader","small","displayInstantly","setHasDebounced","Money","currency","formatMoney","amount","isNumberOrNull","v","isNumber","isNull","formatAmountIfSet","maxLengthOverride","String","formatAmount","parseNumber","parseAmount","allowedInputKeys","NavigationOptionList","Children","child","toString","STORAGE_NAME","getLocalStorage","storageItem","localStorage","getItem","storage","JSON","Nudge","mediaName","persistDismissal","isPreviouslyDismissed","isDismissed","setIsDismissed","isMounted","setIsMounted","handleOnDismiss","dismissedNudgesStorage","setItem","stringify","OverlayHeader","countries","iso2","iso3","phone","longestMatchingPrefix","matchingCodes","reduce","a","b","DEFAULT_PHONE_CODE","isValidPhoneNumber","phoneNumber","explodeNumberModel","number","country","findCountryByPrefix","prefix","DIGITS_MATCH","sortArrayByProperty","arrayToSort","property","groupCountriesByPrefix","countriesByPrefix","Map","filterCountriesByIso3","iso3Codes","ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","initialValue","countryCode","searchPlaceholder","disabledCountries","internalValue","setInternalValue","cleanValue","cleanNumber","setDefaultPrefix","suffix","Progress","progress","setValue","ProgressBar","textEnd","htmlFor","defaultPromoCardContext","PromoCardContext","usePromoCardContext","PromoCard","defaultChecked","download","hrefLang","headingLevel","imageAlt","imageClass","indicatorLabel","indicatorIcon","isChecked","rel","useDisplayFont","contextIsDisabled","setChecked","handleClick","fallbackId","componentId","getIconType","LanguageContext","LanguageProvider","Provider","i18n","defaultRichTextElements","RadioButton","Radio","RadioGroup","radios","controlledValue","uncontrolledValue","nextValue","setUncontrolledValue","RadioOption","note","Flag","code","intrinsicSize","DEFAULT_SEARCH_VALUE","DEFAULT_OPTIONS_PAGE_SIZE","includesString","string1","string2","defaultFilterFunction","searchValue","isPlaceholderOption","searchStrings","isActionableOption","header","separator","isHeaderOption","isSeparatorOption","clamp","DEFAULT_SELECTED_OPTION","isSearchableOption","getUniqueIdForOption","parentId","uniqueOptionId","Select","dropdownWidth","search","defaultOptions","onSearchChange","initSearchValue","classNamesProp","dropdownUp","dropdownProps","s","setSearchValue","keyboardFocusedOptionIndex","setKeyboardFocusedOptionIndex","keyboardFocusedReference","previousKeyboardFocusedOptionIndex","numberOfOptionsShown","setNumberOfOptionsShown","searchBoxReference","selectReference","dropdownButtonReference","optionsListReference","isSearchEnabled","isDropdownAutoWidth","fallbackButtonId","getSimpleRandomId","selectableOptions","focusedOption","computedId","listboxId","searchBoxId","cancelled","requestAnimationFrame","scrollIntoView","handleOnClick","handleTouchStart","currentTarget","handleCloseOptions","handleOnFocus","handleOnBlur","nativeEvent","elementReceivingFocus","relatedTarget","select","handleSearchChange","handleKeyDown","moveFocusWithDifference","selectKeyboardFocusedOption","selectOption","difference","selectedOptionIndex","optionIndex","isOptionSelected","previousFocusedIndex","indexToStartMovingFrom","unClampedNewIndex","newIndex","isNaN","createSelectHandlerForOption","renderOptionsList","dropdownClass","showPlaceholder","Boolean","PlaceHolderOption","SearchBox","focusedOptionId","slice","renderOption","ShowMoreOption","placeholderOption","SeparatorOption","HeaderOption","separatorOption","headerOption","isFocusedWithKeyboard","getIndexWithoutHeadersForIndexWithHeaders","sum","currentIndex","hasActiveOptions","onTouchMove","htmlType","Panel","anchorWidth","dropdownRight","any","oneOfType","objectOf","object","SegmentedControl","segments","animate","setAnimate","segmentsRef","Error","segmentsWithRefs","segment","updateSegmentPosition","setProperty","selectedSegmentRef","offsetWidth","offsetLeft","handleWindowSizeChange","CSS_TRANSITION_DURATION","Snackbar","bodyRef","transitionTimeout","visible","SnackbarContext","createSnackbar","Consumer","SnackbarProvider","Sticky","BadgeIcons","PENDING","PendingCircleIcon","statusLabels","DONE","illustration","iconSize","statusMapping","info","Switch","preventDefault","returnIcon","stopImmediatePropagation","SwitchOption","Tab","panelId","focusTab","firstUpdate","checkFocus","clickable","TabList","array","TabPanel","tabId","MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","abs","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab","getVelocity","coords","relevant","first","last","getElasticDragDifference","innerWidth","E","MIN_INDEX","enabledTabsFilter","tab","SpacerWidth","default","md","lg","Tabs","containerReference","translateX","translateFrom","translateTo","translateLineX","isAnimating","isSwiping","isScrolling","lastSwipeVelocity","fullWidthTabs","headerWidth","BLOCK","container","containerWidth","tabRefs","filteredTabsLength","tabs","MAX_INDEX","setTabWidth","switchTab","animateToTab","disableScroll","passive","handleResize","previousState","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","animatePanelsOnClick","instantOnClick","removeEventListener","setContainerWidth","selectedTabIndex","setContainerRefAndWidth","getBoundingClientRect","isTabDisabled","getAllTabsWidth","getDistanceToSelectedTab","_","idx","allTabsWidth","AUTO","getTabLineWidth","getTabToSelect","nextSelected","swipedOverHalfOfContainer","calculateApplicableDragDifference","elasticDrag","onTabSelect","getTabIndexWithoutDisabledTabs","instant","animateLine","animatePanel","currentTranslateTo","handleTabClick","touches","clientX","y","clientY","now","currentSwipe","persist","currentSelectedFromProps","changedTouches","yAxisDifference","dragDifference","handleTouchEnd","changeTabOnSwipe","transitionSpacing","spacer","tabsLength","distanceSwiped","remainingContainerToTravel","restrictedVelocity","hidePanelOverflow","sliderWidth","Spacer","display","RTL","onTouchStart","onTouchEnd","activeElement","transform","overflow","Spring","precision","onRest","animated","div","Fragment","SpacerSizes","NONE","TextareaWithDisplayFormat","DEFAULT_INPUT_MIN_WIDTH","inputRef","sizerRef","inputWidth","autoFocus","recalculateWidth","query","DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","allowNew","autoFillOnBlur","chipSeparators","inputAutoComplete","minQueryLength","searchDelay","showSuggestions","showNewEntry","validateChip","handleSearchDebounced","debounce","handleSearch","initialQuery","errorState","optionsShown","isFocused","UNSAFE_componentWillReceiveProps","onOptionSelected","selectItem","showMenu","updateSelectedValue","onInputChange","handleOnPaste","UploadStep","csButtonText","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","UploadImageStep","uploadInputRef","onManualUpload","fileDropped","file","files","getImage","usHelpImage","usLabel","UploadIcon","isComplete","usAccept","usDisabled","accept","postData","httpOptions","data","fetcher","fetch","method","then","response","ok","statusText","catch","asyncFileRead","Promise","resolve","reject","FileReader","readAsDataURL","result","isSizeValid","maxSize","isInteger","getFileType","file64","typeFromEncoded","isTypeValid","rule","allowedTypes","fileType","splittedRule","typeAllowed","extensionAllowed","SUPPORTED_MIME_TYPES","getSupportedSpotMimeTypes","mimeTypes","mimeTypesArray","mimeMapping","mapSupportedMimeTypes","requestMedia","mediaRequest","microapps","fileByteArray","base64ToByteArray","bytes","blob","Blob","mimeType","base64String","byteCharacters","atob","byteCharactersLength","byteArray","i","charCodeAt","Uint8Array","MediaUploadStep","getMediaFile","allowedMimeTypes","ProcessingStep","isError","isSuccess","psButtonDisabled","processStatus","Small","CompleteStep","fileName","isImage","uploadedImage","DocumentIcon","PROCESS_STATE","ANIMATION_FIX","MAX_SIZE_DEFAULT","UPLOAD_STEP_COMPONENTS","UPLOAD_IMAGE_STEP","MEDIA_UPLOAD_STEP","Upload","dragCounter","isProcessing","getErrorMessage","onDragLeave","isDroppable","onDragEnter","onDrop","dataTransfer","animationDelay","onSuccess","onFailure","asyncPost","fileInputName","formData","FormData","append","prepareHttpOptions","asyncResponse","handleOnClear","onCancel","showDataImage","dataUrl","onStart","uploadStep","UploadStepComponent","droppable","onDragOver","PlusIcon","headers","injectIntl","DEFAULT_SIZE_LIMIT","imageFileTypes","PDF","JPG","PNG","getAllowedFileTypes","fileTypes","fileTypeDefinition","extension","TEST_IDS","DEFAULT_FILE_INPUT_ID","UploadButton","sizeLimit","maxFiles","uploadButtonTitle","multipleFileInputWithFilesAdded","inputReference","setIsDropping","filesSelected","UploadItemBody","singleFileUpload","onDownload","UploadItem","canDelete","onDelete","filename","isSucceeded","getIcon","AlertCircle","generateFileId","UploadInput","deleteConfirm","onUploadFile","onDeleteFile","onValidationError","onFilesChange","maxFilesErrorMessage","sizeLimitErrorMessage","markedFileForDelete","setMarkedFileForDelete","uploadedFilesListReference","addFileToList","recentUploadedFile","addToList","listToAddTo","removeFileFromList","setUploadedFiles","filterOutFrom","updateListItem","listToUpdate","fileInList","updates","removeFile","modifyFileInList","handleFileUploadFailure","failureMessage","CriticalCommsBanner","subtitle","ListItem"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/common/propsValues/typography.ts","../src/body/Body.tsx","../src/common/historyNavigator/historyNavigator.ts","../src/common/deviceDetection/deviceDetection.ts","../src/common/domHelpers/documentIosClick.ts","../src/common/DOMOperations/DOMOperations.ts","../src/common/theme.ts","../src/common/direction.ts","../src/common/propsValues/control.ts","../src/common/propsValues/breakpoint.ts","../src/common/propsValues/size.ts","../src/common/propsValues/width.ts","../src/common/propsValues/type.ts","../src/common/propsValues/dateMode.ts","../src/common/propsValues/monthFormat.ts","../src/common/propsValues/position.ts","../src/common/propsValues/layouts.ts","../src/common/propsValues/status.ts","../src/common/propsValues/sentiment.ts","../src/common/propsValues/profileType.ts","../src/common/propsValues/variant.ts","../src/common/propsValues/scroll.ts","../src/common/propsValues/markdownNodeType.ts","../src/common/fileType.ts","../src/common/locale/index.ts","../src/chevron/Chevron.tsx","../src/common/Option/Option.tsx","../src/accordion/AccordionItem/AccordionItem.tsx","../src/accordion/Accordion.tsx","../src/actionButton/ActionButton.tsx","../src/actionOption/ActionOption.tsx","../src/common/closeButton/CloseButton.messages.ts","../src/common/closeButton/CloseButton.tsx","../src/link/Link.messages.ts","../src/link/Link.tsx","../src/statusIcon/StatusIcon.tsx","../src/title/Title.tsx","../src/utilities/logActionRequired.js","../src/markdown/Markdown.tsx","../src/alert/inlineMarkdown/InlineMarkdown.js","../src/alert/Alert.tsx","../src/avatar/avatarTypes.ts","../src/avatar/colors/colors.ts","../src/avatar/Avatar.tsx","../src/badge/Badge.tsx","../src/avatarWrapper/AvatarWrapper.tsx","../src/processIndicator/ProcessIndicator.js","../src/button/Button.messages.js","../src/button/classMap.js","../src/button/legacyUtils/legacyUtils.js","../src/button/Button.tsx","../src/card/Card.js","../src/checkboxButton/CheckboxButton.tsx","../src/checkbox/Checkbox.js","../src/checkboxOption/CheckboxOption.tsx","../src/chips/Chip.tsx","../src/chips/Chips.messages.ts","../src/chips/Chips.tsx","../src/circularButton/CircularButton.tsx","../src/common/focusBoundary/FocusBoundary.tsx","../src/withNextPortal/withNextPortal.tsx","../src/dimmer/dimmerManager/DimmerManager.ts","../src/dimmer/Dimmer.tsx","../src/common/hooks/useConditionalListener/useConditionalListener.ts","../src/provider/direction/DirectionProvider.tsx","../src/common/hooks/useDirection/useDirection.ts","../src/common/hooks/useHasIntersected/useHasIntersected.js","../src/common/hooks/useMedia.ts","../src/common/hooks/useScreenSize.ts","../src/common/hooks/useLayout/useLayout.ts","../src/slidingPanel/SlidingPanel.tsx","../src/drawer/Drawer.js","../src/common/bottomSheet/BottomSheet.tsx","../src/common/card/Card.tsx","../src/criticalBanner/CriticalCommsBanner.tsx","../src/common/dateUtils/getDayNames/getDayNames.ts","../src/common/dateUtils/moveToWithinRange/moveToWithinRange.ts","../src/common/dateUtils/isWithinRange/isWithinRange.ts","../src/common/dateUtils/getMonthNames/getMonthNames.ts","../src/common/dateUtils/isDateValid/isDateValid.ts","../src/common/dateUtils/isMonthAndYearFormat/isMonthAndYearFormat.ts","../src/common/dateUtils/getFormatForLocale/getFormatForLocale.ts","../src/dateInput/DateInput.messages.ts","../src/dateInput/utils/convertToLocalMidnight/convertToLocalMidnight.ts","../src/dateInput/DateInput.tsx","../src/common/panel/Panel.tsx","../src/common/responsivePanel/ResponsivePanel.tsx","../src/dateLookup/dateTrigger/DateTrigger.messages.ts","../src/dateLookup/dateTrigger/DateTrigger.tsx","../src/dateLookup/DateLookup.messages.ts","../src/dateLookup/dateHeader/DateHeader.tsx","../src/dateLookup/getFocusableTime/getFocusableTime.tsx","../src/dateLookup/getStartOfDay/getStartOfDay.tsx","../src/dateLookup/tableLink/TableLink.tsx","../src/dateLookup/dayCalendar/table/DayCalendarTable.tsx","../src/dateLookup/dayCalendar/DayCalendar.tsx","../src/dateLookup/monthCalendar/table/MonthCalendarTable.tsx","../src/dateLookup/monthCalendar/MonthCalendar.tsx","../src/dateLookup/yearCalendar/table/YearCalendarTable.tsx","../src/dateLookup/yearCalendar/YearCalendar.tsx","../src/dateLookup/DateLookup.tsx","../src/navigationOption/NavigationOption.tsx","../src/tile/Tile.js","../src/decision/Decision.tsx","../src/definitionList/DefinitionList.js","../src/display/Display.tsx","../src/dropFade/DropFade.tsx","../src/emphasis/EmphasisHtmlTransformer.ts","../src/emphasis/Emphasis.tsx","../src/common/flowHeader/FlowHeader.tsx","../src/logo/logoTypes.ts","../src/logo/Logo.js","../src/tooltip/Tooltip.tsx","../src/stepper/deviceDetection.js","../src/stepper/Stepper.tsx","../src/flowNavigation/FlowNavigation.messages.ts","../src/flowNavigation/animatedLabel/AnimatedLabel.tsx","../src/flowNavigation/backButton/BackButton.js","../src/flowNavigation/FlowNavigation.tsx","../src/header/Header.tsx","../src/image/Image.tsx","../src/info/infoPresentations.ts","../src/modal/Modal.tsx","../src/popover/Popover.tsx","../src/info/Info.messages.ts","../src/info/Info.tsx","../src/inlineAlert/InlineAlert.tsx","../src/common/hooks/useEffectEvent.ts","../src/common/hooks/useResizeObserver.ts","../src/utilities/cssValueWithUnit.ts","../src/inputs/InputGroup.tsx","../src/inputs/_common.ts","../src/inputs/Input.tsx","../src/common/textFormat/getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition.ts","../src/common/textFormat/formatWithPattern/formatWithPattern.ts","../src/common/textFormat/unformatWithPattern/unformatWithPattern.ts","../src/common/textFormat/getCountOfSymbolsInSelection/getCountOfSymbolsInSelection.ts","../src/common/textFormat/getDistanceToSymbol/getDistanceToSymbol.ts","../src/common/textFormat/getCursorPositionAfterKeystroke/getCursorPositionAfterKeystroke.ts","../src/withDisplayFormat/WithDisplayFormat.tsx","../src/inputWithDisplayFormat/InputWithDisplayFormat.tsx","../src/inputs/SearchInput.tsx","../src/common/polymorphicWithOverrides/PolymorphicWithOverrides.tsx","../src/inputs/SelectInput.messages.ts","../src/common/preventScroll/PreventScroll.tsx","../src/inputs/_BottomSheet.tsx","../src/inputs/_ButtonInput.tsx","../src/inputs/_Popover.tsx","../src/inputs/SelectInput.tsx","../src/inputs/TextArea.tsx","../src/instructionsList/InstructionsList.tsx","../src/listItem/ListItem.tsx","../src/loader/Loader.tsx","../src/money/Money.tsx","../src/moneyInput/MoneyInput.messages.ts","../src/moneyInput/currencyFormatting.ts","../src/moneyInput/MoneyInput.tsx","../src/navigationOptionsList/NavigationOptionsList.tsx","../src/nudge/Nudge.tsx","../src/overlayHeader/OverlayHeader.js","../src/phoneNumberInput/PhoneNumberInput.messages.ts","../src/phoneNumberInput/data/countries.ts","../src/phoneNumberInput/utils/longestMatchingPrefix/index.ts","../src/phoneNumberInput/utils/findCountryByCode/index.ts","../src/phoneNumberInput/utils/setDefaultPrefix/index.ts","../src/phoneNumberInput/utils/isValidPhoneNumber/isValidPhoneNumber.ts","../src/phoneNumberInput/utils/findCountryByPrefix/index.ts","../src/phoneNumberInput/utils/explodeNumberModel/index.ts","../src/phoneNumberInput/utils/cleanNumber/cleanNumber.ts","../src/phoneNumberInput/utils/sortArrayByProperty/sortArrayByProperty.ts","../src/phoneNumberInput/utils/groupCountriesByPrefix/groupCountriesByPrefix.ts","../src/phoneNumberInput/utils/excludeCountries/excludeCountries.ts","../src/phoneNumberInput/PhoneNumberInput.tsx","../src/progress/Progress.tsx","../src/progressBar/ProgressBar.tsx","../src/promoCard/PromoCardContext.tsx","../src/promoCard/PromoCardIndicator.tsx","../src/promoCard/PromoCard.tsx","../src/promoCard/PromoCardGroup.tsx","../src/provider/language/LanguageProvider.tsx","../src/provider/Provider.tsx","../src/common/RadioButton/RadioButton.tsx","../src/radio/Radio.tsx","../src/radioGroup/RadioGroup.tsx","../src/radioOption/RadioOption.tsx","../src/section/Section.tsx","../src/segmentedControl/SegmentedControl.tsx","../src/select/Select.messages.ts","../src/select/option/Option.tsx","../src/select/searchBox/SearchBox.tsx","../src/select/Select.js","../src/snackbar/Snackbar.tsx","../src/snackbar/SnackbarContext.ts","../src/snackbar/SnackbarProvider.tsx","../src/sticky/Sticky.tsx","../src/summary/Summary.messages.ts","../src/summary/Summary.tsx","../src/switch/Switch.tsx","../src/switchOption/SwitchOption.tsx","../src/tabs/Tab.js","../src/tabs/TabList.js","../src/tabs/TabPanel.js","../src/tabs/utils.js","../src/tabs/Tabs.js","../src/textareaWithDisplayFormat/TextareaWithDisplayFormat.tsx","../src/typeahead/typeaheadInput/TypeaheadInput.tsx","../src/typeahead/util/highlight.tsx","../src/typeahead/typeaheadOption/TypeaheadOption.tsx","../src/typeahead/Typeahead.tsx","../src/upload/uploadSteps.ts","../src/upload/Upload.messages.js","../src/upload/steps/uploadImageStep/uploadImageStep.js","../src/upload/utils/postData/postData.js","../src/upload/utils/asyncFileRead/asyncFileRead.js","../src/upload/utils/isSizeValid/isSizeValid.js","../src/upload/utils/getFileType/getFileType.js","../src/upload/utils/isTypeValid/isTypeValid.js","../src/upload/utils/getSupportedSpotMimeTypes/getSupportedSpotMimeTypes.js","../src/upload/utils/requestMedia/requestMedia.js","../src/upload/steps/mediaUploadStep/mediaUploadStep.js","../src/upload/steps/processingStep/processingStep.js","../src/upload/steps/completeStep/completeStep.js","../src/upload/Upload.js","../src/uploadInput/UploadInput.messages.ts","../src/uploadInput/uploadButton/UploadButton.messages.ts","../src/uploadInput/uploadButton/defaults.ts","../src/uploadInput/uploadButton/getAllowedFileTypes.ts","../src/uploadInput/uploadButton/UploadButton.tsx","../src/uploadInput/uploadItem/UploadItem.messages.ts","../src/uploadInput/uploadItem/UploadItemBody.tsx","../src/uploadInput/uploadItem/UploadItem.tsx","../src/uploadInput/UploadInput.tsx","../src/snackbar/useSnackbar.ts","../src/i18n/index.ts"],"sourcesContent":["export enum Typography {\n /**\n * @deprecated use Marketing titles or {@link Typography.DISPLAY_LARGE} instead\n */\n DISPLAY_EXTRA_LARGE = 'display-extra-large',\n DISPLAY_LARGE = 'display-large',\n DISPLAY_MEDIUM = 'display-medium',\n DISPLAY_SMALL = 'display-small',\n DISPLAY_NUMBER = 'display-number',\n\n TITLE_SCREEN = 'title-screen',\n TITLE_SECTION = 'title-section',\n TITLE_SUBSECTION = 'title-subsection',\n TITLE_BODY = 'title-body',\n TITLE_GROUP = 'title-group',\n\n BODY_LARGE = 'body-large',\n BODY_DEFAULT = 'body-default',\n BODY_DEFAULT_BOLD = 'body-default-bold',\n BODY_LARGE_BOLD = 'body-large-bold',\n\n LINK_LARGE = 'link-large',\n LINK_DEFAULT = 'link-default',\n}\n\n/**\n * @deprecated use {@link Typography.DISPLAY_LARGE} instead\n */\nexport type DisplayExtraLarge = 'display-extra-large';\nexport type DisplayLarge = 'display-large';\nexport type DisplayMedium = 'display-medium';\nexport type DisplaySmall = 'display-small';\nexport type DisplayNumber = 'display-number';\n\nexport type DisplayTypes =\n | DisplayExtraLarge\n | DisplayLarge\n | DisplayMedium\n | DisplaySmall\n | DisplayNumber;\n\nexport type TitleScreen = 'title-screen';\nexport type TitleSection = 'title-section';\nexport type TitleSubsection = 'title-subsection';\nexport type TitleBody = 'title-body';\nexport type TitleGroup = 'title-group';\n\nexport type TitleTypes = TitleScreen | TitleSection | TitleSubsection | TitleBody | TitleGroup;\n\nexport type BodyDefault = 'body-default';\nexport type BodyLargeBold = 'body-large-bold';\nexport type BodyDefaultBold = 'body-default-bold';\nexport type BodyLarge = 'body-large';\n\nexport type BodyTypes = BodyLargeBold | BodyDefault | BodyLarge | BodyDefaultBold;\n\nexport type LinkDefault = 'link-default';\nexport type LinkLarge = 'link-large';\n\nexport type LinkTypes = LinkDefault | LinkLarge;\n\nexport type TypographyTypes =\n | TitleScreen\n | TitleSection\n | TitleSubsection\n | TitleBody\n | TitleGroup\n | BodyDefault\n | BodyLargeBold\n | BodyDefaultBold\n | BodyLarge\n | LinkDefault\n | LinkLarge;\n","import classNames from 'classnames';\nimport { forwardRef, HTMLAttributes } from 'react';\n\nimport { Typography, BodyTypes } from '../common/propsValues/typography';\n\nconst DEFAULT_TYPE = Typography.BODY_DEFAULT;\n\nconst bodyTypes = new Set<BodyTypes>([\n Typography.BODY_DEFAULT,\n Typography.BODY_DEFAULT_BOLD,\n Typography.BODY_LARGE,\n Typography.BODY_LARGE_BOLD,\n]);\n\ntype Props = HTMLAttributes<HTMLSpanElement | HTMLParagraphElement> & {\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: BodyTypes;\n /**\n * Default value: `div`\n */\n as?: 'span' | 'p' | 'div';\n};\n\nconst Body = forwardRef(function Body(\n { as: Element = 'div', type = DEFAULT_TYPE, className, ...props }: Props,\n reference: React.ForwardedRef<\n {\n [key in typeof Element]: React.ElementRef<key>;\n }[typeof Element]\n >,\n) {\n const isTypeSupported = bodyTypes.has(type);\n return (\n <Element\n {...props}\n // @ts-expect-error TODO: Remove when component could be rewritten with generics\n // See: https://fettblog.eu/typescript-react-generic-forward-refs/\n ref={reference}\n className={classNames(`np-text-${isTypeSupported ? type : DEFAULT_TYPE}`, className)}\n />\n );\n});\n\nexport default Body;\n","class HistoryNavigator {\n history: (string | number)[];\n currIndex: number;\n historyLimit: number | undefined;\n\n constructor(history?: (string | number)[], historyLimit?: number) {\n this.history = history && history.length > 0 ? history : [''];\n this.currIndex = this.history.length - 1;\n this.historyLimit = historyLimit;\n }\n\n reset = (newHistory?: (string | number)[], historyLimit = 20) => {\n this.history = newHistory && newHistory.length > 0 ? newHistory : [''];\n this.currIndex = this.history.length - 1;\n this.historyLimit = historyLimit;\n };\n\n add = (element: string | number) => {\n if (!this.historyLimit || this.history.length <= this.historyLimit) {\n this.history.push(element);\n // Always keep the current Index to the latest change\n this.currIndex = this.history.length - 1;\n } else {\n // @TODO not needed now but maybe it can be useful to implement a limit.\n this.currIndex = this.history.length - 1;\n }\n };\n\n redo = () => {\n const historyLength = this.history.length;\n this.currIndex = this.currIndex + 1 < historyLength ? this.currIndex + 1 : historyLength - 1;\n return this.history[this.currIndex];\n };\n\n undo = () => {\n this.currIndex = this.currIndex - 1 > 0 ? this.currIndex - 1 : 0;\n return this.history[this.currIndex];\n };\n}\n\nexport default HistoryNavigator;\n","export function isIosDevice() {\n const sampleTouchDevices = ['iphone', 'ipad', 'ipod'];\n const matchString = sampleTouchDevices.map((device: string) => `(${device})`).join('|');\n const regex = new RegExp(matchString, 'gi');\n\n return typeof navigator !== 'undefined' && !!regex.test(navigator.userAgent);\n}\n","import { SyntheticEvent } from 'react';\n\nimport { isIosDevice } from '../deviceDetection';\n\n/*\n This is a hack to make ios devices register `click` on document.\n\tIos document doesn't have `click`. It has `touch` and because of that we can't addEventListener('click') to document.\n\tSo we add `ios-click` class to html root element and in css we add {cursor: pointer} so ios devices know that document is clickable element.\n*/\n\nexport function addClickClassToDocumentOnIos() {\n if (isIosDevice()) {\n document.documentElement.classList.add('ios-click');\n }\n}\n\nexport function removeClickClassFromDocumentOnIos() {\n if (isIosDevice()) {\n document.documentElement.classList.remove('ios-click');\n }\n}\n\nexport function isServerSide(): boolean {\n return typeof window === 'undefined';\n}\n\nexport function isBrowser(): boolean {\n return !isServerSide();\n}\n\nexport function stopPropagation(event: SyntheticEvent) {\n event.stopPropagation();\n event.preventDefault();\n if (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {\n event.nativeEvent.stopImmediatePropagation();\n }\n}\n\nexport function getSimpleRandomId(prefix: string): string {\n const random = Math.ceil(Math.random() * 999999);\n return `${prefix}${random}`;\n}\n","/**\n * Defined in `Dimmer.less`\n */\nconst NO_SCROLL_CLASS = 'no-scroll';\n\n/**\n * Apply {@link NO_SCROLL_CLASS} that disables scroll on page (e.g use in Dimmer to disable scroll behind the component)\n *\n * CSS class needs to be applied for `html` and not `body`, as this doing both will break any position sticky in the document.\n */\nexport const addNoScrollClass = () => {\n document.documentElement.classList.add(NO_SCROLL_CLASS);\n};\n\n/**\n * Clean up after {@link addNoScrollClass} function\n */\nexport const removeNoScrollClass = () => {\n document.documentElement.classList.remove(NO_SCROLL_CLASS);\n};\n","export enum Theme {\n LIGHT = 'light',\n DARK = 'dark',\n NAVY = 'navy',\n PERSONAL = 'personal',\n PERSONAL_FOREST_GREEN = 'personal--forest-green',\n PERSONAL_BRIGHT_GREEN = 'personal--bright-green',\n PERSONAL_DARK = 'personal--dark',\n}\n\nexport type ThemeLight = 'light';\nexport type ThemeDark = 'dark';\nexport type ThemeNavy = 'navy';\nexport type ThemePersonal = 'personal';\nexport type ThemePersonalForestGreen = 'personal--forest-green';\nexport type ThemePersonalBrightGreen = 'personal--bright-green';\nexport type ThemePersonalDark = 'personal--dark';\n\nexport type ThemeType =\n | ThemeLight\n | ThemeDark\n | ThemeNavy\n | ThemePersonal\n | ThemePersonalForestGreen\n | ThemePersonalBrightGreen\n | ThemePersonalDark;\n\nexport const modernThemes = new Set<ThemeType>([\n 'personal',\n 'personal--forest-green',\n 'personal--bright-green',\n 'personal--dark',\n]);\n\nexport const getThemeClassName = (theme: ThemeType) => `np-theme-${theme}`;\n","export enum Direction {\n RTL = 'rtl',\n LTR = 'ltr',\n AUTO = 'auto',\n}\n\nexport type LayoutDirection = 'rtl' | 'ltr' | 'auto';\n","export enum ControlType {\n ACCENT = 'accent',\n POSITIVE = 'positive',\n NEGATIVE = 'negative',\n}\n\nexport type ControlTypeAccent = 'accent';\nexport type ControlTypePositive = 'positive';\nexport type ControlTypeNegative = 'negative';\n\nexport enum Priority {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n TERTIARY = 'tertiary',\n}\n\nexport type PriorityPrimary = 'primary';\nexport type PrioritySecondary = 'secondary';\nexport type PriorityTertiary = 'tertiary';\n","export enum Breakpoint {\n ZOOM_400 = 320,\n EXTRA_SMALL = 480,\n SMALL = 576,\n MEDIUM = 768,\n LARGE = 992,\n EXTRA_LARGE = 1200,\n}\n","export enum Size {\n EXTRA_SMALL = 'xs',\n SMALL = 'sm',\n MEDIUM = 'md',\n LARGE = 'lg',\n EXTRA_LARGE = 'xl',\n}\n\nexport type SizeExtraSmall = 'xs';\nexport type SizeSmall = 'sm';\nexport type SizeMedium = 'md';\nexport type SizeLarge = 'lg';\nexport type SizeExtraLarge = 'xl';\n","export enum Width {\n BLOCK = 'block',\n AUTO = 'auto',\n}\n","/**\n * @deprecated use `ControlType` and `Priority` enums instead\n */\nexport enum Type {\n PRIMARY = 'primary',\n\n /**\n * @deprecated use\n */\n PAY = 'pay',\n SECONDARY = 'secondary',\n DANGER = 'danger',\n LINK = 'link',\n}\n","export enum DateMode {\n DAY_MONTH_YEAR = 'day-month-year',\n MONTH_YEAR = 'month-year',\n}\n","export enum MonthFormat {\n SHORT = 'short',\n LONG = 'long',\n}\n","export enum Position {\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right',\n CENTER = 'center',\n LEFT = 'left',\n LEFT_TOP = 'left-top',\n RIGHT = 'right',\n RIGHT_TOP = 'right-top',\n TOP = 'top',\n}\n\nexport type PositionCenter = 'center';\nexport type PositionTop = 'top';\nexport type PositionRight = 'right';\nexport type PositionBottom = 'bottom';\nexport type PositionLeft = 'left';\n","export enum Layout {\n VERTICAL = 'VERTICAL',\n VERTICAL_TWO_COLUMN = 'VERTICAL_TWO_COLUMN',\n VERTICAL_ONE_COLUMN = 'VERTICAL_ONE_COLUMN',\n HORIZONTAL = 'HORIZONTAL',\n HORIZONTAL_JUSTIFIED = 'HORIZONTAL_JUSTIFIED',\n HORIZONTAL_LEFT_ALIGNED = 'HORIZONTAL_LEFT_ALIGNED',\n HORIZONTAL_RIGHT_ALIGNED = 'HORIZONTAL_RIGHT_ALIGNED',\n}\n","export enum Status {\n PROCESSING = 'processing',\n FAILED = 'failed',\n SUCCEEDED = 'succeeded',\n HIDDEN = 'hidden',\n DONE = 'done',\n NOT_DONE = 'notDone',\n PENDING = 'pending',\n}\n\nexport type StatusProcessing = 'processing';\nexport type StatusFailed = 'failed';\nexport type StatusSucceeded = 'succeeded';\nexport type StatusHidden = 'hidden';\nexport type StatusDone = 'done';\nexport type StatusNotDone = 'notDone';\nexport type StatusPending = 'pending';\n","export enum Sentiment {\n NEGATIVE = 'negative',\n NEUTRAL = 'neutral',\n POSITIVE = 'positive',\n WARNING = 'warning',\n PENDING = 'pending',\n\n /**\n * @deprecated\n */\n INFO = 'info',\n /**\n * @deprecated\n */\n ERROR = 'error',\n /**\n * @deprecated\n */\n SUCCESS = 'success',\n}\n","export enum ProfileType {\n BUSINESS = 'BUSINESS',\n PERSONAL = 'PERSONAL',\n}\n\nexport type ProfileTypeBusiness = 'BUSINESS';\nexport type ProfileTypePersonal = 'PERSONAL';\n","export enum Variant {\n DESKTOP = 'desktop',\n MOBILE = 'mobile',\n}\n","export enum Scroll {\n CONTENT = 'content',\n VIEWPORT = 'viewport',\n}\n\nexport type ScrollContent = 'content';\nexport type ScrollViewport = 'viewport';\n","export enum MarkdownNodeType {\n BLOCK_QUOTE = 'block_quote',\n CODE_BLOCK = 'code_block',\n CODE = 'code',\n EMPH = 'emph',\n HEADING = 'heading',\n HTML_BLOCK = 'html_block',\n HTML_INLINE = 'html_inline',\n IMAGE = 'image',\n ITEM = 'item',\n LINEBREAK = 'linebreak',\n LINK = 'link',\n LIST = 'list',\n PARAGRAPH = 'paragraph',\n SOFTBREAK = 'softbreak',\n STRONG = 'strong',\n THEMATIC_BREAK = 'thematic_break',\n}\n","export enum FileType {\n PDF = '.pdf,application/pdf',\n JPG = '.jpg,.jpeg,image/jpeg',\n PNG = '.png,image/png',\n CSV = '.csv,text/csv',\n}\n","import { Direction } from '..';\n\nexport const DEFAULT_LANG = 'en';\nexport const DEFAULT_LOCALE = 'en-GB';\n\n/**\n * Languages written right-to-left.\n */\nexport const RTL_LANGUAGES = ['ar', 'he'];\n\n/**\n * @deprecated The source of truth for supported languages lives in Crab.\n */\nexport const SUPPORTED_LANGUAGES = [\n DEFAULT_LANG,\n 'de',\n 'es',\n 'fr',\n 'hu',\n 'id',\n 'it',\n 'ja',\n 'pl',\n 'pt',\n 'ro',\n 'ru',\n 'th',\n 'tr',\n 'uk',\n 'zh',\n];\n\n/**\n * Verifies and adjusts locale, replacing `_` with `-`.\n *\n * @param locale `es`, `es_ES`, `en-GB`, `en`, `ja`, `ja-JP`, etc.\n * @returns `null` if locale is unrecognized by `Intl.Locale`.\n */\nexport function adjustLocale(locale: string) {\n const localeTrimmed = locale?.trim();\n if (localeTrimmed) {\n try {\n return new Intl.Locale(localeTrimmed.replace('_', '-')).baseName;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n }\n return null;\n}\n\n/**\n * Provides corresponding lang (iso2) for provided locale.\n *\n * @deprecated The use of this function almost always breaks language variants\n * e.g. Simplified and Traditional Chinese.\n * There should be no use case for this function.\n * To select the correct translations from a translations object, pass the\n * locale directly into Crab's getLocalisedMessages.\n * @param locale `es`, `es-ES`, `en-GB`, `en`, `ja`, `ja-JP`, etc.\n * @returns Two-letter ISO 639-1 language code, falling back to `null` if locale is invalid or language is unsupported.\n */\nexport function getLangFromLocale(locale: string) {\n const adjustedLocale = adjustLocale(locale);\n if (adjustedLocale != null) {\n const { language } = new Intl.Locale(adjustedLocale);\n if (SUPPORTED_LANGUAGES.includes(language)) {\n return language;\n }\n }\n return null;\n}\n\n/**\n * Provides corresponding country code (iso2) for locales code with explicit region value.\n *\n * @param locale `es-ES`, `en-GB`, `ja-JP`, etc.\n * @returns `null` if the locale is invalid or the region can‘t be identified.\n */\nexport function getCountryFromLocale(locale: string) {\n const adjustedLocale = adjustLocale(locale);\n return adjustedLocale != null ? new Intl.Locale(adjustedLocale).region ?? null : null;\n}\n\n/**\n * Provides the layout direction for a given locale.\n *\n * @param locale `es`, `es-ES`, `en-GB`, `en`, `ja`, `ja-JP`, etc.\n * @returns The layout direction based on the locale, falling back to `Direction.LTR` if the locale is invalid or unsupported.\n */\nexport function getDirectionFromLocale(locale: string) {\n const adjustedLocale = adjustLocale(locale);\n return adjustedLocale != null && RTL_LANGUAGES.includes(new Intl.Locale(adjustedLocale).language)\n ? Direction.RTL\n : Direction.LTR;\n}\n","import { ChevronUp } from '@transferwise/icons';\nimport { IconSize } from '@transferwise/icons/lib/types';\nimport classNames from 'classnames';\n\nimport {\n Size,\n Position,\n PositionTop,\n PositionBottom,\n PositionRight,\n PositionLeft,\n SizeExtraSmall,\n SizeSmall,\n SizeMedium,\n} from '../common';\n\nconst CONTAINER_SIZE = {\n [Size.EXTRA_SMALL]: 10,\n [Size.SMALL]: 16,\n [Size.MEDIUM]: 24,\n};\n\nexport interface ChevronProps {\n orientation?: PositionTop | PositionBottom | PositionLeft | PositionRight;\n size?: SizeExtraSmall | SizeSmall | SizeMedium;\n disabled?: boolean;\n className?: string;\n}\n\nexport interface ExtraSmallChevronProps {\n className?: string;\n}\n\nconst ExtraSmallChevron = ({ className }: ExtraSmallChevronProps) => {\n return (\n <span\n className={classNames('tw-icon', 'tw-icon-chevron', className)}\n role=\"presentation\"\n aria-hidden\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\" focusable=\"false\">\n <path\n fillRule=\"evenodd\"\n d=\"M4.9995 2.0865L0.0635004 6.7645L1.2745 7.9125L4.9995 4.3835L8.7245 7.9135L9.9355 6.7645L4.9995 2.0865Z\"\n />\n </svg>\n </span>\n );\n};\n\nconst Chevron = ({\n orientation = Position.BOTTOM,\n size = Size.SMALL,\n disabled = false,\n className,\n}: ChevronProps) => {\n const classNameValue = classNames(\n 'tw-chevron',\n { 'chevron-color': !disabled },\n orientation,\n className,\n );\n\n if (size === Size.EXTRA_SMALL) {\n return <ExtraSmallChevron className={classNameValue} />;\n }\n\n const sizeValue = CONTAINER_SIZE[size] as IconSize;\n\n return <ChevronUp className={classNameValue} size={sizeValue} />;\n};\n\nexport default Chevron;\n","import classNames from 'classnames';\nimport { MouseEvent, forwardRef, HTMLAttributes, ReactNode, ElementType } from 'react';\n\nimport Body from '../../body';\nimport { LinkProps } from '../commonProps';\n\nexport interface BaseOptionProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'content'> {\n 'aria-label'?: string;\n media?: ReactNode;\n name?: string;\n htmlFor?: string;\n title: ReactNode;\n content?: ReactNode;\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n as?: ElementType;\n disabled?: boolean;\n button?: ReactNode;\n decision?: boolean;\n complex?: boolean;\n inverseMediaCircle?: boolean;\n className?: string;\n showMediaAtAllSizes?: boolean;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n}\n\ninterface AnchorOptionProps extends BaseOptionProps, LinkProps {\n as: 'a';\n}\n\nexport type OptionProps = BaseOptionProps | AnchorOptionProps;\n\nexport type ReferenceType = HTMLElement | HTMLAnchorElement;\n\nconst Option = forwardRef<ReferenceType, OptionProps>(\n (\n {\n media = '',\n title,\n content,\n as: component,\n button,\n decision = true,\n disabled = false,\n complex,\n inverseMediaCircle = true,\n className,\n showMediaAtAllSizes,\n showMediaCircle = true,\n isContainerAligned = false,\n ...rest\n },\n reference,\n ) => {\n const Element = component ?? 'label';\n\n return (\n <Element\n {...rest}\n ref={reference}\n className={classNames('np-option', className, {\n 'decision-complex': complex,\n decision,\n disabled,\n 'np-option__sm-media': showMediaAtAllSizes,\n 'np-option__container-aligned': isContainerAligned,\n })}\n disabled={disabled && Element === 'button'}\n >\n <div className=\"media\">\n {media && (\n <div className=\"media-left\">\n {showMediaCircle ? (\n <div\n className={classNames('circle circle-sm text-primary', {\n 'circle-inverse': inverseMediaCircle,\n })}\n >\n {media}\n </div>\n ) : (\n <div className=\"np-option__no-media-circle\">{media}</div>\n )}\n </div>\n )}\n <div className=\"media-body\">\n <h4 className=\"np-text-body-large-bold text-primary np-option__title\">{title}</h4>\n {content && <Body className=\"d-block np-option__body\">{content}</Body>}\n </div>\n <div className=\"media-right\">{button}</div>\n </div>\n </Element>\n );\n },\n);\n\nexport default Option;\n","import { useId } from '@radix-ui/react-id';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { cloneElement, FC, ReactNode } from 'react';\n\nimport Body from '../../body';\nimport Chevron from '../../chevron';\nimport { Position, Size, Typography } from '../../common';\nimport Option from '../../common/Option';\n\nexport interface AccordionItemProps {\n /** A label for the accordion item, used for accessibility purposes. */\n 'aria-label'?: string;\n /** An ID for the accordion item, used for accessibility purposes. */\n id?: string;\n /** The title of the accordion item. */\n title: ReactNode;\n /** The subtitle of the accordion item. */\n subtitle?: ReactNode;\n /** The content of the accordion item. */\n content: ReactNode;\n /** A callback function that is called when the accordion item is clicked. */\n onClick: () => void;\n /** Whether the accordion item is currently open or closed. */\n open: boolean;\n /** An optional icon to display next to the accordion item title. */\n icon?: ReactNode;\n /** @deprecated ... */\n theme?: 'light' | 'dark';\n}\n\n/**\n * AccordionItem\n *\n * A single item in an accordion component.\n *\n * @component\n * @param {string} [aria-label] - A label for the accordion item, used for accessibility purposes.\n * @param {string} [id] - An ID for the accordion item, used for accessibility purposes.\n * @param {ReactNode} title - The title of the accordion item.\n * @param {ReactNode} subtitle - The subtitle of the accordion item.\n * @param {ReactNode} content - The content of the accordion item.\n * @param {Function} onClick - A callback function that is called when the accordion item is clicked.\n * @param {boolean} open - Whether the accordion item is currently open or closed.\n * @param {ReactNode} [icon] - An optional icon to display next to the accordion item title.\n * @example\n * // Example usage:\n *\n * import AccordionItem from './AccordionItem';\n *\n * function App() {\n * const handleItemClick = () => {\n * console.log('Accordion item was clicked.');\n * };\n *\n * return (\n * <AccordionItem\n * title={<h2>Item Title</h2>}\n * content={<p>Item content goes here.</p>}\n * onClick={handleItemClick}\n * open={true}\n * icon={<Chevron />}\n * />\n * );\n * }\n */\nconst AccordionItem: FC<AccordionItemProps> = ({\n 'aria-label': ariaLabel,\n id,\n title,\n subtitle,\n content,\n onClick,\n open,\n icon,\n theme = 'light',\n}) => {\n const iconElement = icon ? cloneElement(icon as React.ReactElement<any>, { size: 24 }) : null;\n const fallbackId = useId();\n const accordionId = id ?? fallbackId;\n\n return (\n <div\n id={accordionId}\n className={classNames(\n 'np-accordion-item',\n iconElement ? 'np-accordion-item--with-icon' : null,\n {\n 'np-accordion-item--open': open,\n },\n )}\n >\n <Option\n aria-label={ariaLabel}\n as=\"button\"\n media={iconElement}\n title={title}\n content={subtitle}\n button={<Chevron orientation={open ? Position.TOP : Position.BOTTOM} size={Size.MEDIUM} />}\n inverseMediaCircle={false}\n aria-expanded={open}\n aria-controls={`${accordionId}-section`}\n id={`${accordionId}-control`}\n onClick={onClick}\n />\n {open && (\n <div id={`${accordionId}-section`} role=\"region\" aria-labelledby={`${accordionId}-control`}>\n <Body\n as=\"span\"\n type={Typography.BODY_LARGE}\n className={classNames('np-accordion-item__content', 'd-block', {\n 'has-icon': icon,\n })}\n >\n {content}\n </Body>\n </div>\n )}\n </div>\n );\n};\n\nexport default AccordionItem;\n","import { useState, FC } from 'react';\n\nimport AccordionItem, { AccordionItemProps } from './AccordionItem';\n\nexport type AccordionItem = Pick<\n AccordionItemProps,\n 'id' | 'title' | 'subtitle' | 'content' | 'icon'\n>;\n\nexport interface AccordionProps {\n /** The index of the item that should be open by default. */\n indexOpen?: number;\n /** An array of items to display in the accordion. */\n items: readonly AccordionItem[];\n /** A callback function that is called when an item is clicked. */\n onClick?: (index: number) => void;\n /** @deprecated */\n theme?: 'light' | 'dark';\n}\n\n/**\n * Accordion\n *\n * A simple accordion component that displays a list of items that can be expanded or collapsed.\n *\n * @component\n * @param {number} indexOpen - index of the item that should be open\n * @param {Array<AccordionItemProps>} items - array of items to display\n * @param {Function} onClick - callback function\n * @example\n * // Example usage:\n *\n * import Accordion from './Accordion';\n *\n * const items = [\n * {\n * id: 'item1',\n * title: 'Item 1',\n * content: 'This is the content for item 1.',\n * },\n * {\n * id: 'item2',\n * title: 'Item 2',\n * content: 'This is the content for item 2.',\n * },\n * {\n * id: 'item3',\n * title: 'Item 3',\n * content: 'This is the content for item 3.',\n * },\n * ];\n *\n * function App() {\n * const handleItemClick = (index) => {\n * console.log(`Item ${index} was clicked.`);\n * };\n *\n * return (\n * <Accordion items={items} onClick={handleItemClick} />\n * );\n * }\n */\nconst Accordion: FC<AccordionProps> = ({ indexOpen = -1, items, onClick, theme = 'light' }) => {\n const [itemsOpen, setItemsOpen] = useState(() =>\n items.map((value, index) => index === indexOpen),\n );\n\n /**\n * Handles a click event on an accordion item.\n *\n * @param index The index of the item that was clicked.\n */\n const handleOnClick = (index: number) => {\n if (onClick) {\n onClick(index);\n }\n const newItems = [...itemsOpen];\n newItems[index] = !itemsOpen[index];\n setItemsOpen(newItems);\n };\n\n return (\n <>\n {items.map((item, index) => (\n <AccordionItem\n key={item.id || index}\n open={itemsOpen[index]}\n title={item.title}\n subtitle={item.subtitle}\n content={item.content}\n icon={item.icon}\n onClick={() => handleOnClick(index)}\n />\n ))}\n </>\n );\n};\n\nexport default Accordion;\n","import classNames from 'classnames';\nimport { ButtonHTMLAttributes, forwardRef } from 'react';\n\nimport { Priority, PriorityPrimary, PrioritySecondary } from '../common';\n\nexport type ActionButtonProps = {\n priority?: PriorityPrimary | PrioritySecondary;\n /**\n * @deprecated use `children` instead\n */\n text?: string;\n} & ButtonHTMLAttributes<HTMLButtonElement>;\n\nconst ActionButton = forwardRef<HTMLButtonElement, ActionButtonProps>(\n (\n {\n disabled = false,\n className = undefined,\n onClick,\n priority = Priority.PRIMARY,\n text,\n children,\n ...rest\n }: ActionButtonProps,\n reference,\n ) => (\n <button\n ref={reference}\n type=\"button\"\n className={classNames(\n 'np-action-btn',\n 'np-text-body-default-bold',\n priority === Priority.SECONDARY ? 'btn-priority-2' : 'btn-priority-1',\n className,\n )}\n disabled={disabled}\n onClick={onClick}\n {...rest}\n >\n {children || text}\n </button>\n ),\n);\n\nexport default ActionButton;\n","import classNames from 'classnames';\nimport { ReactChild } from 'react';\n\nimport ActionButton from '../actionButton';\nimport { CommonProps, Priority, PriorityPrimary, PrioritySecondary } from '../common';\nimport Option from '../common/Option';\n\nexport type ActionOptionProps = {\n complex?: boolean;\n content?: ReactChild;\n disabled?: boolean;\n media?: ReactChild;\n showMediaAtAllSizes?: boolean;\n onClick: () => void;\n title: ReactChild;\n action: ReactChild;\n priority?: PriorityPrimary | PrioritySecondary;\n showMediaCircle?: boolean;\n isContainerAligned?: boolean;\n} & CommonProps;\n\nconst ActionOption = ({\n action,\n priority = Priority.PRIMARY,\n disabled,\n onClick,\n media,\n title,\n content,\n complex,\n className,\n showMediaAtAllSizes,\n showMediaCircle,\n isContainerAligned,\n}: ActionOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaAtAllSizes,\n showMediaCircle,\n className: classNames('tw-action-option', className),\n isContainerAligned,\n };\n\n const getAriaLabel = (): string | undefined => {\n const labels: string[] = [];\n\n if (typeof title === 'string') {\n labels.push(title);\n }\n\n if (typeof action === 'string') {\n labels.push(action);\n }\n\n return labels.join(', ') || undefined;\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <ActionButton\n priority={priority}\n disabled={disabled}\n aria-label={getAriaLabel()}\n onClick={onClick}\n >\n {action}\n </ActionButton>\n }\n />\n );\n};\n\nexport default ActionOption;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n ariaLabel: {\n id: 'neptune.CloseButton.ariaLabel',\n defaultMessage: 'Close',\n description: 'Description of close button',\n },\n});\n","import { Cross, CrossCircleFill } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { forwardRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../propsValues/size';\n\nimport messages from './CloseButton.messages';\n\nexport type CloseButtonProps = Pick<\n React.ComponentPropsWithoutRef<'button'>,\n 'aria-label' | 'className' | 'onClick'\n> & {\n size?: SizeSmall | SizeMedium | SizeLarge;\n filled?: boolean;\n isDisabled?: boolean;\n testId?: string;\n};\n\nexport const CloseButton = forwardRef(function CloseButton(\n {\n 'aria-label': ariaLabel,\n size = Size.MEDIUM,\n filled = false,\n className,\n onClick,\n isDisabled,\n testId,\n }: CloseButtonProps,\n reference: React.ForwardedRef<HTMLButtonElement>,\n) {\n const intl = useIntl();\n ariaLabel ??= intl.formatMessage(messages.ariaLabel);\n const Icon = filled ? CrossCircleFill : Cross;\n\n return (\n <button\n ref={reference}\n type=\"button\"\n className={classNames(\n 'np-close-button',\n 'close btn-link',\n 'text-no-decoration',\n {\n 'np-close-button--large': size === Size.MEDIUM,\n 'np-close-button--x-large': size === Size.LARGE,\n },\n className,\n )}\n aria-label={ariaLabel}\n aria-disabled={isDisabled}\n disabled={isDisabled}\n data-testid={testId}\n onClick={onClick}\n >\n <Icon size={size === Size.SMALL ? 16 : 24} />\n </button>\n );\n});\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n opensInNewTab: {\n id: 'neptune.Link.opensInNewTab',\n defaultMessage: '(opens in new tab)',\n },\n});\n","import { NavigateAway as NavigateAwayIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { AnchorHTMLAttributes } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { LinkLarge, LinkDefault } from '../common';\n\nimport messages from './Link.messages';\n\nexport type Props = AnchorHTMLAttributes<HTMLAnchorElement> & { type?: LinkLarge | LinkDefault };\n\n/**\n * Standard Link component with navigate away icon\n *\n * Documentation: https://transferwise.github.io/neptune-web/components/content/Link\n */\nconst Link = ({\n className,\n children,\n href,\n target,\n type,\n 'aria-label': ariaLabel,\n onClick,\n ...props\n}: Props) => {\n const isBlank = target === '_blank';\n\n const { formatMessage } = useIntl();\n\n return (\n <a\n href={href}\n target={target}\n className={classNames(\n 'np-link',\n type ? `np-text-${type}` : undefined,\n 'd-inline-flex',\n className,\n )}\n aria-label={ariaLabel}\n rel={isBlank ? 'noreferrer' : undefined}\n onClick={onClick}\n {...props}\n >\n {children} {isBlank && <NavigateAwayIcon title={formatMessage(messages.opensInNewTab)} />}\n </a>\n );\n};\n\nexport default Link;\n","import { Info, Alert, Cross, Check, ClockBorderless } from '@transferwise/icons';\nimport classNames from 'classnames';\n\nimport { SizeSmall, SizeMedium, SizeLarge, Sentiment } from '../common';\n\nexport type StatusIconProps = {\n sentiment: `${Sentiment}`;\n size: SizeSmall | SizeMedium | SizeLarge;\n};\n\nconst iconTypeMap = {\n positive: Check,\n neutral: Info,\n warning: Alert,\n negative: Cross,\n pending: ClockBorderless,\n info: Info,\n error: Cross,\n success: Check,\n} satisfies Record<`${Sentiment}`, React.ElementType>;\n\nconst StatusIcon = ({ sentiment = 'neutral', size = 'md' }: StatusIconProps) => {\n const Icon = iconTypeMap[sentiment];\n const iconColor = sentiment === 'warning' || sentiment === 'pending' ? 'dark' : 'light';\n\n return (\n <span\n data-testid=\"status-icon\"\n className={classNames('status-circle', 'status-circle-' + size, sentiment)}\n >\n <Icon className={classNames('status-icon', iconColor)} />\n </span>\n );\n};\n\nexport default StatusIcon;\n","import classNames from 'classnames';\nimport { LabelHTMLAttributes, LiHTMLAttributes, ReactHTML } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n [Typography.TITLE_SCREEN]: 'h1',\n [Typography.TITLE_SECTION]: 'h2',\n [Typography.TITLE_SUBSECTION]: 'h3',\n [Typography.TITLE_BODY]: 'h4',\n [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n LiHTMLAttributes<HTMLLIElement> & {\n /**\n * Default value will based one `type` prop\n */\n as?: 'span' | 'label' | 'li' | 'legend' | Heading;\n /**\n * Default value: {@link DEFAULT_TYPE}\n */\n type?: TitleTypes;\n };\n\nfunction Title({ as, type = DEFAULT_TYPE, className, ...props }: Props) {\n const mapping = titleTypeMapping[type];\n const isTypeSupported = mapping !== undefined;\n if (isTypeSupported) {\n const HeaderTag = as ?? mapping;\n return <HeaderTag {...props} className={classNames(`np-text-${type}`, className)} />;\n }\n const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n return <HeaderTag {...props} className={classNames(`np-text-${DEFAULT_TYPE}`, className)} />;\n}\n\nexport default Title;\n","export function logActionRequired(message) {\n if (['development', 'test'].includes(process?.env?.NODE_ENV)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n }\n}\n\nexport function logActionRequiredIf(message, conditional) {\n if (conditional) {\n logActionRequired(message);\n }\n}\n","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","import PropTypes from 'prop-types';\n\nimport { MarkdownNodeType } from '../../common';\nimport Markdown from '../../markdown';\n\nconst allowList = [MarkdownNodeType.STRONG];\n\nconst InlineMarkdown = (props) => {\n return <Markdown {...props} as=\"span\" allowList={allowList} blockList={undefined} />;\n};\n\nInlineMarkdown.propTypes = {\n children: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nInlineMarkdown.defaultProps = {\n className: undefined,\n};\n\nexport default InlineMarkdown;\n","import classNames from 'classnames';\nimport { useState, useRef, useEffect } from 'react';\n\nimport Body from '../body/Body';\nimport { Sentiment, Size, Typography, Variant } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport Link from '../link';\nimport StatusIcon from '../statusIcon';\nimport Title from '../title/Title';\nimport { logActionRequired } from '../utilities';\n\nimport InlineMarkdown from './inlineMarkdown';\n\nexport type AlertAction = {\n 'aria-label'?: string;\n href: string;\n target?: string;\n text: React.ReactNode;\n};\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype AlertTypeDeprecated = `${Sentiment.SUCCESS | Sentiment.INFO | Sentiment.ERROR}`;\ntype AlertTypeResolved = `${\n | Sentiment.POSITIVE\n | Sentiment.NEUTRAL\n | Sentiment.WARNING\n | Sentiment.NEGATIVE}`;\nexport type AlertType = AlertTypeResolved | AlertTypeDeprecated;\n\nexport enum AlertArrowPosition {\n TOP_LEFT = 'up-left',\n TOP = 'up-center',\n TOP_RIGHT = 'up-right',\n BOTTOM_LEFT = 'down-left',\n BOTTOM = 'down-center',\n BOTTOM_RIGHT = 'down-right',\n}\n\nexport interface AlertProps {\n /** An optional call to action to sit under the main body of the alert. If your label is short, use aria-label to provide more context */\n action?: AlertAction;\n className?: string;\n /** An optional icon. If not provided, we will default the icon to something appropriate for the type */\n icon?: React.ReactElement;\n /** Title for the alert component */\n title?: string;\n /** The main body of the alert. Accepts plain text and bold words specified with **double stars*/\n message?: string;\n /** The presence of the onDismiss handler will trigger the visibility of the close button */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /** The type dictates which icon and colour will be used */\n type?: AlertType;\n variant?: `${Variant}`;\n /** @deprecated Use `InlineAlert` instead. */\n arrow?: `${AlertArrowPosition}`;\n /** @deprecated Use `message` instead. Be aware `message` only accepts plain text or text with **bold** markdown. */\n children?: React.ReactNode;\n /** @deprecated Use `onDismiss` instead. */\n dismissible?: boolean;\n /** @deprecated Alert component doesn't support `size` anymore, please remove this prop. */\n size?: `${Size}`;\n}\n\nfunction resolveType(type: AlertType): AlertTypeResolved {\n switch (type) {\n case 'success':\n return 'positive';\n case 'info':\n return 'neutral';\n case 'error':\n return 'negative';\n default:\n return type;\n }\n}\n\nexport default function Alert({\n arrow,\n action,\n children,\n className,\n dismissible,\n icon,\n onDismiss,\n message,\n size,\n title,\n type = 'neutral',\n variant = 'desktop',\n}: AlertProps) {\n useEffect(() => {\n if (arrow !== undefined) {\n logActionRequired(\n \"Alert component doesn't support 'arrow' anymore, use 'InlineAlert' instead.\",\n );\n }\n }, [arrow]);\n\n useEffect(() => {\n if (children !== undefined) {\n logActionRequired(\n \"Alert component doesn't support 'children' anymore, use 'message' instead.\",\n );\n }\n }, [children]);\n\n useEffect(() => {\n if (dismissible !== undefined) {\n logActionRequired(\n \"Alert component doesn't support 'dismissible' anymore, use 'onDismiss' instead.\",\n );\n }\n }, [dismissible]);\n\n useEffect(() => {\n if (size !== undefined) {\n logActionRequired(\"Alert component doesn't support 'size' anymore, please remove that prop.\");\n }\n }, [size]);\n\n const resolvedType = resolveType(type);\n useEffect(() => {\n if (resolvedType !== type) {\n logActionRequired(\n `Alert component has deprecated '${type}' value for the 'type' prop. Please use '${resolvedType}' instead.`,\n );\n }\n }, [resolvedType, type]);\n\n const [shouldFire, setShouldFire] = useState(false);\n\n const closeButtonReference = useRef<HTMLButtonElement>(null);\n\n return (\n <div\n className={classNames(\n 'alert d-flex',\n `alert-${resolvedType}`,\n arrow != null && alertArrowClassNames(arrow),\n className,\n )}\n data-testid=\"alert\"\n onTouchStart={() => setShouldFire(true)}\n onTouchEnd={(event) => {\n if (\n shouldFire &&\n action &&\n // Check if current event is triggered from closeButton\n event.target instanceof Node &&\n closeButtonReference.current &&\n !closeButtonReference.current.contains(event.target)\n ) {\n if (action.target === '_blank') {\n window.top?.open(action.href);\n } else {\n window.top?.location.assign(action.href);\n }\n }\n setShouldFire(false);\n }}\n onTouchMove={() => setShouldFire(false)}\n >\n <div\n className={classNames('alert__content', 'd-flex', 'flex-grow-1', variant)}\n data-testid={variant}\n >\n {icon ? (\n <div className=\"alert__icon\">{icon}</div>\n ) : (\n <StatusIcon size={Size.LARGE} sentiment={resolvedType} />\n )}\n <div className=\"alert__message\">\n <div role={Sentiment.NEGATIVE === resolvedType ? 'alert' : 'status'}>\n {title && (\n <Title className=\"m-b-1\" type={Typography.TITLE_BODY}>\n {title}\n </Title>\n )}\n <Body as=\"span\" className=\"d-block\" type={Typography.BODY_LARGE}>\n {children || <InlineMarkdown>{message}</InlineMarkdown>}\n </Body>\n </div>\n {action && (\n <Link\n href={action.href}\n className=\"m-t-1\"\n aria-label={action['aria-label']}\n target={action.target}\n type={Typography.LINK_LARGE}\n >\n {action.text}\n </Link>\n )}\n </div>\n </div>\n {onDismiss && (\n <CloseButton ref={closeButtonReference} className=\"m-l-2\" onClick={onDismiss} />\n )}\n </div>\n );\n}\n\nfunction alertArrowClassNames(arrow: `${AlertArrowPosition}`) {\n switch (arrow) {\n case 'down-center':\n return 'arrow arrow-bottom arrow-center';\n case 'down-left':\n return 'arrow arrow-bottom arrow-left';\n case 'down-right':\n return 'arrow arrow-bottom arrow-right';\n case 'up-center':\n return 'arrow arrow-center';\n case 'up-right':\n return 'arrow arrow-right';\n case 'up-left':\n default:\n return 'arrow';\n }\n}\n","// TODO: consider to move this enum into component file once we migrate it on TypeScript or replace with some common enum\nexport enum AvatarType {\n THUMBNAIL = 'thumbnail',\n ICON = 'icon',\n EMOJI = 'emoji',\n INITIALS = 'initials',\n}\n","/*\n * The colors we support generating an Avatar background color from a \"seed\" for.\n * Changing this array will change the assignment between seeds.\n * Do not change this array.\n */\nconst avatarColors = [\n '--color-bright-blue',\n '--color-bright-yellow',\n '--color-bright-pink',\n '--color-bright-orange',\n] as const;\n\n/*\n * Takes in a \"seed\" string and spits out an index for the color we should use.\n * This implementation has been synced across all three clients so that we consistently\n * generate branded avatar colors when rendering a list of Avatars.\n * Do not change this implementation.\n */\nconst hashSeed = (seed: string): number => {\n const base = 31;\n const modulo = avatarColors.length;\n\n let hashValue = 0;\n let basePow = 1;\n\n for (let i = 0; i < seed.length; i += 1) {\n hashValue = (hashValue + seed.charCodeAt(i) * basePow) % modulo;\n basePow = (basePow * base) % modulo;\n }\n\n return hashValue;\n};\n\nexport const getAvatarColorFromSeed = (seed: string): (typeof avatarColors)[number] => {\n return avatarColors[hashSeed(seed)];\n};\n","import classnames from 'classnames';\nimport { useMemo } from 'react';\n\nimport { Theme } from '../common';\n\nimport { getAvatarColorFromSeed } from './colors';\n\ntype NumericAvatarSize = 24 | 40 | 48 | 56 | 72;\n\ntype LegacyAvatarSize = 'sm' | 'md' | 'lg';\n\nexport type AvatarSize = NumericAvatarSize | LegacyAvatarSize;\n\nexport type AvatarTheme = 'light' | 'dark';\n\nexport type AvatarType = 'thumbnail' | 'icon' | 'emoji' | 'initials';\n\nexport interface AvatarProps {\n backgroundColor?: string;\n backgroundColorSeed?: string;\n children?: React.ReactNode;\n className?: string;\n outlined?: boolean;\n size?: AvatarSize;\n theme?: AvatarTheme;\n type?: AvatarType;\n}\n\nconst backwardsCompatibleSize = (size: AvatarSize): NumericAvatarSize => {\n switch (size) {\n case 'sm':\n return 24;\n\n case 'md':\n return 48;\n\n case 'lg':\n return 72;\n\n default:\n return size;\n }\n};\n\nconst Avatar: React.FC<AvatarProps> = ({\n backgroundColor = null,\n backgroundColorSeed = null,\n children = null,\n className,\n outlined = false,\n size: sizeFromProps = 48,\n theme = Theme.LIGHT,\n type = 'thumbnail',\n}) => {\n const backgroundColorFromSeed = useMemo<string | undefined>(\n () =>\n !backgroundColor && backgroundColorSeed\n ? `var(${getAvatarColorFromSeed(backgroundColorSeed)})`\n : undefined,\n [backgroundColor, backgroundColorSeed],\n );\n\n const size = backwardsCompatibleSize(sizeFromProps);\n\n return (\n <div\n className={classnames('tw-avatar', className, `tw-avatar--${size}`, `tw-avatar--${type}`, {\n 'tw-avatar--outlined': outlined,\n 'tw-avatar--branded': Boolean(backgroundColorFromSeed),\n 'np-text-title-body': type === 'initials',\n })}\n >\n <div\n className=\"tw-avatar__content\"\n style={{\n backgroundColor: backgroundColor || backgroundColorFromSeed,\n }}\n >\n {children}\n </div>\n </div>\n );\n};\n\nexport default Avatar;\n","import classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport {\n Size,\n Theme,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n ThemeDark,\n ThemeLight,\n CommonProps,\n} from '../common';\n\nexport type BadgeProps = {\n badge: ReactNode;\n children: ReactNode;\n size?: SizeSmall | SizeMedium | SizeLarge;\n border?: ThemeDark | ThemeLight;\n} & CommonProps;\n\nconst Badge = ({\n badge,\n className = undefined,\n size = Size.SMALL,\n border = Theme.LIGHT,\n children,\n}: BadgeProps) => {\n const classes: string = classNames(\n 'tw-badge',\n {\n [`tw-badge-border-${border}`]: border,\n [`tw-badge-${size}`]: size,\n },\n className,\n );\n\n return (\n <div className={classes}>\n <div className=\"tw-badge__children\">{children}</div>\n <div className=\"tw-badge__content\">{badge}</div>\n </div>\n );\n};\n\nexport default Badge;\n","import { Person as ProfileIcon, Briefcase as BriefcaseIcon } from '@transferwise/icons';\nimport { useState, useEffect } from 'react';\n\nimport Avatar, { AvatarProps, AvatarType } from '../avatar';\nimport Badge, { BadgeProps } from '../badge';\nimport { ProfileType, ProfileTypePersonal, ProfileTypeBusiness, Size, Sentiment } from '../common';\nimport StatusIcon from '../statusIcon/StatusIcon';\n\ninterface OptionalBadgeProps extends Omit<BadgeProps, 'badge'> {\n url?: string;\n altText?: string;\n statusIcon?: Sentiment;\n}\n\nconst OptionalBadge = ({ url, altText, statusIcon, children, ...rest }: OptionalBadgeProps) => {\n if (url) {\n return (\n <Badge badge={<img src={url} alt={altText} />} {...rest}>\n {children}\n </Badge>\n );\n }\n if (statusIcon) {\n return (\n <Badge badge={<StatusIcon sentiment={statusIcon} size={Size.SMALL} />} {...rest}>\n {children}\n </Badge>\n );\n }\n return <>{children}</>;\n};\n\nexport type AvatarWrapperProps = {\n url?: string;\n profileType?: ProfileTypeBusiness | ProfileTypePersonal;\n profileId?: string;\n name?: string;\n avatarProps?: AvatarProps;\n badgeProps?: BadgeProps;\n} & (\n | {\n badgeUrl: string;\n badgeAltText: string;\n badgeStatusIcon?: never;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon: Sentiment;\n }\n | {\n badgeUrl?: never;\n badgeAltText?: never;\n badgeStatusIcon?: never;\n }\n);\n\nconst AvatarWrapper = ({\n url,\n profileType,\n profileId,\n badgeUrl,\n badgeAltText,\n badgeStatusIcon,\n name,\n avatarProps,\n badgeProps,\n}: AvatarWrapperProps) => {\n const [hasImageLoadError, setImageLoadError] = useState(false);\n const isBusinessProfile = profileType === ProfileType.BUSINESS;\n\n // Reset the errored state when url changes\n useEffect(() => setImageLoadError(false), [url]);\n\n const getAvatarProps = () => {\n if (url && !hasImageLoadError) {\n return {\n type: AvatarType.THUMBNAIL,\n children: <img src={url} alt=\"\" onError={() => setImageLoadError(true)} />,\n ...avatarProps,\n };\n }\n if (profileType) {\n return {\n type: AvatarType.ICON,\n children: isBusinessProfile ? <BriefcaseIcon size=\"24\" /> : <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n }\n if (name) {\n return {\n type: AvatarType.INITIALS,\n children: <>{getInitials(name)}</>,\n backgroundColorSeed: profileId?.toString(),\n ...avatarProps,\n };\n }\n return {\n type: AvatarType.ICON,\n children: <ProfileIcon size=\"24\" />,\n ...avatarProps,\n };\n };\n\n return (\n <OptionalBadge\n url={badgeUrl}\n altText={badgeAltText}\n statusIcon={badgeStatusIcon}\n {...badgeProps}\n >\n <Avatar size={Size.MEDIUM} {...getAvatarProps()} />\n </OptionalBadge>\n );\n};\n\nfunction getInitials(name: string) {\n const allInitials = name\n .split(' ')\n .map((part) => part[0])\n .join('')\n .toUpperCase();\n\n if (allInitials.length === 1) {\n return allInitials[0];\n }\n\n return allInitials[0] + allInitials.slice(-1);\n}\n\nexport default AvatarWrapper;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\n\nimport { Status, Size } from '../common';\n\nconst radius = { xxs: 6, xs: 11, sm: 22, xl: 61 };\nexport const ANIMATION_DURATION_IN_MS = 1500;\n\nclass ProcessIndicator extends Component {\n constructor(props) {\n super(props);\n this.state = {\n status: props.status,\n size: props.size,\n };\n this.interval = null;\n this.timeout = null;\n }\n\n /**\n * Create interval for animation duration (1500ms)\n * Update state only at the end of every interval\n * (end of animation loop) if props changed before end of animation\n */\n componentDidMount() {\n this.interval = setInterval(() => {\n const statusFromState = this.state.status;\n const sizeFromState = this.state.size;\n\n const statusFromProps = this.props.status;\n const sizeFromProps = this.props.size;\n\n if (statusFromState !== statusFromProps) {\n this.setState({ status: statusFromProps }, this.runCallBack(statusFromProps));\n }\n\n if (sizeFromState !== sizeFromProps) {\n this.setState({ size: sizeFromProps });\n }\n }, ANIMATION_DURATION_IN_MS);\n }\n\n /**\n * Only trigger render if comopnent's state got\n * updated from interval callback\n *\n * @param nextProps\n * @param nextState\n */\n shouldComponentUpdate(nextProps, nextState) {\n const isSameStatus = nextProps.status === nextState.status;\n const isSameSize = nextProps.size === nextState.size;\n\n return isSameStatus && isSameSize;\n }\n\n // Clear interval before destroying component\n componentWillUnmount() {\n clearInterval(this.interval);\n clearTimeout(this.timeout);\n }\n\n runCallBack = (statusFromProps) => {\n const { onAnimationCompleted } = this.props;\n if (onAnimationCompleted) {\n this.timeouts = setTimeout(() => {\n onAnimationCompleted(statusFromProps);\n }, ANIMATION_DURATION_IN_MS);\n }\n };\n\n render() {\n const { className, 'data-testid': dataTestId } = this.props;\n const { size, status } = this.state;\n const classes = classNames(`process process-${size}`, className, {\n [`process-danger`]: status === Status.FAILED,\n [`process-stopped`]: status === Status.HIDDEN,\n [`process-success`]: status === Status.SUCCEEDED,\n });\n\n return (\n <span className={classes} data-testid={dataTestId}>\n <span className=\"process-icon-container\">\n <span className=\"process-icon-horizontal\" />\n <span className=\"process-icon-vertical\" />\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n className=\"process-circle\"\n cx=\"50%\"\n cy=\"50%\"\n r={radius[this.state.size]}\n fillOpacity=\"0.0\"\n />\n </svg>\n </span>\n );\n }\n}\nProcessIndicator.propTypes = {\n status: PropTypes.oneOf(['processing', 'failed', 'succeeded', 'hidden']),\n size: PropTypes.oneOf(['xxs', 'xs', 'sm', 'xl']),\n onAnimationCompleted: PropTypes.func,\n className: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nProcessIndicator.defaultProps = {\n status: Status.PROCESSING,\n size: Size.SMALL,\n onAnimationCompleted: null,\n className: undefined,\n 'data-testid': null,\n};\n\nexport default ProcessIndicator;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n loadingAriaLabel: {\n id: 'neptune.Button.loadingAriaLabel',\n defaultMessage: 'loading',\n description: 'Description of button while loading',\n },\n});\n","import { ControlType, Priority } from '../common';\n\nexport const typeClassMap = {\n [ControlType.ACCENT]: 'btn-accent',\n [ControlType.POSITIVE]: 'btn-positive',\n [ControlType.NEGATIVE]: 'btn-negative',\n};\n\nexport const priorityClassMap = {\n [Priority.PRIMARY]: 'btn-priority-1',\n [Priority.SECONDARY]: 'btn-priority-2',\n [Priority.TERTIARY]: 'btn-priority-3',\n};\n","import { ControlType, Priority, Size, Type } from '../../common';\nimport { logActionRequiredIf } from '../../utilities';\n\nconst deprecatedTypeMap = {\n [Type.PRIMARY]: ControlType.ACCENT,\n [Type.SECONDARY]: ControlType.ACCENT,\n [Type.LINK]: ControlType.ACCENT,\n [Type.PAY]: ControlType.POSITIVE,\n [Type.DANGER]: ControlType.NEGATIVE,\n};\n\nconst oldTypePriorityMap = {\n [Type.DANGER]: Priority.SECONDARY,\n [Type.LINK]: Priority.TERTIARY,\n [Type.SECONDARY]: Priority.SECONDARY,\n};\n\nconst deprecatedTypeMapMessage = {\n [Type.DANGER]: 'Type.NEGATIVE',\n [Type.LINK]: 'ControlType.ACCENT with priority Priority.TERTIARY',\n [Type.PAY]: 'ControlType.POSITIVE',\n [Type.PRIMARY]: 'ControlType.ACCENT',\n [Type.SECONDARY]: 'ControlType.ACCENT with priority Priority.SECONDARY',\n};\n\nconst deprecatedTypes = Object.keys(deprecatedTypeMap);\n\nexport const establishNewType = (originalType) => deprecatedTypeMap[originalType] || originalType;\n\nexport const establishNewPriority = (originalPriority, originalType) => {\n const type = establishNewType(originalType);\n\n // The old SECONDARY and LINK types now map to priorities. If they're still using one of\n // these old types, ignore whatever priority they've passed and use this instead.\n if (oldTypePriorityMap[originalType]) {\n return oldTypePriorityMap[originalType];\n }\n // Only ControlType.ACCENT supports tertiary styles\n if (originalPriority === Priority.TERTIARY && type !== ControlType.ACCENT) {\n return Priority.SECONDARY;\n }\n return originalPriority;\n};\n\nexport const logDeprecationNotices = ({ size, type }) => {\n logActionRequiredIf(\n 'Button has deprecated the `Size.EXTRA_SMALL` value for the `size` prop. Please use Size.SMALL instead.',\n size === Size.EXTRA_SMALL,\n );\n logActionRequiredIf(\n `Button has deprecated the ${type} value for the \\`type\\` prop. Please update to ${deprecatedTypeMapMessage[type]}.`,\n deprecatedTypes.includes(type),\n );\n};\n","import classNames from 'classnames';\nimport { AnchorHTMLAttributes, ButtonHTMLAttributes, ElementType, forwardRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport {\n Size,\n ControlType,\n Priority,\n ControlTypeAccent,\n ControlTypeNegative,\n ControlTypePositive,\n PriorityPrimary,\n PrioritySecondary,\n PriorityTertiary,\n SizeExtraSmall,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n} from '../common';\nimport ProcessIndicator from '../processIndicator';\n\nimport messages from './Button.messages';\nimport { typeClassMap, priorityClassMap } from './classMap';\nimport { establishNewPriority, establishNewType, logDeprecationNotices } from './legacyUtils';\n\n/** @deprecated */\ntype DeprecatedTypes = 'primary' | 'pay' | 'secondary' | 'danger' | 'link';\n\n/** @deprecated */\ntype DeprecatedSizes = SizeExtraSmall;\n\ntype CommonProps = {\n block?: boolean;\n disabled?: boolean;\n loading?: boolean;\n type?: ControlTypeAccent | ControlTypeNegative | ControlTypePositive | DeprecatedTypes;\n priority?: PriorityPrimary | PrioritySecondary | PriorityTertiary;\n size?: SizeSmall | SizeMedium | SizeLarge | DeprecatedSizes;\n};\n\ntype ButtonProps = CommonProps &\n Omit<React.ComponentPropsWithRef<'button'>, 'type'> & {\n as?: 'button';\n htmlType?: 'submit' | 'reset' | 'button';\n };\n\ntype AnchorProps = CommonProps &\n React.ComponentPropsWithRef<'a'> & {\n as?: 'a';\n };\n\nexport type Props = ButtonProps | AnchorProps;\n\ntype ButtonReferenceType = HTMLButtonElement | HTMLAnchorElement;\n\nconst Button = forwardRef<ButtonReferenceType, Props>(\n (\n {\n as: component,\n block = false,\n children,\n className,\n disabled,\n loading = false,\n priority = Priority.PRIMARY,\n size = Size.MEDIUM,\n type = ControlType.ACCENT,\n ...rest\n }: Props,\n reference,\n ) => {\n const intl = useIntl();\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n logDeprecationNotices({ size, type });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const newType = establishNewType(type);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const newPriority = establishNewPriority(priority, type);\n\n const classes = classNames(\n `btn btn-${size}`,\n `np-btn np-btn-${size}`,\n {\n 'btn-loading': loading,\n 'btn-block np-btn-block': block,\n },\n {\n disabled: disabled || loading,\n },\n // @ts-expect-error fix when refactor `typeClassMap` to TypeScript\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n typeClassMap[newType],\n // @ts-expect-error fix when refactor `typeClassMap` to TypeScript\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n priorityClassMap[newPriority],\n className,\n );\n\n function processIndicatorSize(): string {\n return ['sm', 'xs'].includes(size) ? 'xxs' : 'xs';\n }\n\n const Element = (component as ElementType) ?? 'button';\n let props;\n\n if (Element === 'button') {\n const { htmlType = 'button', ...restProps } = rest as ButtonProps;\n props = {\n ...restProps,\n disabled: disabled || loading,\n type: htmlType,\n };\n } else {\n props = { ...rest } as AnchorProps;\n }\n\n return (\n <Element\n ref={reference}\n className={classes}\n {...props}\n aria-live={loading ? 'polite' : 'off'}\n aria-label={loading ? intl.formatMessage(messages.loadingAriaLabel) : rest['aria-label']}\n >\n {children}\n {loading && <ProcessIndicator size={processIndicatorSize()} className=\"btn-loader\" />}\n </Element>\n );\n },\n);\n\nexport default Button;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef } from 'react';\nimport requiredIf from 'react-required-if';\n\nimport Body from '../body';\nimport Chevron from '../chevron';\nimport { Position, Typography } from '../common';\nimport Option from '../common/Option';\n\nconst Card = forwardRef((props, reference) => {\n const {\n 'aria-label': ariaLabel,\n as: Element,\n isExpanded,\n title,\n details,\n children,\n onClick,\n icon,\n id,\n className,\n ...rest\n } = props;\n const isOpen = !!(isExpanded && children);\n\n return (\n <Element\n ref={reference}\n className={classNames('np-card', className, {\n 'np-card--expanded': isOpen,\n 'np-card--inactive': !children,\n 'np-card--has-icon': !!icon,\n })}\n id={id}\n data-testid={rest['data-testid']}\n >\n <Option\n aria-label={ariaLabel}\n as={children ? 'button' : 'div'}\n className={classNames('np-card__button')}\n media={icon}\n title={title}\n content={details}\n showMediaAtAllSizes\n button={children && <Chevron orientation={isOpen ? Position.TOP : Position.BOTTOM} />}\n onClick={() => children && onClick(!isExpanded)}\n />\n <div\n className={classNames('np-card__divider', {\n 'np-card__divider--expanded': isOpen,\n })}\n />\n {isOpen && (\n <Body as=\"span\" type={Typography.BODY_LARGE} className=\"np-card__content d-block\">\n {children}\n </Body>\n )}\n </Element>\n );\n});\n\nconst hasChildren = ({ children }) => children;\n\nCard.propTypes = {\n 'aria-label': PropTypes.string,\n as: PropTypes.string,\n isExpanded: requiredIf(PropTypes.bool, hasChildren),\n title: PropTypes.node.isRequired,\n details: PropTypes.node.isRequired,\n onClick: requiredIf(PropTypes.func, hasChildren),\n icon: PropTypes.node,\n children: PropTypes.node,\n id: PropTypes.string,\n className: PropTypes.string,\n 'data-testid': PropTypes.string,\n};\n\nCard.defaultProps = {\n 'aria-label': undefined,\n as: 'div',\n children: null,\n id: null,\n className: null,\n 'data-testid': null,\n};\n\nexport default Card;\n","import classNames from 'classnames';\nimport { InputHTMLAttributes, forwardRef } from 'react';\n\nexport type CheckboxButtonProps = InputHTMLAttributes<HTMLInputElement>;\n\nconst CheckboxButton = forwardRef<HTMLInputElement, CheckboxButtonProps>(\n ({ checked, className, disabled, onChange, ...rest }, reference) => (\n <span className={classNames('np-checkbox-button', className, disabled && 'disabled')}>\n <input\n {...rest}\n ref={reference}\n type=\"checkbox\"\n disabled={disabled}\n checked={checked}\n onChange={onChange}\n />\n <span className=\"tw-checkbox-button\">\n <span className=\"tw-checkbox-check\" />\n </span>\n </span>\n ),\n);\n\nexport default CheckboxButton;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Body from '../body/Body';\nimport CheckboxButton from '../checkboxButton';\nimport { Typography } from '../common';\n\nconst Checkbox = ({\n id,\n checked,\n required,\n disabled,\n readOnly,\n label,\n className,\n secondary,\n onChange,\n onFocus,\n onBlur,\n}) => {\n const { isModern } = useTheme();\n\n const classList = classNames(\n 'np-checkbox',\n {\n checkbox: true,\n 'checkbox-lg': secondary,\n disabled: isModern && disabled,\n },\n className,\n );\n\n const innerDisabled = disabled || readOnly;\n return (\n <div id={id} className={classList}>\n {/* eslint-disable-next-line jsx-a11y/label-has-for */}\n <label className={classNames({ disabled })}>\n <CheckboxButton\n className=\"p-r-2\"\n checked={checked}\n disabled={innerDisabled}\n required={!innerDisabled && required}\n onFocus={onFocus}\n onChange={() => onChange(!checked)}\n onBlur={onBlur}\n />\n <Body\n as=\"span\"\n className=\"np-checkbox__text\"\n type={secondary ? Typography.BODY_LARGE_BOLD : Typography.BODY_LARGE}\n >\n <span className={required ? 'has-required' : undefined}>{label}</span>\n {secondary && (\n <Body as=\"span\" className={classNames({ secondary: !isModern })}>\n {secondary}\n </Body>\n )}\n </Body>\n </label>\n </div>\n );\n};\n\nCheckbox.propTypes = {\n id: PropTypes.string,\n checked: PropTypes.bool,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n label: PropTypes.node.isRequired,\n secondary: PropTypes.string,\n onFocus: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func,\n className: PropTypes.string,\n};\n\nCheckbox.defaultProps = {\n id: null,\n checked: false,\n required: false,\n disabled: false,\n readOnly: false,\n secondary: null,\n onFocus: null,\n onBlur: null,\n className: undefined,\n};\n\nexport default Checkbox;\n","import { forwardRef } from 'react';\n\nimport CheckboxButton from '../checkboxButton';\nimport Option from '../common/Option';\nimport { ReferenceType } from '../common/Option/Option';\nimport { BaseOptionProps } from '../common/Option/Option';\n\nexport type CheckboxOptionProps = Omit<BaseOptionProps, 'onChange'> & {\n /**\n * The checked state of the checkbox.\n */\n checked?: boolean;\n /**\n * Function to call when the checkbox option is clicked\n */\n onChange?: (value: boolean) => void;\n};\n\nconst CheckboxOption = forwardRef<ReferenceType, CheckboxOptionProps>(\n ({ checked, disabled, onChange, ...rest }, reference) => {\n return (\n <Option\n {...rest}\n ref={reference}\n disabled={disabled}\n button={\n <CheckboxButton\n checked={checked}\n disabled={disabled}\n onChange={() => onChange?.(!checked)}\n />\n }\n />\n );\n },\n);\n\nexport default CheckboxOption;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { ReactElement, useEffect, useRef } from 'react';\n\nimport Body from '../body/Body';\nimport { AriaLabelProperty, CommonProps } from '../common';\nimport { Typography } from '../common';\nimport { CloseButton } from '../common/closeButton/CloseButton';\n\nexport type ChipValue = string | number;\n\nexport type Props = {\n value?: ChipValue;\n label: string;\n onRemove?: () => void;\n onClick?: () => void;\n onKeyPress?: () => void;\n closeButton?: AriaLabelProperty;\n 'aria-checked'?: boolean;\n role?: string;\n} & AriaLabelProperty &\n CommonProps;\n\nconst Chip = ({\n label,\n value,\n onRemove,\n onClick,\n onKeyPress,\n className = undefined,\n 'aria-label': ariaLabel,\n 'aria-checked': ariaChecked,\n role,\n closeButton,\n}: Props): ReactElement => {\n const isActionable = onClick || onKeyPress;\n const defaultRole = isActionable ? 'button' : undefined;\n const tabIndex = isActionable ? 0 : -1;\n\n const { isModern } = useTheme();\n\n const closeButtonReference = useRef<HTMLButtonElement>(null);\n const previousCloseButtonShown = useRef<boolean>();\n useEffect(() => {\n if (closeButtonReference.current != null && previousCloseButtonShown.current === false) {\n closeButtonReference.current?.focus();\n }\n previousCloseButtonShown.current = closeButtonReference.current != null;\n }, [onRemove]);\n\n return (\n <div\n key={value}\n role={role ?? defaultRole}\n tabIndex={tabIndex}\n aria-label={ariaLabel}\n aria-checked={ariaChecked}\n className={classNames(\n 'np-chip',\n 'd-flex',\n 'align-items-center',\n 'justify-content-between',\n onRemove ? 'np-chip--removable' : '',\n className,\n )}\n {...(isActionable && { onClick, onKeyPress })}\n >\n {isModern ? (\n <Body aria-hidden={!!onRemove} type={Typography.BODY_DEFAULT_BOLD}>\n {label}\n </Body>\n ) : (\n <span aria-hidden=\"false\" className=\"np-chip-label\">\n {label}\n </span>\n )}\n {onRemove ? (\n <CloseButton\n ref={closeButtonReference}\n className={isModern ? `btn-unstyled` : `btn-unstyled m-l-1`}\n aria-label={closeButton && closeButton['aria-label']}\n size=\"sm\"\n filled={isModern}\n onClick={onRemove}\n />\n ) : null}\n </div>\n );\n};\n\nexport default Chip;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n ariaLabel: {\n id: 'neptune.Chips.ariaLabel',\n defaultMessage: 'Clear {choice}',\n description: 'Clear button for chip',\n },\n});\n","import classNames from 'classnames';\nimport { ReactElement } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { CommonProps, AriaLabelProperty } from '../common';\n\nimport Chip from './Chip';\nimport messages from './Chips.messages';\n\nexport type ChipValue = string | number;\n\nexport type Chip = {\n value: ChipValue;\n label: string;\n};\n\nexport type ChipsProps = CommonProps &\n AriaLabelProperty & {\n /** List of chips with string labels and string/number values */\n chips: readonly Chip[];\n /** Callback which is invoked when a chip is selected or deselected */\n onChange: ({\n isEnabled,\n selectedValue,\n }: {\n isEnabled: boolean;\n selectedValue: ChipValue;\n }) => void;\n /** Used to manage which chips are selected */\n selected: ChipValue | readonly ChipValue[];\n /** Used to activate multi-selection */\n multiple?: boolean;\n };\n\nconst Chips = ({\n chips,\n onChange,\n selected,\n 'aria-label': ariaLabel,\n className,\n multiple,\n}: ChipsProps): ReactElement => {\n const intl = useIntl();\n\n const isSelected = (value: ChipValue) =>\n Array.isArray(selected) ? selected.includes(value) : selected === value;\n\n const handleOnChange = (selectedValue: ChipValue, isCurrentlyEnabled: boolean) => {\n onChange({ isEnabled: !isCurrentlyEnabled, selectedValue });\n };\n\n return (\n <div\n className={classNames('np-chips d-flex', className)}\n aria-label={ariaLabel}\n role={!multiple ? 'radiogroup' : undefined}\n >\n {chips.map((chip) => {\n const chipSelected = isSelected(chip.value);\n return (\n <Chip\n key={chip.value}\n value={chip.value}\n label={chip.label}\n closeButton={{\n 'aria-label': intl.formatMessage(messages.ariaLabel, { choice: chip.label }),\n }}\n className={classNames('text-xs-nowrap', {\n 'np-chip--selected': chipSelected,\n 'p-r-1': multiple && chipSelected,\n })}\n {...(multiple && chipSelected\n ? {\n onRemove: () => handleOnChange(chip.value, chipSelected),\n 'aria-label': chip.label,\n }\n : {\n onClick: () => handleOnChange(chip.value, chipSelected),\n onKeyPress: () => handleOnChange(chip.value, chipSelected),\n role: !multiple ? 'radio' : undefined,\n 'aria-checked': chipSelected,\n })}\n />\n );\n })}\n </div>\n );\n};\n\nexport default Chips;\n","import classNames from 'classnames';\nimport { cloneElement } from 'react';\n\nimport Body from '../body/Body';\nimport { typeClassMap, priorityClassMap } from '../button/classMap';\nimport { ControlType, Priority } from '../common';\nimport { Typography } from '../common';\n\nexport interface CircularButtonProps {\n className?: string;\n children: string;\n disabled?: boolean;\n icon: React.ReactElement<{ size?: unknown }>;\n onClick?: React.MouseEventHandler<HTMLInputElement>;\n priority?: `${Priority.PRIMARY | Priority.SECONDARY}`;\n type?: `${ControlType.ACCENT | ControlType.POSITIVE | ControlType.NEGATIVE}`;\n}\n\nconst CircularButton = ({\n className,\n children,\n disabled,\n icon,\n priority = Priority.PRIMARY,\n type = ControlType.ACCENT,\n ...rest\n}: CircularButtonProps) => {\n const classes = classNames('btn np-btn', typeClassMap[type], priorityClassMap[priority]);\n\n const iconElement = Number(icon.props.size) !== 24 ? cloneElement(icon, { size: 24 }) : icon;\n\n return (\n <label\n className={classNames('np-circular-btn', priority, type, disabled && 'disabled', className)}\n >\n <input\n type=\"button\"\n aria-label={children}\n className={classes}\n disabled={disabled}\n {...rest}\n />\n {iconElement}\n <Body as=\"span\" className=\"np-circular-btn__label\" type={Typography.BODY_DEFAULT_BOLD}>\n {children}\n </Body>\n </label>\n );\n};\n\nexport default CircularButton;\n","import { FocusScope } from '@react-aria/focus';\nimport { useEffect, useRef } from 'react';\n\ntype FocusBoundaryProps = {\n children: React.ReactNode;\n};\n\nconst FocusBoundary = ({ children }: FocusBoundaryProps) => {\n const wrapperReference = useRef<HTMLDivElement>(null);\n useEffect(() => {\n wrapperReference.current?.focus({ preventScroll: true });\n }, []);\n\n return (\n <FocusScope contain restoreFocus>\n <div ref={wrapperReference} tabIndex={-1}>\n {children}\n </div>\n </FocusScope>\n );\n};\n\nexport default FocusBoundary;\n","import { useState, useEffect } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport default function withNextPortalWrapper<T extends Record<string, any>>(\n Component: React.ComponentType<T>,\n) {\n return function (props: T) {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, [setMounted]);\n return mounted ? createPortal(<Component {...props} />, document.body) : null;\n };\n}\n","/**\n * Dimmer state management inspired by Material UI's ModalManager (https://github.com/mui-org/material-ui)\n */\nexport default class DimmerManager {\n /**\n * Dimmer refs\n */\n private dimmers: Element[];\n\n constructor() {\n this.dimmers = [];\n }\n\n add(dimmer: Element): number {\n let dimmerIndex = this.dimmers.indexOf(dimmer);\n if (dimmerIndex !== -1) {\n return dimmerIndex;\n }\n\n dimmerIndex = this.dimmers.length;\n this.dimmers.push(dimmer);\n return dimmerIndex;\n }\n\n remove(dimmer: Element): number {\n const dimmerIndex = this.dimmers.indexOf(dimmer);\n\n if (dimmerIndex !== -1) {\n this.dimmers.splice(dimmerIndex, 1);\n }\n return dimmerIndex;\n }\n\n isTop(dimmer: Element): boolean {\n return this.dimmers.length > 0 && this.dimmers[this.dimmers.length - 1] === dimmer;\n }\n}\n","import { ThemeProvider, useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport {\n MouseEvent,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport {\n addNoScrollClass,\n CommonProps,\n PositionBottom,\n PositionCenter,\n PositionTop,\n removeNoScrollClass,\n} from '../common';\nimport { isIosDevice } from '../common/deviceDetection';\nimport FocusBoundary from '../common/focusBoundary';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nimport DimmerManager from './dimmerManager';\n\nexport const EXIT_ANIMATION = 350;\n\nconst dimmerManager = new DimmerManager();\n\nexport type DimmerProps = CommonProps & {\n children?: ReactNode;\n disableClickToClose?: boolean;\n contentPosition?: PositionTop | PositionCenter | PositionBottom;\n fadeContentOnEnter?: boolean;\n fadeContentOnExit?: boolean;\n open?: boolean;\n scrollable?: boolean;\n transparent?: boolean;\n onClose?: (event: KeyboardEvent | MouseEvent) => void;\n};\n\nexport const handleTouchMove = (event: Event) => {\n const isTouchedElementDimmer = (event.target as HTMLDivElement).classList.contains('dimmer');\n\n // disable scroll on iOS devices for Dimmer area\n // this is because of bug in WebKit https://bugs.webkit.org/show_bug.cgi?id=220908\n // note: scrolling still works for children(s) as expected\n if (isIosDevice() && isTouchedElementDimmer) {\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nconst Dimmer = ({\n children,\n className,\n disableClickToClose = false,\n contentPosition,\n fadeContentOnEnter = false,\n fadeContentOnExit = false,\n open = false,\n scrollable = false,\n transparent = false,\n onClose,\n}: DimmerProps) => {\n const [hasNotExited, setHasNotExited] = useState(false);\n const dimmerReference = useRef<HTMLDivElement>(null);\n\n const closeOnClick = (event: MouseEvent<HTMLDivElement>) => {\n if (event.target === dimmerReference.current) {\n onClose?.(event);\n }\n };\n\n const handleClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disableClickToClose || !onClose) {\n return;\n }\n\n closeOnClick(event);\n };\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return;\n }\n event.stopPropagation();\n\n if (onClose && dimmerReference.current && dimmerManager.isTop(dimmerReference.current)) {\n onClose(event);\n }\n },\n [onClose],\n );\n\n const onEnter = () => {\n setHasNotExited(true);\n\n if (dimmerReference.current) {\n dimmerManager.add(dimmerReference.current);\n }\n };\n const onExited = () => {\n setHasNotExited(false);\n\n if (dimmerReference.current) {\n dimmerManager.remove(dimmerReference.current);\n }\n };\n\n useEffect(() => {\n const localReferenceCopy = dimmerReference.current;\n\n if (open) {\n document.addEventListener('keydown', handleKeyDown);\n localReferenceCopy?.addEventListener('touchmove', handleTouchMove, { passive: true });\n }\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n\n localReferenceCopy?.removeEventListener('touchmove', handleTouchMove);\n };\n }, [handleKeyDown, open]);\n\n return (\n <DimmerWrapper open={open} hasNotExited={hasNotExited}>\n <CSSTransition\n nodeRef={dimmerReference}\n in={open}\n appear\n // Wait for animation to finish before unmount.\n timeout={{ enter: 0, exit: EXIT_ANIMATION }}\n classNames={{\n enter: classNames({ 'dimmer--enter-fade': fadeContentOnEnter }),\n enterDone: classNames('dimmer--enter-done', {\n 'dimmer--enter-fade': fadeContentOnEnter,\n }),\n exit: classNames('dimmer--exit', { 'dimmer--exit-fade': fadeContentOnExit }),\n }}\n unmountOnExit\n onEnter={onEnter}\n onExited={onExited}\n >\n <DimmerContentWrapper scrollBody={!transparent}>\n <FocusBoundary>\n <div\n ref={dimmerReference}\n className={classNames(\n 'dimmer',\n { 'dimmer--scrollable': scrollable, 'dimmer--transparent': transparent },\n className,\n )}\n role=\"presentation\"\n onClick={handleClick}\n >\n <div\n className={classNames(\n 'dimmer-content-positioner',\n contentPosition != null && [\n 'd-flex justify-content-center',\n {\n 'align-items-start': contentPosition === 'top',\n 'align-items-center': contentPosition === 'center',\n 'align-items-end': contentPosition === 'bottom',\n },\n ],\n )}\n >\n {children}\n </div>\n </div>\n </FocusBoundary>\n </DimmerContentWrapper>\n </CSSTransition>\n </DimmerWrapper>\n );\n};\n\nconst DimmerWrapper: React.ComponentType<{\n open: boolean;\n hasNotExited: boolean;\n children: React.ReactNode;\n}> = ({ open, hasNotExited, children }) => {\n const { screenMode, theme } = useTheme();\n\n return open || hasNotExited ? (\n <ThemeProvider\n theme=\"personal\"\n screenMode={theme === 'personal' ? screenMode : 'light'}\n isNotRootProvider\n >\n {children}\n </ThemeProvider>\n ) : (\n <>{children}</>\n );\n};\n\nexport const DimmerContentWrapper = ({\n children,\n scrollBody,\n}: {\n children: ReactElement;\n scrollBody: boolean;\n}) => {\n useEffect(() => {\n if (scrollBody) {\n addNoScrollClass();\n }\n\n return () => {\n if (scrollBody) {\n removeNoScrollClass();\n }\n };\n }, [scrollBody]);\n\n return children;\n};\n\n// Export without the Portal for tests only\nexport { Dimmer };\n\nexport default withNextPortal(Dimmer);\n","import { isUndefined } from '@transferwise/neptune-validation';\nimport { useEffect } from 'react';\n\nimport { ParentElement } from '../..';\n\ntype Data = {\n attachListener: boolean;\n callback: EventListenerOrEventListenerObject;\n eventType: string;\n parent: ParentElement | undefined;\n};\n\nexport const useConditionalListener = ({ attachListener, callback, eventType, parent }: Data) => {\n useEffect(() => {\n if (attachListener && !isUndefined(parent)) {\n parent.addEventListener(eventType, callback, true);\n }\n\n return () => {\n if (!isUndefined(parent)) {\n parent.removeEventListener(eventType, callback, true);\n }\n };\n }, [attachListener, callback, eventType, parent]);\n};\n","import { createContext, ReactElement, PropsWithChildren } from 'react';\n\nimport { LayoutDirection, Direction } from '../../common/direction';\n\nexport const DirectionContext = createContext<LayoutDirection>(Direction.LTR);\n\nexport type DirectionProviderProps = PropsWithChildren<{ direction: LayoutDirection }>;\n\nexport const DirectionProvider = ({\n direction,\n children,\n}: DirectionProviderProps): ReactElement => {\n return <DirectionContext.Provider value={direction}>{children}</DirectionContext.Provider>;\n};\n","import { useContext } from 'react';\n\nimport { DirectionContext } from '../../../provider/direction/DirectionProvider';\nimport { LayoutDirection } from '../../direction';\n\nexport const useDirection = (): { direction: LayoutDirection; isRTL: boolean } => {\n const direction = useContext(DirectionContext);\n return {\n direction,\n isRTL: direction === 'rtl',\n };\n};\n","import { useEffect, useState } from 'react';\n\nconst ObserverParams = {\n threshold: 0.1,\n};\n\n/**\n * useHasIntersected.\n * Use this custom hook to detect when an element has became visible inside the viewport. This hook checks only if the intersection happend.\n * Once the intersection has happened the hook will not return false even if the element gets out of the viewport.\n *\n * @param elRef.elRef\n * @param {object} [elRef] - node object that contains a react reference to the element that needs to be observed.\n * @param {strimng} [loading = 'eager'] - string that contains the type of loading.\n * @param elRef.loading\n * @usage `const [hasIntersected] = useHasIntersected({imageRef,loading});`\n */\nexport const useHasIntersected = ({ elRef, loading }) => {\n const [hasIntersected, setHasIntersected] = useState(false);\n\n const { current } = elRef || {};\n\n const isValidReference = () => {\n return elRef && current;\n };\n\n const handleOnIntersect = (entries, observer) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setHasIntersected(true);\n observer.unobserve(current);\n }\n });\n };\n\n useEffect(() => {\n let observer;\n let didCancel = false;\n\n // Check if window is define for SSR and Old browsers fallback\n if (typeof window === 'undefined' || !window.IntersectionObserver || !isValidReference()) {\n setHasIntersected(true);\n } else if (!didCancel) {\n observer = new IntersectionObserver(handleOnIntersect, ObserverParams);\n observer.observe(current);\n }\n return () => {\n didCancel = true;\n if (observer) {\n observer.unobserve(current);\n }\n };\n }, [elRef]);\n\n if (loading === 'eager') {\n return [false];\n }\n\n return [hasIntersected];\n};\n","// eslint-disable-next-line import/extensions\nimport { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';\n\nexport function useMedia(query: string) {\n return useSyncExternalStore(\n (onStoreChange) => {\n const mediaQueryList = window.matchMedia(query);\n mediaQueryList.addEventListener('change', onStoreChange);\n return () => {\n mediaQueryList.removeEventListener('change', onStoreChange);\n };\n },\n () => (typeof window !== 'undefined' ? window.matchMedia(query).matches : undefined),\n () => undefined,\n );\n}\n","import { Breakpoint } from '../propsValues/breakpoint';\n\nimport { useMedia } from './useMedia';\n\nexport function useScreenSize(size: Breakpoint) {\n return useMedia(`(min-width: ${size}px)`);\n}\n","import { Breakpoint } from '../../propsValues/breakpoint';\nimport { useScreenSize } from '../useScreenSize';\n\n/**\n * @deprecated Prefer `useScreenSize` instead.\n */\nexport const useLayout = (): {\n isMobile: boolean | undefined;\n isExtraSmall: boolean | undefined;\n isSmall: boolean | undefined;\n isMedium: boolean | undefined;\n isLarge: boolean | undefined;\n isExtraLarge: boolean | undefined;\n} => {\n const screenXs = useScreenSize(Breakpoint.EXTRA_SMALL);\n const screenSm = useScreenSize(Breakpoint.SMALL);\n const screenMd = useScreenSize(Breakpoint.MEDIUM);\n const screenLg = useScreenSize(Breakpoint.LARGE);\n const screenXl = useScreenSize(Breakpoint.EXTRA_LARGE);\n\n return {\n isMobile: screenSm != null ? !screenSm : undefined,\n isExtraSmall: screenXs,\n isSmall: screenSm,\n isMedium: screenMd,\n isLarge: screenLg,\n isExtraLarge: screenXl,\n };\n};\n","import classNames from 'classnames';\nimport { forwardRef, useImperativeHandle, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport { Position } from '../common';\n\nexport const EXIT_ANIMATION = 350;\n\nexport interface SlidingPanelProps\n extends Pick<React.ComponentPropsWithRef<'div'>, 'ref' | 'className' | 'children'> {\n position?: `${Position.TOP | Position.RIGHT | Position.BOTTOM | Position.LEFT}`;\n open: boolean;\n showSlidingPanelBorder?: boolean;\n slidingPanelPositionFixed?: boolean;\n}\n\nconst SlidingPanel = forwardRef(\n (\n {\n position = 'left',\n open,\n showSlidingPanelBorder,\n slidingPanelPositionFixed,\n className,\n children,\n ...rest\n }: Omit<SlidingPanelProps, 'ref'>,\n reference: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const localReference = useRef<HTMLDivElement>(null as never);\n useImperativeHandle(reference, () => localReference.current, []);\n\n return (\n <CSSTransition\n {...rest}\n key={`sliding-panel--open-${position}`}\n nodeRef={localReference}\n in={open}\n // Wait for animation to finish before unmount.\n timeout={{ enter: 0, exit: EXIT_ANIMATION }}\n classNames=\"sliding-panel\"\n appear\n unmountOnExit\n >\n <div\n ref={localReference}\n className={classNames(\n 'sliding-panel',\n `sliding-panel--open-${position}`,\n showSlidingPanelBorder && `sliding-panel--border-${position}`,\n slidingPanelPositionFixed && 'sliding-panel--fixed',\n className,\n )}\n >\n {children}\n </div>\n </CSSTransition>\n );\n },\n);\n\nexport default SlidingPanel;\n","import { useId } from '@radix-ui/react-id';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Position, Typography } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport { useLayout } from '../common/hooks';\nimport Dimmer from '../dimmer';\nimport SlidingPanel from '../slidingPanel';\nimport Title from '../title';\nimport { logActionRequiredIf } from '../utilities';\n\nconst Drawer = ({ children, className, footerContent, headerTitle, onClose, open, position }) => {\n logActionRequiredIf(\n 'Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.',\n !onClose,\n );\n\n const { isMobile } = useLayout();\n const titleId = useId();\n\n return (\n <Dimmer open={open} onClose={onClose}>\n <SlidingPanel open={open} position={isMobile ? Position.BOTTOM : position}>\n <div\n role=\"dialog\"\n aria-modal\n aria-labelledby={headerTitle ? titleId : undefined}\n className={classNames('np-drawer', className)}\n >\n <div\n className={classNames('np-drawer-header', {\n 'np-drawer-header--withborder': headerTitle,\n })}\n >\n {headerTitle && (\n <Title id={titleId} type={Typography.TITLE_BODY}>\n {headerTitle}\n </Title>\n )}\n <CloseButton onClick={onClose} />\n </div>\n {children && <div className={classNames('np-drawer-content')}>{children}</div>}\n {footerContent && <div className={classNames('np-drawer-footer')}>{footerContent}</div>}\n </div>\n </SlidingPanel>\n </Dimmer>\n );\n};\n\nDrawer.propTypes = {\n /** The content to appear in the drawer body. */\n children: PropTypes.node,\n className: PropTypes.string,\n /** The content to appear in the drawer footer. */\n footerContent: PropTypes.node,\n /** The content to appear in the drawer header. */\n headerTitle: PropTypes.node,\n /** The action to perform on close click. */\n onClose: PropTypes.func,\n /** The status of Drawer either open or not. */\n open: PropTypes.bool,\n /** The placement of Drawer on the screen either left or right. On mobile it will default to bottom. */\n position: PropTypes.oneOf(['left', 'right', 'bottom']),\n};\n\nDrawer.defaultProps = {\n children: null,\n className: undefined,\n footerContent: null,\n headerTitle: null,\n onClose: null,\n open: false,\n position: Position.RIGHT,\n};\n\nexport default Drawer;\n","import classNames from 'classnames';\nimport {\n useRef,\n useState,\n ReactElement,\n PropsWithChildren,\n CSSProperties,\n SyntheticEvent,\n} from 'react';\n\nimport Dimmer from '../../dimmer';\nimport Drawer from '../../drawer';\nimport SlidingPanel from '../../slidingPanel';\nimport { CloseButton } from '../closeButton';\nimport { CommonProps } from '../commonProps';\nimport { isServerSide } from '../domHelpers';\nimport { useConditionalListener } from '../hooks';\nimport { useMedia } from '../hooks/useMedia';\nimport { Breakpoint } from '../propsValues/breakpoint';\nimport { Position } from '../propsValues/position';\n\nconst INITIAL_Y_POSITION = 0;\n\nconst CONTENT_SCROLL_THRESHOLD = 1;\n\nconst MOVE_OFFSET_THRESHOLD = 50;\n\nexport type BottomSheetProps = PropsWithChildren<\n {\n onClose?: (event: Event | SyntheticEvent) => void;\n open: boolean;\n } & CommonProps\n>;\n\n/**\n * Neptune: https://transferwise.github.io/neptune/components/bottom-sheet/\n *\n * Neptune Web: https://transferwise.github.io/neptune-web/components/overlays/BottomSheet\n *\n */\nconst BottomSheet = (props: BottomSheetProps): ReactElement => {\n const bottomSheetReference = useRef<HTMLDivElement>(null);\n const topBarReference = useRef<HTMLDivElement>(null);\n const contentReference = useRef<HTMLDivElement>(null);\n\n const [pressed, setPressed] = useState<boolean>(false);\n\n /**\n * Used to track `requestAnimationFrame` requests\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame#return_value\n */\n const animationId = useRef<number>(0);\n\n /**\n * Difference between initial coordinate ({@link initialYCoordinate})\n * and new position (when user moves component), it's get calculated on `onTouchMove` and `onMouseMove` events\n *\n * @see {@link calculateOffsetAfterMove}\n */\n const moveOffset = useRef<number>(0);\n const initialYCoordinate = useRef<number>(0);\n\n // apply shadow to the bottom of top-bar when scroll over content\n useConditionalListener({\n attachListener: props.open && !isServerSide(),\n callback: () => {\n if (topBarReference.current !== null) {\n const { classList } = topBarReference.current;\n if (!isContentScrollPositionAtTop()) {\n classList.add('np-bottom-sheet--top-bar--shadow');\n } else {\n classList.remove('np-bottom-sheet--top-bar--shadow');\n }\n }\n },\n eventType: 'scroll',\n parent: isServerSide() ? undefined : document,\n });\n\n function move(newHeight: number): void {\n if (bottomSheetReference.current !== null) {\n bottomSheetReference.current.style.transform = `translateY(${newHeight}px)`;\n }\n }\n\n function close(event: Event | SyntheticEvent): void {\n setPressed(false);\n moveOffset.current = INITIAL_Y_POSITION;\n if (bottomSheetReference.current !== null) {\n bottomSheetReference.current.style.removeProperty('transform');\n }\n if (props.onClose) {\n props.onClose(event);\n }\n }\n\n const onSwipeStart = (\n event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,\n ): void => {\n initialYCoordinate.current = ('touches' in event ? event.touches[0] : event).clientY;\n setPressed(true);\n };\n\n const onSwipeMove = (\n event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,\n ): void => {\n if (pressed) {\n const { clientY } = 'touches' in event ? event.touches[0] : event;\n\n const offset = calculateOffsetAfterMove(clientY);\n // check whether move is to the bottom only and content scroll position is at the top\n if (offset > INITIAL_Y_POSITION && isContentScrollPositionAtTop()) {\n moveOffset.current = offset;\n animationId.current = requestAnimationFrame(() => {\n if (animationId.current !== undefined && bottomSheetReference.current !== null) {\n move(offset);\n }\n });\n }\n }\n };\n\n function onSwipeEnd(\n event: React.MouseEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>,\n ): void {\n // stop moving component\n cancelAnimationFrame(animationId.current);\n setPressed(false);\n // check whether move down is strong enough\n // and content scroll position is at the top to close the component\n if (moveOffset.current > MOVE_OFFSET_THRESHOLD && isContentScrollPositionAtTop()) {\n close(event);\n }\n // otherwise move component back to default (initial) position\n else {\n move(INITIAL_Y_POSITION);\n }\n moveOffset.current = INITIAL_Y_POSITION;\n }\n\n function isContentScrollPositionAtTop(): boolean {\n return (\n contentReference?.current?.scrollTop !== undefined &&\n contentReference.current.scrollTop <= CONTENT_SCROLL_THRESHOLD\n );\n }\n\n /**\n * Calculates how hard user moves component,\n * result value used to determine whether to hide component or re-position to default state\n *\n * @param afterMoveYCoordinate\n */\n function calculateOffsetAfterMove(afterMoveYCoordinate: number): number {\n return afterMoveYCoordinate - initialYCoordinate.current;\n }\n\n /**\n * Set `max-height` for content part (in order to keep it scrollable for content overflow cases) of the component\n * and ensures space for safe zone (32px) at the top.\n */\n function setContentMaxHeight(): CSSProperties {\n const safeZoneHeight = '64px';\n const topbarHeight = '32px';\n const windowHight: number = isServerSide() ? 0 : window.innerHeight;\n /**\n * Calculate _real_ height of the screen (taking into account parts of browser interface).\n *\n * See https://css-tricks.com/the-trick-to-viewport-units-on-mobile for more details.\n */\n const screenHeight = `${windowHight * 0.01 * 100}px`;\n return {\n maxHeight: `calc(${screenHeight} - ${safeZoneHeight} - ${topbarHeight})`,\n };\n }\n\n const is400Zoom = useMedia(`(max-width: ${Breakpoint.ZOOM_400}px)`);\n\n return is400Zoom ? (\n <Drawer open={props.open} className={props.className} onClose={close}>\n {props.children}\n </Drawer>\n ) : (\n <Dimmer open={props.open} fadeContentOnEnter fadeContentOnExit onClose={close}>\n <SlidingPanel\n ref={bottomSheetReference}\n open={props.open}\n position={Position.BOTTOM}\n className={classNames('np-bottom-sheet', props.className)}\n >\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}\n <div\n role=\"dialog\"\n aria-modal\n onTouchStart={onSwipeStart}\n onTouchMove={onSwipeMove}\n onTouchEnd={onSwipeEnd}\n onMouseDown={onSwipeStart}\n onMouseMove={onSwipeMove}\n onMouseUp={onSwipeEnd}\n >\n <div ref={topBarReference} className=\"np-bottom-sheet--top-bar\">\n <div className=\"np-bottom-sheet--handler\" />\n <CloseButton size=\"sm\" className=\"sr-only np-bottom-sheet--close-btn\" onClick={close} />\n </div>\n <div\n ref={contentReference}\n style={setContentMaxHeight()}\n className=\"np-bottom-sheet--content\"\n >\n {props.children}\n </div>\n </div>\n </SlidingPanel>\n </Dimmer>\n );\n};\n\nexport default BottomSheet;\n","import classNames from 'classnames';\nimport { MouseEvent, ReactNode, useRef } from 'react';\n\nimport { CloseButton } from '../closeButton';\nimport { stopPropagation } from '../domHelpers';\n\nexport interface CardProps {\n /** Content to display inside Card. */\n children: ReactNode;\n\n /** Optional prop to specify classNames onto the Card */\n className?: string;\n\n /** Optional prop to specify the ID on to Card */\n id?: string;\n\n /** Specify whether the Card is disabled, or not */\n isDisabled?: boolean;\n\n /** Specify whether the Card is sized small or not */\n isSmall?: boolean;\n\n /** Optionally specify Card onDismiss function */\n onDismiss?: () => void;\n\n /** Optional prop to specify the ID used for testing */\n testId?: string;\n}\n\n/**\n * Card component.\n *\n * A card is a container for content that is used to group related information.\n * It can be used to display information in a structured way, and can be\n * customized with various props to suit different use cases.\n *\n * @param {Object} props - The component props.\n * @param {ReactNode} children - The content to display inside the card.\n * @param {string} className - Optional class name(s) to add to the card container.\n * @param {string} id - Optional ID to add to the card container.\n * @param {boolean} isDisabled - Whether the card is disabled or not.\n * @param {boolean} isSmall - Whether the card is small or not.\n * @param {(event_: MouseEvent<HTMLButtonElement>) => void} onDismiss - Optional function to call when the card is dismissed.\n * @param {string} testId - Optional ID to add to the card container for testing purposes.\n * @returns {JSX.Element} - The card component.\n * @example\n * <Card>\n * <p>Hello World!</p>\n * </Card>\n */\nconst Card: React.FC<CardProps> = ({\n className,\n children = null,\n id,\n isDisabled = false,\n isSmall = false,\n onDismiss,\n testId,\n ...props\n}) => {\n const closeButtonReference = useRef(null);\n\n return (\n <div\n className={classNames(\n 'np-Card',\n {\n 'np-Card--small': !!isSmall,\n 'is-disabled': !!isDisabled,\n },\n className,\n )}\n id={id}\n data-testid={testId}\n {...props}\n >\n {onDismiss && (\n <CloseButton\n ref={closeButtonReference}\n className=\"np-Card-closeButton\"\n size={isSmall ? 'sm' : 'md'}\n isDisabled={isDisabled}\n testId=\"close-button\"\n onClick={(e) => {\n stopPropagation(e);\n onDismiss();\n }}\n />\n )}\n {children}\n </div>\n );\n};\n\nexport default Card;\n","import { Alert as DangerIcon, AlertCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport Button from '../button';\nimport { ControlType, Priority, Size, Typography } from '../common';\nimport Title from '../title';\n\nexport type CriticalCommsBannerProps = {\n title: string;\n subtitle?: string;\n action?: {\n label: string;\n href: string;\n };\n className?: string;\n};\n\nfunction CriticalCommsBanner({ title, subtitle, action, className }: CriticalCommsBannerProps) {\n const { isModern } = useTheme();\n return (\n <div className={classNames('critical-comms', className)}>\n <div className=\"critical-comms-body\">\n <Avatar\n size={Size.MEDIUM}\n type={AvatarType.ICON}\n className={classNames(isModern ? 'm-r-2' : 'm-r-1')}\n backgroundColor={\n isModern ? 'var(--color-sentiment-negative)' : 'var(--color-background-negative)'\n }\n >\n {isModern ? <AlertCircleFill /> : <DangerIcon size={24} />}\n </Avatar>\n <div className=\"critical-comms-content d-flex align-items-center flex-grow-1\">\n <div className={classNames('flex-grow-1', { 'p-x-2': !isModern })}>\n <Title\n type={isModern ? Typography.TITLE_BODY : Typography.TITLE_GROUP}\n className=\"critical-comms--title\"\n >\n {title}\n </Title>\n <Body className=\"critical-comms--subtitle\">{subtitle}</Body>\n </div>\n {action ? (\n <div className=\"critical-comms--cta\">\n <Button\n block={isModern}\n size={Size.SMALL}\n type={ControlType.NEGATIVE}\n priority={isModern ? Priority.SECONDARY : Priority.PRIMARY}\n className=\"cta-btn\"\n onClick={() => {\n if (action) {\n window.location.href = action.href;\n }\n }}\n >\n {action.label}\n </Button>\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CriticalCommsBanner;\n","import { formatDate } from '@transferwise/formatting';\n\nexport function getDayNames(\n locale: string,\n format: Intl.DateTimeFormatOptions['weekday'] = 'short',\n) {\n const days: string[] = [];\n const date = new Date(2018, 0, 1); // 2018 started with Monday\n while (days.length < 7) {\n days.push(formatDate(date, locale, { weekday: format }));\n date.setDate(date.getDate() + 1);\n }\n return days;\n}\n","// Makes sure that date is between min and max dates, returns a cloned min or max\nexport function moveToWithinRange(date: Date, min: Date | null, max: Date | null) {\n if (min && date < min) {\n return new Date(min);\n }\n if (max && date > max) {\n return new Date(max);\n }\n return date;\n}\n","export function isWithinRange(date: Date, min: Date | null, max: Date | null) {\n return (!min || date >= min) && (!max || date <= max);\n}\n","import { formatDate } from '@transferwise/formatting';\n\nexport const getMonthNames = (\n locale: string,\n format: Intl.DateTimeFormatOptions['month'] = 'long',\n): string[] => {\n const months: string[] = [];\n const date = new Date(2018, 0, 1);\n const monthFormat = { month: format };\n while (months.length < 12) {\n months.push(formatDate(date, locale, monthFormat));\n date.setMonth(date.getMonth() + 1);\n }\n return months;\n};\n","export const isDateValid = (date: Date | string | null) => {\n if (date === null) {\n return false;\n } else if (date instanceof Date) {\n return validDateObject(date);\n } else {\n return validDateString(date);\n }\n};\n\nexport const validDateString = (dateString: string) => validDateObject(new Date(dateString));\n\nconst validDateObject = (dateObject: Date) => !isNaN(dateObject.getTime());\n","import { validDateString } from '../isDateValid/isDateValid';\n\nexport const isMonthAndYearFormat = (dateString: string) =>\n validDateString(dateString) && dateString.split('-').length < 3;\n","export const MDY = new Set(['en-US']);\nexport const YMD = new Set(['hu', 'hu-HU', 'zh-HK', 'zh-CN', 'ja', 'ja-JP']);\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n monthLabel: {\n id: 'neptune.DateInput.month.label',\n defaultMessage: 'Month',\n },\n dayLabel: {\n id: 'neptune.DateInput.day.label',\n defaultMessage: 'Day',\n },\n yearLabel: {\n id: 'neptune.DateInput.year.label',\n defaultMessage: 'Year',\n },\n dayPlaceholder: {\n id: 'neptune.DateInput.day.placeholder',\n defaultMessage: 'DD',\n description: 'Placeholder for 2-digit day values within an input.',\n },\n yearPlaceholder: {\n id: 'neptune.DateInput.year.placeholder',\n defaultMessage: 'YYYY',\n description: 'Placeholder for 4-digit year values within an input.',\n },\n});\n","export const convertToLocalMidnight = (date: string) => {\n const utcDate = new Date(date.split('T')[0]); // using YYYY-MM-DD creates UTC date\n\n return new Date(utcDate.getUTCFullYear(), utcDate.getUTCMonth(), utcDate.getUTCDate());\n};\n","import classNames from 'classnames';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Input, SelectInput, SelectInputProps, SelectInputOptionContent } from '..';\nimport { Size, DateMode, MonthFormat, SizeSmall, SizeMedium, SizeLarge } from '../common';\nimport { getMonthNames, isDateValid, isMonthAndYearFormat, MDY, YMD } from '../common/dateUtils';\n\nimport messages from './DateInput.messages';\nimport { convertToLocalMidnight } from './utils';\n\nexport interface DateInputProps {\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n disabled?: boolean;\n size?: SizeSmall | SizeMedium | SizeLarge;\n value?: Date | string;\n onChange: (value: string | null) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n dayLabel?: string;\n dayAutoComplete?: string;\n monthLabel?: string;\n yearLabel?: string;\n yearAutoComplete?: string;\n monthFormat?: `${MonthFormat}`;\n mode?: `${DateMode}`;\n placeholders?: {\n day?: string;\n month?: string;\n year?: string;\n };\n id?: string;\n selectProps?: Partial<SelectInputProps<number | null>>;\n}\n\nconst DateInput = ({\n 'aria-labelledby': ariaLabelledBy,\n 'aria-label': ariaLabel,\n disabled = false,\n size = Size.MEDIUM,\n value,\n dayLabel,\n dayAutoComplete,\n monthLabel,\n yearLabel,\n yearAutoComplete,\n monthFormat = MonthFormat.LONG,\n mode = DateMode.DAY_MONTH_YEAR,\n onChange,\n onFocus,\n onBlur,\n placeholders,\n id,\n selectProps = {},\n}: DateInputProps) => {\n const { locale, formatMessage } = useIntl();\n\n const getDateObject = (): Date | undefined => {\n if (value && isDateValid(value)) {\n return typeof value === 'string' ? convertToLocalMidnight(value) : value;\n }\n return undefined;\n };\n\n const getInitialDate = (unit: 'year' | 'month' | 'day'): number | null => {\n if (value && isDateValid(value)) {\n const dateObject = getDateObject();\n\n if (typeof value === 'string' && isMonthAndYearFormat(value) && unit === 'day') {\n return null;\n }\n\n if (dateObject !== undefined) {\n switch (unit) {\n case 'year':\n return dateObject.getFullYear();\n case 'month':\n return dateObject.getMonth();\n case 'day':\n return dateObject.getDate();\n default:\n return null;\n }\n }\n }\n return null;\n };\n\n const [day, setDay] = useState(() => getInitialDate('day'));\n const [month, setMonth] = useState(() => getInitialDate('month'));\n const [year, setYear] = useState(() => getInitialDate('year'));\n const [lastBroadcastedValue, setLastBroadcastedValue] = useState<Date | null | undefined>(\n getDateObject,\n );\n const monthNames = getMonthNames(locale, monthFormat);\n\n dayLabel = dayLabel || formatMessage(messages.dayLabel);\n monthLabel = monthLabel || formatMessage(messages.monthLabel);\n yearLabel = yearLabel || formatMessage(messages.yearLabel);\n placeholders = {\n day: placeholders?.day || formatMessage(messages.dayPlaceholder),\n month: placeholders?.month || formatMessage(messages.monthLabel),\n year: placeholders?.year || formatMessage(messages.yearPlaceholder),\n };\n\n const getDateAsString = (date: Date) => {\n if (!isDateValid(date)) {\n return '';\n }\n switch (mode) {\n case DateMode.MONTH_YEAR:\n return [date.getFullYear(), `0${date.getMonth() + 1}`.slice(-2)].join('-');\n case DateMode.DAY_MONTH_YEAR:\n default:\n return [\n date.getFullYear(),\n `0${date.getMonth() + 1}`.slice(-2),\n `0${date.getDate()}`.slice(-2),\n ].join('-');\n }\n };\n\n const getSelectElement = () => {\n return (\n <label className=\"d-flex flex-column\">\n <span className=\"sr-only\">{monthLabel}</span>\n <SelectInput\n name=\"month\"\n disabled={disabled}\n placeholder={placeholders?.month}\n items={Array.from({ length: 12 }, (_, index) => ({ type: 'option', value: index }))}\n size={size}\n value={month}\n renderValue={(selectedValue) => (\n <SelectInputOptionContent title={monthNames[selectedValue]} />\n )}\n onChange={(selectedValue) => handleMonthChange(selectedValue)}\n {...selectProps}\n />\n </label>\n );\n };\n\n const handleInternalValue = (newDay = day, newMonth = month, newYear = year) => {\n if (newDay == null || newMonth == null || newYear == null) {\n broadcastNewValue(null);\n return;\n }\n\n const dateValue = new Date(newYear, newMonth, newDay);\n\n if (!isDateValid(dateValue)) {\n broadcastNewValue(null);\n return;\n }\n\n if (mode === DateMode.MONTH_YEAR) {\n if (newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n } else if (newDay !== day || newMonth !== month || newYear !== year) {\n broadcastNewValue(dateValue);\n }\n };\n\n const handleDayChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { checkedDay } = checkDate(Number.parseInt(event.target.value, 10), month, year);\n setDay(checkedDay);\n handleInternalValue(checkedDay, month, year);\n };\n\n const handleMonthChange = (selectedMonth: number | null) => {\n if (selectedMonth === null) {\n setMonth(null);\n handleInternalValue(day, null, year);\n return;\n }\n const { checkedDay } = checkDate(day, selectedMonth, year);\n setMonth(selectedMonth);\n if (day && checkedDay !== day) {\n setDay(checkedDay);\n }\n handleInternalValue(checkedDay, selectedMonth, year);\n };\n\n const handleYearChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n const slicedYear = newValue.length > 4 ? newValue.slice(0, 4) : newValue;\n\n if (slicedYear.toString().length === 4) {\n // Correct day based on year and month.\n const { checkedDay } = checkDate(day, month, Number.parseInt(newValue, 10));\n\n if (day && checkedDay !== day) {\n setDay(checkedDay);\n }\n\n setYear(Number.parseInt(slicedYear, 10));\n handleInternalValue(checkedDay, month, Number.parseInt(slicedYear, 10));\n } else {\n setYear(Number.parseInt(slicedYear, 10));\n handleInternalValue(day, month, null);\n }\n };\n\n const broadcastNewValue = (newValue: Date | null) => {\n if (newValue !== lastBroadcastedValue) {\n setLastBroadcastedValue(newValue);\n onChange(newValue != null ? getDateAsString(newValue) : null);\n }\n };\n\n const checkDate = (\n newDay: number | null = null,\n newMonth: number | null = 0,\n newYear: number | null = null,\n ) => {\n let checkedDay = newDay;\n const maxDay = new Date(newYear || 2000, newMonth != null ? newMonth + 1 : 1, 0).getDate();\n\n if (!newDay) {\n checkedDay = null;\n }\n\n if (newDay && newDay < 0) {\n checkedDay = 1;\n }\n\n if ((newDay && newMonth) || (newDay && newDay > 31)) {\n checkedDay = newDay > maxDay ? maxDay : newDay;\n }\n\n return { checkedDay, checkedMonth: newMonth, checkedYear: newYear };\n };\n\n const monthYearOnly = mode === DateMode.MONTH_YEAR;\n\n const monthWidth = classNames({\n 'col-sm-8': monthYearOnly,\n 'col-sm-5': !monthYearOnly,\n });\n\n const getMonth = () => {\n return <div className={monthWidth}>{getSelectElement()}</div>;\n };\n\n const getDay = () => {\n return (\n <div className=\"col-sm-3\">\n <label>\n <span className=\"sr-only\">{dayLabel}</span>\n <div className={`input-group input-group-${size}`}>\n <Input\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"day\"\n autoComplete={dayAutoComplete}\n value={day || ''}\n placeholder={placeholders?.day}\n disabled={disabled}\n min={1}\n onChange={(event) => handleDayChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n\n const getYear = () => {\n return (\n <div className=\"col-sm-4\">\n <label>\n <span className=\"sr-only\">{yearLabel}</span>\n <div className={`input-group input-group-${size}`}>\n <Input\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"[0-9]*\"\n name=\"year\"\n autoComplete={yearAutoComplete}\n placeholder={placeholders?.year}\n value={year || ''}\n disabled={disabled}\n min={1}\n onChange={(event) => handleYearChange(event)}\n />\n </div>\n </label>\n </div>\n );\n };\n const monthBeforeDay = MDY.has(locale);\n const yearFirst = YMD.has(locale);\n\n return (\n <div\n className=\"tw-date\"\n id={id}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n role=\"group\" // Add role attribute to indicate container for interactive elements\n onFocus={(event: React.FocusEvent<HTMLInputElement>) =>\n shouldPropagateOnFocus(event) ? onFocus && onFocus(event) : event.stopPropagation()\n }\n onBlur={(event: React.FocusEvent<HTMLInputElement>) =>\n shouldPropagateOnBlur(event) ? onBlur && onBlur(event) : event.stopPropagation()\n }\n >\n <div className=\"row\">\n {(() => {\n if (monthYearOnly) {\n return (\n <>\n {!yearFirst && getMonth()}\n {getYear()}\n {yearFirst && getMonth()}\n </>\n );\n }\n if (monthBeforeDay) {\n return (\n <>\n {getMonth()}\n {getDay()}\n {getYear()}\n </>\n );\n } else if (yearFirst) {\n return (\n <>\n {getYear()}\n {getMonth()}\n {getDay()}\n </>\n );\n } else {\n return (\n <>\n {getDay()}\n {getMonth()}\n {getYear()}\n </>\n );\n }\n })()}\n </div>\n </div>\n );\n};\n\n// Should only propagate if the relatedTarget is not part of this DateInput component.\nfunction shouldPropagateOnFocus({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const targetParent = target.closest('.tw-date');\n const relatedParent = relatedTarget && relatedTarget.closest('.tw-date');\n return targetParent !== relatedParent;\n}\n\n// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.\nfunction shouldPropagateOnBlur({\n target,\n relatedTarget,\n}: Pick<React.FocusEvent, 'target' | 'relatedTarget'>) {\n const blurElementParent = target.closest('.tw-date');\n // Even though FocusEvent.relatedTarget is supported by IE\n // (https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget)\n // \"IE11 sets document.activeElement to the next focused element before the blur event is called.\"\n // (https://stackoverflow.com/a/49325196/986241)\n // Therefore if the relatedTarget is null, we try the document.activeElement,\n // which may contain the HTML element that is gaining focus\n const focusElement =\n relatedTarget || (document.activeElement !== target ? document.activeElement : null);\n const focusElementParent = focusElement && focusElement.closest('.tw-date');\n return blurElementParent !== focusElementParent;\n}\n\nexport default DateInput;\n","import classnames from 'classnames';\nimport {\n useState,\n forwardRef,\n useEffect,\n PropsWithChildren,\n RefObject,\n SyntheticEvent,\n HTMLAttributes,\n CSSProperties,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { Position, PositionBottom, PositionLeft, PositionRight, PositionTop } from '..';\nimport Dimmer from '../../dimmer';\n\nconst POPOVER_OFFSET = [0, 16];\n\n// By default the flip positioning explores only the opposite alternative. So if left is passed and there's no enough space\n// the right one gets chosen. If there's no space on both sides popover goes back to the initially chosen one left.\n// This mapping forces popover to try the four available positions before going back to the initial chosen one.\nconst fallbackPlacements = {\n [Position.TOP]: [Position.BOTTOM, Position.RIGHT, Position.LEFT],\n [Position.BOTTOM]: [Position.TOP, Position.RIGHT, Position.LEFT],\n [Position.LEFT]: [Position.RIGHT, Position.TOP, Position.BOTTOM],\n [Position.RIGHT]: [Position.LEFT, Position.TOP, Position.BOTTOM],\n};\n\nexport type PanelProps = PropsWithChildren<{\n arrow?: boolean;\n flip?: boolean;\n altAxis?: boolean;\n open?: boolean;\n onClose?: (event: Event | SyntheticEvent) => void;\n position?: PositionBottom | PositionLeft | PositionRight | PositionTop;\n anchorRef: RefObject<Element>;\n anchorWidth?: boolean;\n}> &\n HTMLAttributes<HTMLDivElement>;\n\nconst Panel = forwardRef<HTMLDivElement, PanelProps>(\n (\n {\n arrow = false,\n flip = true,\n altAxis = false,\n children,\n open = false,\n onClose,\n position = Position.BOTTOM,\n anchorRef,\n anchorWidth = false,\n ...rest\n }: PanelProps,\n reference,\n ) => {\n const [arrowElement, setArrowElement] = useState<HTMLDivElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLDivElement | null>(null);\n\n const modifiers = [];\n\n if (altAxis) {\n modifiers.push({\n // https://popper.js.org/docs/v2/modifiers/prevent-overflow\n name: 'preventOverflow',\n options: {\n altAxis: true,\n tether: false,\n },\n });\n }\n\n if (arrow) {\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: POPOVER_OFFSET } });\n }\n if (flip && fallbackPlacements[position]) {\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: fallbackPlacements[position],\n },\n });\n }\n\n const { styles, attributes, forceUpdate } = usePopper(anchorRef.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n const contentStyle: CSSProperties = {\n ...(anchorWidth ? { width: anchorRef.current?.clientWidth } : undefined),\n };\n\n return (\n <Dimmer open={open} transparent fadeContentOnEnter fadeContentOnExit onClose={onClose}>\n <div\n {...rest}\n ref={setPopperElement}\n role=\"dialog\"\n // eslint-disable-next-line react/forbid-dom-props\n style={{ ...styles.popper }}\n {...attributes.popper}\n className={classnames('np-panel', { 'np-panel--open': open }, rest['className'])}\n >\n <div\n ref={reference}\n /* eslint-disable-next-line react/forbid-dom-props */\n style={contentStyle}\n className={classnames('np-panel__content')}\n >\n {children}\n {/* Arrow has to stay inside content to get the same animations as the \"dialog\" and to get hidden when panel is closed. */}\n {arrow && (\n <div\n ref={setArrowElement}\n className={classnames('np-panel__arrow')}\n // eslint-disable-next-line react/forbid-dom-props\n style={styles.arrow}\n />\n )}\n </div>\n </div>\n </Dimmer>\n );\n },\n);\n\nexport default Panel;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { forwardRef } from 'react';\n\nimport { Position } from '..';\nimport BottomSheet from '../bottomSheet';\nimport { useLayout } from '../hooks';\nimport Panel from '../panel';\nimport { PanelProps } from '../panel/Panel';\n\nconst ResponsivePanel = forwardRef<HTMLDivElement, PanelProps>(\n (\n {\n anchorRef,\n arrow = false,\n flip = true,\n children,\n className = undefined,\n onClose,\n open = false,\n position = Position.BOTTOM,\n }: PanelProps,\n reference,\n ) => {\n const { isMobile } = useLayout();\n if (isMobile) {\n return (\n <BottomSheet key=\"bottomSheet\" open={open} className={className} onClose={onClose}>\n {children}\n </BottomSheet>\n );\n }\n return (\n <Panel\n key=\"panel\"\n ref={reference}\n flip={flip}\n arrow={arrow}\n open={open}\n position={position}\n anchorRef={anchorRef}\n className={className}\n onClose={onClose}\n >\n {children}\n </Panel>\n );\n },\n);\n\nexport default ResponsivePanel;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n ariaLabel: {\n id: 'neptune.ClearButton.ariaLabel',\n defaultMessage: 'Clear',\n description: 'Description of clear button',\n },\n});\n","import { formatDate } from '@transferwise/formatting';\nimport { useIntl } from 'react-intl';\n\nimport Chevron from '../../chevron';\nimport { Size, Position, SizeSmall, SizeMedium, SizeLarge } from '../../common';\nimport { CloseButton } from '../../common/closeButton/CloseButton';\n\nimport messages from './DateTrigger.messages';\n\ninterface DateTriggerProps {\n selectedDate: Date | null;\n size: SizeSmall | SizeMedium | SizeLarge;\n placeholder: string;\n label: string;\n monthFormat: 'short' | 'long';\n disabled: boolean;\n onClick: () => void;\n onClear?: () => void;\n}\n\nconst DateTrigger: React.FC<DateTriggerProps> = ({\n selectedDate,\n size = Size.MEDIUM,\n placeholder,\n label,\n monthFormat,\n disabled,\n onClick,\n onClear,\n}) => {\n const { locale, formatMessage } = useIntl();\n\n return (\n <>\n <button\n className={`btn btn-${size} btn-input np-date-trigger`}\n disabled={disabled}\n type=\"button\"\n onClick={onClick}\n >\n {label && <span className=\"control-label small m-r-1\">{label}</span>}\n {selectedDate ? (\n <span className=\"font-weight-normal\">\n {formatDate(selectedDate, locale, {\n day: 'numeric',\n month: monthFormat,\n year: 'numeric',\n })}\n </span>\n ) : (\n <span\n className=\"form-control-placeholder visible-xs-inline visible-sm-inline\n visible-md-inline visible-lg-inline visible-xl-inline\"\n >\n {placeholder}\n </span>\n )}\n {!onClear ? <Chevron orientation={Position.BOTTOM} disabled={disabled} /> : null}\n </button>\n {onClear ? (\n <>\n <div className=\"clearfix\" />\n <span className=\"input-group-addon\">\n <CloseButton\n className={`clear-btn clear-btn--${size}`}\n aria-label={`${formatMessage(messages.ariaLabel)} ${label}`}\n size={Size.SMALL}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n event.preventDefault();\n onClear();\n }}\n />\n </span>\n </>\n ) : null}\n </>\n );\n};\n\nexport default DateTrigger;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n next: {\n id: 'neptune.DateLookup.next',\n defaultMessage: 'next',\n description: 'Description of next button',\n },\n previous: {\n id: 'neptune.DateLookup.previous',\n defaultMessage: 'previous',\n description: 'Description of previous button',\n },\n day: {\n id: 'neptune.DateLookup.day',\n defaultMessage: 'day',\n description: 'Description of next/previous/selected day button',\n },\n month: {\n id: 'neptune.DateLookup.month',\n defaultMessage: 'month',\n description: 'Description of next/previous/selected month button',\n },\n year: {\n id: 'neptune.DateLookup.year',\n defaultMessage: 'year',\n description: 'Description of next/previous/selected year button',\n },\n twentyYears: {\n id: 'neptune.DateLookup.twentyYears',\n defaultMessage: '20 years',\n description: 'Description of next/previous 20 years button',\n },\n selected: {\n id: 'neptune.DateLookup.selected',\n defaultMessage: 'selected',\n description: 'Description of the selected day/month/year',\n },\n goTo20YearView: {\n id: 'neptune.DateLookup.goTo20YearView',\n defaultMessage: 'Go to 20 year view',\n description: 'Description of the button to go to 20 year view',\n },\n});\n","import classNames from 'classnames';\nimport { useIntl } from 'react-intl';\n\nimport Chevron from '../../chevron';\nimport { Position, Size, Typography } from '../../common';\nimport { useLayout } from '../../common/hooks';\nimport Title from '../../title';\nimport messages from '../DateLookup.messages';\n\nconst buttonClasses = 'btn-link p-a-0 text-no-decoration np-text-body-large-bold rounded-sm';\n\ninterface DateHeaderProps {\n label?: string;\n onLabelClick?: () => void;\n onPreviousClick: () => void;\n onNextClick: () => void;\n dateMode: string;\n}\n\nconst DateHeader: React.FC<DateHeaderProps> = ({\n label,\n onLabelClick,\n onPreviousClick,\n onNextClick,\n dateMode,\n}) => {\n const intl = useIntl();\n const { isMobile } = useLayout();\n return (\n <div className={classNames('text-xs-center', !isMobile && ['clearfix', 'p-y-1'])}>\n <div className=\"pull-left-single-direction\">\n <button\n type=\"button\"\n className={`d-inline-flex ${buttonClasses}`}\n aria-label={`${intl.formatMessage(messages.previous)} ${dateMode}`}\n onClick={onPreviousClick}\n >\n <Chevron\n orientation={Position.LEFT}\n className=\"left-single-direction\"\n size={Size.MEDIUM}\n />\n </button>\n </div>\n {label && (\n <Title type={Typography.TITLE_BODY} className=\"tw-date-lookup-header-current-container\">\n <button\n type=\"button\"\n className={`tw-date-lookup-header-current ${buttonClasses}`}\n aria-label={intl.formatMessage(messages.goTo20YearView)}\n onClick={onLabelClick}\n >\n {label}\n </button>\n </Title>\n )}\n <div className=\"pull-right-single-direction\">\n <button\n type=\"button\"\n className={`d-inline-flex ${buttonClasses}`}\n aria-label={`${useIntl().formatMessage(messages.next)} ${dateMode}`}\n onClick={onNextClick}\n >\n <Chevron\n orientation={Position.RIGHT}\n className=\"right-single-direction\"\n size={Size.MEDIUM}\n />\n </button>\n </div>\n </div>\n );\n};\n\nexport default DateHeader;\n","interface FocusableTimeProps {\n isActive: (time: number) => boolean;\n isNow: (time: number) => boolean;\n isDisabled: (time: number) => boolean;\n timeSpan: readonly number[];\n}\n\nexport function getFocusableTime(props: FocusableTimeProps): number | undefined {\n return (\n props.timeSpan.find((time: number) => props.isActive(time)) ||\n props.timeSpan.find((time: number) => props.isNow(time) && !props.isDisabled(time)) ||\n props.timeSpan.find((time: number) => !props.isDisabled(time))\n );\n}\n","// NB! Using with UTC timestamp (YYYY-MM-DD) might lead to unexpected results, for example\n// getStartOfDay(new Date('1995-01-01')) in Los Angeles returns 31 Dec 1994, but in\n// in Singapore it is 1 Jan 1995.\n// You might want to use/implement `getUTCStartOfDay` if you want it to be 1995 in any timezone\nexport function getStartOfDay(date: Date | null) {\n if (!date) {\n return null;\n }\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n","import classNames from 'classnames';\nimport { useEffect, useRef } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport messages from '../DateLookup.messages';\n\ninterface TableLinkProps {\n item: number;\n type: 'day' | 'month' | 'year';\n title?: string;\n longTitle?: string;\n active: boolean;\n disabled: boolean;\n today: boolean;\n autofocus?: boolean;\n onClick: (item: number) => void;\n}\n\nconst TableLink = ({\n item,\n type,\n title,\n longTitle,\n active,\n disabled,\n today,\n autofocus,\n onClick,\n}: TableLinkProps) => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const intl = useIntl();\n\n useEffect(() => {\n if (autofocus) {\n setTimeout(() => {\n buttonRef.current?.focus();\n }, 0);\n }\n }, [autofocus]);\n\n const onCalendarClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (!disabled) {\n onClick(item);\n }\n };\n\n const calculateAriaLabel = () => {\n if (active) {\n return `${longTitle || title || ''}, ${intl.formatMessage(\n messages.selected,\n )} ${intl.formatMessage(messages[type])}`;\n }\n return longTitle || title;\n };\n\n return (\n <>\n <button\n ref={buttonRef}\n type=\"button\"\n className={classNames(\n `tw-date-lookup-${type}-option np-text-body-default-bold`,\n { active: !!active },\n { today: !!today },\n )}\n disabled={disabled}\n tabIndex={autofocus ? 0 : -1}\n aria-label={calculateAriaLabel()}\n aria-pressed={active}\n onClick={onCalendarClick}\n >\n {title || item}\n </button>\n </>\n );\n};\n\nexport default TableLink;\n","import { formatDate } from '@transferwise/formatting';\nimport { PureComponent } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { getDayNames, isWithinRange } from '../../../common/dateUtils';\nimport { getFocusableTime } from '../../getFocusableTime/getFocusableTime';\nimport { getStartOfDay } from '../../getStartOfDay';\nimport TableLink from '../../tableLink';\n\nconst SHORT_DAY_FORMAT: Intl.DateTimeFormatOptions = { day: 'numeric' };\n\ninterface DayCalendarTableProps extends WrappedComponentProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewMonth: number;\n viewYear: number;\n onSelect: (date: Date) => void;\n}\n\nclass DayCalendarTable extends PureComponent<DayCalendarTableProps> {\n getTableStructure = () => {\n const { viewMonth, viewYear } = this.props;\n let firstDayOfMonth = new Date(viewYear, viewMonth, 1).getDay();\n // JS Sunday is 0, we're setting it last\n if (firstDayOfMonth === 0) {\n firstDayOfMonth = 7;\n }\n const daysInMonth = new Date(viewYear, viewMonth + 1, 0).getDate();\n\n let week: number[] = [];\n const weeks: number[][] = [];\n let i;\n\n // Pad first week\n for (i = 1; i < firstDayOfMonth; i += 1) {\n week.push(-1);\n }\n // Fill in days\n for (i = 1; i <= daysInMonth; i += 1) {\n week.push(i);\n if ((firstDayOfMonth + i - 1) % 7 === 0) {\n weeks.push(week);\n week = [];\n }\n }\n if (week.length > 0) {\n // Pad last week\n for (i = week.length; i < 7; i += 1) {\n week.push(-1);\n }\n weeks.push(week);\n }\n return weeks;\n };\n\n days = getDayNames(this.props.intl.locale, 'short');\n daysShort = getDayNames(this.props.intl.locale, 'narrow');\n daysLong = getDayNames(this.props.intl.locale, 'long');\n\n selectDay = (day: number) => {\n const { viewMonth, viewYear, onSelect } = this.props;\n onSelect(new Date(viewYear, viewMonth, day));\n };\n\n isDisabled = (day: number) => {\n const { min, max, viewMonth, viewYear } = this.props;\n const date = new Date(viewYear, viewMonth, day);\n\n return !isWithinRange(date, min, max);\n };\n\n isActive = (day: number) => {\n const { selectedDate, viewMonth, viewYear } = this.props;\n return !!(selectedDate && +new Date(viewYear, viewMonth, day) === +selectedDate);\n };\n\n isToday = (day: number) => {\n const { viewMonth, viewYear } = this.props;\n return Number(getStartOfDay(new Date())) === Number(new Date(viewYear, viewMonth, day));\n };\n\n getAutofocusDay = (weeks: number[][]) => {\n const days = weeks.flatMap((week) => week);\n return getFocusableTime({\n isActive: this.isActive,\n isNow: this.isToday,\n isDisabled: this.isDisabled,\n timeSpan: days,\n });\n };\n\n render() {\n const { viewMonth, viewYear, intl } = this.props;\n const weeks = this.getTableStructure();\n const autoFocusDay = this.getAutofocusDay(weeks);\n return (\n <table className=\"table table-condensed table-bordered tw-date-lookup-calendar m-b-0\">\n <thead>\n <tr>\n {this.days.map((day, index) => (\n <th\n key={day}\n className={\n index > 4\n ? 'text-xs-center np-text-body-default'\n : 'text-xs-center np-text-body-default-bold'\n }\n >\n <span className=\"hidden-xs\">\n <abbr title={this.daysLong[index]}>{day.slice(0, 3)}</abbr>\n </span>\n <span className=\"visible-xs-inline-block\">\n <abbr title={this.daysLong[index]}>{this.daysShort[index].slice(0, 2)}</abbr>\n </span>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {/* eslint-disable react/no-array-index-key */}\n {weeks.map((week, weekIndex) => (\n <tr key={weekIndex}>\n {week.map((day, dayIndex) => (\n <td key={dayIndex} className={dayIndex > 4 ? 'weekend' : ''}>\n {day !== -1 && (\n <TableLink\n item={day}\n type=\"day\"\n title={formatDate(\n new Date(viewYear, viewMonth, day),\n intl.locale,\n SHORT_DAY_FORMAT,\n )}\n autofocus={day === autoFocusDay}\n longTitle={formatDate(new Date(viewYear, viewMonth, day), intl.locale)}\n active={this.isActive(day)}\n disabled={this.isDisabled(day)}\n today={this.isToday(day)}\n onClick={this.selectDay}\n />\n )}\n </td>\n ))}\n </tr>\n ))}\n {/* eslint-enable react/no-array-index-key */}\n </tbody>\n </table>\n );\n }\n}\n\nexport default injectIntl(DayCalendarTable);\n","import { formatDate } from '@transferwise/formatting';\nimport { PureComponent } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { MonthFormat } from '../../common';\nimport messages from '../DateLookup.messages';\nimport DateHeader from '../dateHeader';\n\nimport DayCalendarTable from './table';\n\ninterface DayCalendarProps extends WrappedComponentProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewMonth: number;\n viewYear: number;\n monthFormat: `${MonthFormat}`;\n onSelect: (date: Date) => void;\n onLabelClick: () => void;\n onViewDateUpdate: (date: { month: number; year: number }) => void;\n}\n\nclass DayCalendar extends PureComponent<DayCalendarProps> {\n selectPreviousMonth = () => {\n const { viewMonth, viewYear } = this.props;\n this.props.onViewDateUpdate({\n month: viewMonth <= 0 ? 11 : viewMonth - 1,\n year: viewMonth <= 0 ? viewYear - 1 : viewYear,\n });\n };\n\n selectNextMonth = () => {\n const { viewMonth, viewYear } = this.props;\n this.props.onViewDateUpdate({\n month: viewMonth >= 11 ? 0 : viewMonth + 1,\n year: viewMonth >= 11 ? viewYear + 1 : viewYear,\n });\n };\n\n render() {\n const {\n selectedDate,\n min,\n max,\n viewMonth,\n viewYear,\n intl: { locale, formatMessage },\n monthFormat,\n onLabelClick,\n onSelect,\n } = this.props;\n return (\n <>\n <DateHeader\n label={formatDate(new Date(viewYear, viewMonth), locale, {\n month: monthFormat,\n year: 'numeric',\n })}\n dateMode={formatMessage(messages.month)}\n onLabelClick={onLabelClick}\n onPreviousClick={this.selectPreviousMonth}\n onNextClick={this.selectNextMonth}\n />\n <DayCalendarTable {...{ selectedDate, min, max, viewMonth, viewYear, onSelect }} />\n </>\n );\n }\n}\n\nexport default injectIntl(DayCalendar);\n","import { formatDate } from '@transferwise/formatting';\nimport { useIntl } from 'react-intl';\n\nimport { getFocusableTime } from '../../getFocusableTime/getFocusableTime';\nimport TableLink from '../../tableLink';\n\ninterface MonthCalendarTableProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewYear: number;\n placeholder: string;\n onSelect: (date: number) => void;\n}\n\nconst ROWS = 3;\nconst COLS = 4;\nconst MONTH_ONLY_FORMAT: Intl.DateTimeFormatOptions = { month: 'short' };\n\nconst MonthCalendarTable = ({\n selectedDate,\n min,\n max,\n viewYear,\n placeholder,\n onSelect,\n}: MonthCalendarTableProps) => {\n const { locale } = useIntl();\n\n const getLink = (month: number) => {\n return (\n <TableLink\n item={month}\n type=\"month\"\n title={formatDate(new Date(viewYear, month), locale, MONTH_ONLY_FORMAT)}\n active={isActive(month)}\n disabled={isDisabled(month)}\n today={viewYear === new Date().getFullYear() && month === new Date().getMonth()}\n autofocus={autofocusMonth === month}\n onClick={onSelect}\n />\n );\n };\n\n const isActive = (month: number) => {\n return !!(\n selectedDate &&\n month === selectedDate.getMonth() &&\n viewYear === selectedDate.getFullYear()\n );\n };\n\n const isThisMonth = (month: number) => {\n return viewYear === new Date().getFullYear() && month === new Date().getMonth();\n };\n\n const isDisabled = (month: number) => {\n const date = new Date(viewYear, month);\n return !!(\n (min && date < new Date(min.getFullYear(), min.getMonth())) ||\n (max && date > new Date(max.getFullYear(), max.getMonth()))\n );\n };\n\n const autofocusMonth = (() => {\n const months = Array.from({ length: ROWS * COLS }, (_, index) => index);\n return getFocusableTime({ isActive, isNow: isThisMonth, isDisabled, timeSpan: months });\n })();\n\n return (\n <table className=\"table table-condensed table-bordered tw-date-lookup-calendar np-text-body-default-bold m-b-0\">\n <thead className=\"sr-only\">\n <tr>\n <th colSpan={COLS}>{placeholder}</th>\n </tr>\n </thead>\n <tbody>\n {Array.from({ length: ROWS }, (_, rowIndex) => (\n <tr key={rowIndex}>\n {Array.from({ length: COLS }, (_, colIndex) => (\n <td key={colIndex}>{getLink(rowIndex * COLS + colIndex)}</td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nexport default MonthCalendarTable;\n","import { formatDate } from '@transferwise/formatting';\nimport { PureComponent } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport messages from '../DateLookup.messages';\nimport DateHeader from '../dateHeader';\n\nimport MonthCalendarTable from './table';\n\ninterface MonthCalendarProps extends WrappedComponentProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewYear: number;\n placeholder: string;\n onSelect: () => void;\n onLabelClick: () => void;\n onViewDateUpdate: (date: { year?: number; month?: number }) => void;\n}\n\nclass MonthCalendar extends PureComponent<MonthCalendarProps> {\n onMonthSelect = (month: number) => {\n this.props.onViewDateUpdate({ month });\n this.props.onSelect();\n };\n\n selectPreviousYear = () => {\n this.props.onViewDateUpdate({ year: this.props.viewYear - 1 });\n };\n\n selectNextYear = () => {\n this.props.onViewDateUpdate({ year: this.props.viewYear + 1 });\n };\n\n render() {\n const {\n selectedDate,\n min,\n max,\n viewYear,\n intl: { locale, formatMessage },\n placeholder,\n onLabelClick,\n } = this.props;\n return (\n <>\n <DateHeader\n dateMode={formatMessage(messages.year)}\n label={formatDate(new Date(viewYear, 0), locale, { year: 'numeric' })}\n onLabelClick={onLabelClick}\n onPreviousClick={this.selectPreviousYear}\n onNextClick={this.selectNextYear}\n />\n <MonthCalendarTable\n selectedDate={selectedDate}\n min={min}\n max={max}\n viewYear={viewYear}\n placeholder={placeholder}\n onSelect={this.onMonthSelect}\n />\n </>\n );\n }\n}\n\nexport default injectIntl(MonthCalendar);\n","import { formatDate } from '@transferwise/formatting';\nimport { useIntl } from 'react-intl';\n\nimport { getFocusableTime } from '../../getFocusableTime/getFocusableTime';\nimport TableLink from '../../tableLink';\n\ninterface YearCalendarTableProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewYear: number;\n placeholder: string;\n onSelect: (year: number) => void;\n}\n\nconst ROWS = 5;\nconst COLS = 4;\nconst YEAR_ONLY_FORMAT: Intl.DateTimeFormatOptions = { year: 'numeric' };\n\nconst YearCalendarTable = ({\n selectedDate,\n min,\n max,\n viewYear,\n placeholder,\n onSelect,\n}: YearCalendarTableProps) => {\n const { locale } = useIntl();\n const startYear = viewYear - (viewYear % 20);\n const getLink = (year: number) => {\n return (\n <TableLink\n item={year}\n type=\"year\"\n title={formatDate(new Date(year, 0), locale, YEAR_ONLY_FORMAT)}\n active={isActive(year)}\n disabled={isDisabled(year)}\n today={isThisYear(year)}\n autofocus={autofocusYear === year}\n onClick={onSelect}\n />\n );\n };\n\n const isActive = (year: number) => {\n return !!(selectedDate && year === selectedDate.getFullYear());\n };\n\n const isThisYear = (year: number) => {\n return year === new Date().getFullYear();\n };\n\n const isDisabled = (year: number) => {\n return !!((min && year < min.getFullYear()) || (max && year > max.getFullYear()));\n };\n\n const autofocusYear = (() => {\n const years = Array.from({ length: ROWS * COLS }, (_, index) => startYear + index);\n return getFocusableTime({ isActive, isNow: isThisYear, isDisabled, timeSpan: years });\n })();\n\n return (\n <table className=\"table table-condensed table-bordered tw-date-lookup-calendar m-b-0\">\n <thead className=\"sr-only\">\n <tr>\n <th colSpan={COLS}>{placeholder}</th>\n </tr>\n </thead>\n <tbody>\n {Array.from({ length: ROWS }, (_, rowIndex) => (\n <tr key={rowIndex}>\n {Array.from({ length: COLS }, (_, colIndex) => (\n <td key={colIndex}>{getLink(startYear + rowIndex * COLS + colIndex)}</td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n\nexport default YearCalendarTable;\n","import { PureComponent } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport messages from '../DateLookup.messages';\nimport DateHeader from '../dateHeader';\n\nimport YearCalendarTable from './table';\n\ninterface YearCalendarProps extends WrappedComponentProps {\n selectedDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewYear: number;\n placeholder: string;\n onSelect: () => void;\n onViewDateUpdate: (date: { year: number }) => void;\n}\n\nclass YearCalendar extends PureComponent<YearCalendarProps> {\n onYearSelect = (year: number) => {\n this.props.onViewDateUpdate({ year });\n this.props.onSelect();\n };\n\n selectPreviousYears = () => {\n this.props.onViewDateUpdate({ year: this.props.viewYear - 20 });\n };\n\n selectNextYears = () => {\n this.props.onViewDateUpdate({ year: this.props.viewYear + 20 });\n };\n\n render() {\n const {\n selectedDate,\n min,\n max,\n viewYear,\n placeholder,\n intl: { formatMessage },\n } = this.props;\n return (\n <>\n <DateHeader\n dateMode={formatMessage(messages.twentyYears)}\n onPreviousClick={this.selectPreviousYears}\n onNextClick={this.selectNextYears}\n />\n <YearCalendarTable\n selectedDate={selectedDate}\n min={min}\n max={max}\n viewYear={viewYear}\n placeholder={placeholder}\n onSelect={this.onYearSelect}\n />\n </>\n );\n }\n}\n\nexport default injectIntl(YearCalendar);\n","import classNames from 'classnames';\nimport { createRef, PureComponent, KeyboardEvent } from 'react';\n\nimport {\n Size,\n MonthFormat,\n Position,\n Breakpoint,\n SizeSmall,\n SizeMedium,\n SizeLarge,\n} from '../common';\nimport { isWithinRange, moveToWithinRange } from '../common/dateUtils';\nimport ResponsivePanel from '../common/responsivePanel';\n\nimport DateTrigger from './dateTrigger';\nimport DayCalendar from './dayCalendar';\nimport { getStartOfDay } from './getStartOfDay';\nimport MonthCalendar from './monthCalendar';\nimport YearCalendar from './yearCalendar';\n\nexport interface DateLookupProps {\n id?: string;\n value: Date | null;\n min?: Date | null;\n max?: Date | null;\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n label?: string;\n 'aria-labelledby'?: string;\n monthFormat?: `${MonthFormat}`;\n disabled?: boolean;\n clearable?: boolean;\n onChange: (date: Date | null) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n}\n\ninterface DateLookupState {\n selectedDate: Date | null;\n originalDate: Date | null;\n min: Date | null;\n max: Date | null;\n viewMonth: number;\n viewYear: number;\n open: boolean;\n mode: 'day' | 'month' | 'year';\n isMobile: boolean;\n}\n\nclass DateLookup extends PureComponent<DateLookupProps, DateLookupState> {\n declare props: DateLookupProps &\n Required<Pick<DateLookupProps, keyof typeof DateLookup.defaultProps>>;\n\n static defaultProps = {\n value: null,\n min: null,\n max: null,\n size: Size.MEDIUM,\n placeholder: '',\n label: '',\n monthFormat: MonthFormat.LONG,\n disabled: false,\n clearable: false,\n } satisfies Partial<DateLookupProps>;\n\n element = createRef<HTMLDivElement>();\n dropdown = createRef<HTMLDivElement>();\n\n constructor(props: DateLookup['props']) {\n super(props);\n this.state = {\n selectedDate: getStartOfDay(props.value),\n originalDate: null,\n min: getStartOfDay(props.min),\n max: getStartOfDay(props.max),\n viewMonth: (props.value || new Date()).getMonth(),\n viewYear: (props.value || new Date()).getFullYear(),\n open: false,\n mode: 'day',\n isMobile: false,\n };\n }\n\n static getDerivedStateFromProps(props: DateLookup['props'], state: DateLookupState) {\n const propsSelected = getStartOfDay(props.value);\n const propsMin = getStartOfDay(props.min);\n const propsMax = getStartOfDay(props.max);\n const hasSelectedChanged = state.selectedDate?.getTime() !== propsSelected?.getTime();\n const hasMinChanged = state.min?.getTime() !== propsMin?.getTime();\n const hasMaxChanged = state.max?.getTime() !== propsMax?.getTime();\n if (hasSelectedChanged || hasMinChanged || hasMaxChanged) {\n const selectedDate = hasSelectedChanged ? propsSelected : state.selectedDate;\n const min = hasMinChanged ? propsMin : state.min;\n const max = hasMaxChanged ? propsMax : state.max;\n if (selectedDate && !isWithinRange(selectedDate, min, max)) {\n props.onChange(moveToWithinRange(selectedDate, min, max));\n return null;\n }\n const viewDateThatIsWithinRange: Date =\n selectedDate || ((min || max) && moveToWithinRange(new Date(), min, max)) || new Date();\n const viewMonth = viewDateThatIsWithinRange.getMonth();\n const viewYear = viewDateThatIsWithinRange.getFullYear();\n return { selectedDate, min, max, viewMonth, viewYear };\n }\n return null;\n }\n\n componentDidUpdate(previousProps: DateLookupProps) {\n if (this.props.value?.getTime() !== previousProps.value?.getTime() && this.state.open) {\n this.focusOn('.active');\n }\n const mediaQuery = window.matchMedia(`(max-width: ${Breakpoint.SMALL}px)`);\n this.setState({ isMobile: mediaQuery.matches });\n }\n\n componentWillUnmount() {\n // Prevents memory leak by cleaning state.\n this.setState = () => {};\n }\n\n open = () => {\n const { onFocus } = this.props;\n\n this.setState({ open: true, mode: 'day' });\n if (onFocus) {\n onFocus();\n }\n };\n\n discard = () => {\n const { originalDate } = this.state;\n if (originalDate !== null) {\n this.props.onChange(originalDate);\n }\n this.close();\n };\n\n close = () => {\n const { onBlur } = this.props;\n this.setState({ open: false, originalDate: null });\n if (onBlur) {\n onBlur();\n }\n };\n\n handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const { open, originalDate } = this.state;\n switch (event.key) {\n case 'ArrowLeft':\n if (open) {\n this.adjustDate(-1, -1, -1);\n } else {\n this.open();\n }\n event.preventDefault();\n break;\n case 'ArrowUp':\n if (open) {\n this.adjustDate(-7, -4, -4);\n } else {\n this.open();\n }\n event.preventDefault();\n break;\n case 'ArrowRight':\n if (open) {\n this.adjustDate(1, 1, 1);\n } else {\n this.open();\n }\n event.preventDefault();\n break;\n case 'ArrowDown':\n if (open) {\n this.adjustDate(7, 4, 4);\n } else {\n this.open();\n }\n event.preventDefault();\n break;\n case 'Escape':\n if (originalDate !== null) {\n this.props.onChange(originalDate);\n }\n this.close();\n event.preventDefault();\n break;\n default:\n break;\n }\n };\n\n adjustDate = (daysToAdd: number, monthsToAdd: number, yearsToAdd: number) => {\n const { selectedDate, min, max, mode, originalDate } = this.state;\n if (originalDate === null) {\n this.setState({ originalDate: selectedDate });\n }\n let date: Date | null;\n if (selectedDate) {\n date = new Date(\n mode === 'year' ? selectedDate.getFullYear() + yearsToAdd : selectedDate.getFullYear(),\n mode === 'month' ? selectedDate.getMonth() + monthsToAdd : selectedDate.getMonth(),\n mode === 'day' ? selectedDate.getDate() + daysToAdd : selectedDate.getDate(),\n );\n } else {\n date = getStartOfDay(new Date());\n }\n if (date) {\n date = moveToWithinRange(date, min, max);\n }\n if (date?.getTime() !== selectedDate?.getTime()) {\n this.props.onChange(date);\n }\n };\n\n focusOn = (preferredElement: string, fallbackElement?: string) => {\n const element = this.element.current?.querySelector(preferredElement) as HTMLElement | null;\n if (element) {\n element.focus();\n } else if (fallbackElement) {\n this.focusOn(fallbackElement);\n }\n };\n\n switchMode = (mode: 'day' | 'month' | 'year') => {\n this.setState({ mode }, () => {\n this.focusOn('.active', '.today');\n });\n };\n\n switchToDays = () => this.switchMode('day');\n\n switchToMonths = () => this.switchMode('month');\n\n switchToYears = () => this.switchMode('year');\n\n handleSelectedDateUpdate = (selectedDate: Date) => {\n this.setState({ selectedDate }, () => {\n this.props.onChange(selectedDate);\n this.close();\n this.focusOn('.btn');\n });\n };\n\n handleViewDateUpdate = ({ month = this.state.viewMonth, year = this.state.viewYear }) => {\n this.setState({ viewMonth: month, viewYear: year });\n };\n\n getCalendar = () => {\n const { selectedDate, min, max, viewMonth, viewYear, mode, isMobile } = this.state;\n const { placeholder, monthFormat } = this.props;\n return (\n <div className={classNames({ 'p-a-1': !isMobile })}>\n {mode === 'day' && (\n <DayCalendar\n selectedDate={selectedDate}\n min={min}\n max={max}\n viewMonth={viewMonth}\n viewYear={viewYear}\n monthFormat={monthFormat}\n onSelect={this.handleSelectedDateUpdate}\n onLabelClick={this.switchToYears}\n onViewDateUpdate={this.handleViewDateUpdate}\n />\n )}\n {mode === 'month' && (\n <MonthCalendar\n selectedDate={selectedDate}\n min={min}\n max={max}\n viewYear={viewYear}\n placeholder={placeholder}\n onSelect={this.switchToDays}\n onLabelClick={this.switchToYears}\n onViewDateUpdate={this.handleViewDateUpdate}\n />\n )}\n {mode === 'year' && (\n <YearCalendar\n selectedDate={selectedDate}\n min={min}\n max={max}\n viewYear={viewYear}\n placeholder={placeholder}\n onSelect={this.switchToMonths}\n onViewDateUpdate={this.handleViewDateUpdate}\n />\n )}\n </div>\n );\n };\n\n handleClear = () => {\n this.props.onChange(null);\n this.focusOn('.np-date-trigger');\n };\n\n render() {\n const { selectedDate, open } = this.state;\n\n const {\n size,\n placeholder,\n label,\n 'aria-labelledby': ariaLabelledBy,\n monthFormat,\n disabled,\n clearable,\n value,\n } = this.props;\n return (\n <div\n ref={this.element}\n id={this.props.id}\n aria-labelledby={ariaLabelledBy}\n className=\"input-group\"\n onKeyDown={this.handleKeyDown}\n >\n <DateTrigger\n selectedDate={selectedDate}\n size={size}\n placeholder={placeholder}\n label={label}\n monthFormat={monthFormat}\n disabled={disabled || false}\n onClick={this.open}\n onClear={!disabled && clearable && value ? this.handleClear : undefined}\n />\n <ResponsivePanel\n anchorRef={this.element}\n open={open}\n className=\"tw-date-lookup-menu\"\n position={Position.BOTTOM}\n onClose={this.discard}\n >\n {this.getCalendar()}\n </ResponsivePanel>\n </div>\n );\n }\n}\n\nexport default DateLookup;\n","import classNames from 'classnames';\nimport { forwardRef } from 'react';\n\nimport Chevron from '../chevron';\nimport { Position } from '../common';\nimport Option from '../common/Option';\nimport { OptionProps, ReferenceType } from '../common/Option/Option';\n\ntype NavigationOptionProps = OptionProps;\n\nconst NavigationOption = forwardRef<ReferenceType, NavigationOptionProps>(\n ({ as: component = 'button', disabled = false, onClick, className, ...rest }, reference) => {\n if ('href' in rest && rest.href) {\n component = 'a';\n }\n\n return (\n <Option\n {...rest}\n ref={reference}\n as={component}\n className={classNames('np-navigation-option', className)}\n button={<Chevron orientation={Position.RIGHT} disabled={disabled} className=\"d-block\" />}\n disabled={disabled}\n onClick={(event) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n }}\n />\n );\n },\n);\n\nexport default NavigationOption;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport Title from '../title';\n\nexport const Tile = ({\n className,\n description,\n disabled,\n href,\n target,\n media,\n onClick,\n size,\n title,\n}) => {\n const isSmall = size === Size.SMALL;\n const Element = href ? 'a' : 'button';\n\n return (\n <Element\n className={classNames(\n 'decision',\n 'flex-column',\n 'np-tile',\n 'text-no-decoration',\n 'text-xs-center',\n className,\n {\n 'p-a-3': !isSmall,\n 'p-a-2 np-tile--small': isSmall,\n },\n disabled && 'disabled',\n )}\n href={href}\n target={target}\n onClick={disabled ? null : onClick}\n onKeyDown={\n disabled\n ? null\n : ({ key }) => {\n if (key === 'Enter' || key === ' ') {\n onClick();\n }\n }\n }\n >\n <div className=\"np-tile__media d-flex justify-content-center\">{media}</div>\n <Title type={Typography.TITLE_SUBSECTION} className={classNames(isSmall ? 'm-t-1' : 'm-t-2')}>\n {title}\n </Title>\n {description ? (\n <Body as=\"span\" type={Typography.BODY_DEFAULT} className=\"m-t-1\">\n {description}\n </Body>\n ) : null}\n </Element>\n );\n};\n\nTile.propTypes = {\n /** Classes to apply to the Tile container */\n className: PropTypes.string,\n description: PropTypes.node,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n /** Accepts only Avatar and images */\n media: PropTypes.node.isRequired,\n /** Function called onClick or onKeyDown */\n onClick: PropTypes.func,\n /** The size applied to Tile */\n size: PropTypes.oneOf(['sm', 'md']),\n title: PropTypes.node.isRequired,\n};\n\nTile.defaultProps = {\n className: '',\n description: null,\n disabled: false,\n size: Size.MEDIUM,\n target: undefined,\n};\n\nexport default Tile;\n","import classNames from 'classnames';\n\nimport { Size, Breakpoint, SizeSmall, SizeMedium } from '../common';\nimport { useScreenSize } from '../common/hooks/useScreenSize';\nimport NavigationOption from '../navigationOption';\nimport Tile from '../tile';\n\ninterface DecisionOption {\n description?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n media: {\n block: React.ReactNode;\n list: React.ReactNode;\n };\n onClick?: React.MouseEventHandler<HTMLElement>;\n title: React.ReactNode;\n}\n\nexport enum DecisionPresentation {\n LIST = 'LIST',\n LIST_BLOCK = 'LIST_BLOCK',\n LIST_BLOCK_GRID = 'LIST_BLOCK_GRID',\n}\n\nexport enum DecisionType {\n NAVIGATION = 'NAVIGATION',\n}\n\nexport interface DecisionProps {\n /** A list of elements to be rendered */\n options: readonly DecisionOption[];\n /** Handles the display mode of the component */\n presentation?: `${DecisionPresentation}`;\n /** Size currently affects only Tile dimension */\n size?: SizeSmall | SizeMedium;\n /** Decide which kind of element type needs to be rendered ex: Navigation Options or in the future Radio or Checkbox Options */\n type?: `${DecisionType}`;\n\n /** Display media in a circle in list presentation */\n showMediaCircleInList?: boolean;\n\n /** Sets navigation options to be aligned with the parent container */\n isContainerAligned?: boolean;\n}\n\nconst Decision = ({\n options,\n presentation = DecisionPresentation.LIST,\n size = Size.MEDIUM,\n type = DecisionType.NAVIGATION,\n showMediaCircleInList = true,\n isContainerAligned = false,\n}: DecisionProps) => {\n const screenXs = useScreenSize(Breakpoint.EXTRA_SMALL);\n const screenSm = useScreenSize(Breakpoint.SMALL);\n\n if (type === DecisionType.NAVIGATION) {\n const renderedOptions = options.map(\n ({ title, description, disabled, href, target, media: { list }, onClick }, key) => (\n <NavigationOption\n // eslint-disable-next-line react/no-array-index-key\n key={`nav-${key}`}\n complex={false}\n content={description}\n disabled={disabled}\n href={href}\n target={target}\n media={list}\n showMediaAtAllSizes\n showMediaCircle={showMediaCircleInList}\n isContainerAligned={isContainerAligned}\n title={title}\n onClick={onClick}\n />\n ),\n );\n\n if (\n presentation === DecisionPresentation.LIST_BLOCK ||\n presentation === DecisionPresentation.LIST_BLOCK_GRID\n ) {\n const isSmall = size === Size.SMALL;\n const breakpoint = isSmall ? screenXs : screenSm;\n\n const isGrid = presentation === DecisionPresentation.LIST_BLOCK_GRID;\n\n return (\n <div\n className={classNames(\n 'np-decision d-flex',\n {\n 'np-decision--small': isSmall,\n 'np-decision--grid': isGrid,\n },\n breakpoint ? isGrid && 'flex-wrap' : 'flex-column',\n )}\n >\n {breakpoint\n ? options.map(\n (\n { description, disabled, href, target, media: { block }, onClick, title },\n key,\n ) => (\n <Tile\n // eslint-disable-next-line react/no-array-index-key\n key={`tile-${key}`}\n className={classNames(`np-decision__tile${isSmall ? '--small' : ''}`, {\n 'np-decision__tile--fixed-width': isGrid,\n })}\n description={description}\n disabled={disabled}\n href={href}\n target={target}\n media={block}\n size={isSmall ? Size.SMALL : Size.MEDIUM}\n title={title}\n onClick={onClick}\n />\n ),\n )\n : renderedOptions}\n </div>\n );\n }\n // LIST\n return <>{renderedOptions}</>;\n }\n return null;\n};\n\nexport default Decision;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport ActionButton from '../actionButton';\nimport { Layout } from '../common';\n\nconst isLayoutHorizontal = (layout) =>\n [\n Layout.HORIZONTAL_LEFT_ALIGNED,\n Layout.HORIZONTAL_RIGHT_ALIGNED,\n Layout.HORIZONTAL_JUSTIFIED,\n ].includes(layout);\n\nconst getAlignmentClasses = (layout, action) => {\n let classes = ['d-flex'];\n\n if (action) {\n if (isLayoutHorizontal(layout)) {\n classes.push('align-items-center');\n } else {\n classes.push('align-items-start');\n }\n }\n\n if (layout === Layout.HORIZONTAL_RIGHT_ALIGNED) {\n classes.push('text-sm-right tw-definition-list--right-aligned-desktop');\n } else {\n classes.push('justify-content-between');\n }\n\n if (layout === Layout.HORIZONTAL_JUSTIFIED) {\n classes.push('text-sm-justify');\n }\n\n return classes;\n};\n\nconst DefinitionList = ({ definitions, layout, muted }) => (\n <dl\n className={classNames('tw-definition-list d-flex ', {\n 'text-muted': muted,\n 'flex-column': layout === Layout.VERTICAL_ONE_COLUMN,\n 'tw-definition-list--columns flex-column flex-row--sm': layout === Layout.VERTICAL_TWO_COLUMN,\n 'tw-definition-list--horizontal flex-column': isLayoutHorizontal(layout),\n })}\n >\n {definitions\n .filter((definition) => definition)\n .map(({ action, title, value, key }) => (\n <div key={key} className=\"tw-definition-list__item\">\n <dt>{title}</dt>\n <dd className={classNames(...getAlignmentClasses(layout, action))}>\n <div>{value}</div>\n {action ? (\n <div\n className={classNames(\n isLayoutHorizontal(layout) ? 'p-l-2' : 'p-x-2',\n 'tw-definition-list__action',\n )}\n >\n <ActionButton className=\"tw-definition-list__button\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n </div>\n ) : null}\n </dd>\n </div>\n ))}\n </dl>\n);\n\nDefinitionList.propTypes = {\n definitions: PropTypes.arrayOf(\n PropTypes.shape({\n action: PropTypes.shape({\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func,\n }),\n title: PropTypes.node.isRequired,\n value: PropTypes.node.isRequired,\n key: PropTypes.string.isRequired,\n }),\n ),\n layout: PropTypes.oneOf([\n 'VERTICAL_TWO_COLUMN',\n 'VERTICAL_ONE_COLUMN',\n 'HORIZONTAL_JUSTIFIED',\n 'HORIZONTAL_LEFT_ALIGNED',\n 'HORIZONTAL_RIGHT_ALIGNED',\n ]),\n muted: PropTypes.bool,\n};\n\nDefinitionList.defaultProps = {\n definitions: [],\n layout: Layout.VERTICAL_TWO_COLUMN,\n muted: false,\n};\n\nexport default DefinitionList;\n","import classNames from 'classnames';\nimport { PropsWithChildren } from 'react';\n\nimport { DisplayTypes, Typography } from '../common';\n\ntype Props = PropsWithChildren<{\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n id?: string;\n type?: DisplayTypes;\n className?: string;\n}>;\n\nfunction Display({\n as: Heading = 'h1',\n type = Typography.DISPLAY_LARGE,\n children,\n className,\n id,\n}: Props) {\n return (\n <Heading id={id} className={classNames(`np-text-${type}`, 'text-primary', className)}>\n {children}\n </Heading>\n );\n}\n\nexport default Display;\n","import React, { useRef, useState, ReactElement } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nconst DropFade = ({ children, show }: { children: ReactElement; show: boolean }) => {\n const reference = useRef<HTMLDivElement>(null);\n const [height, setHeight] = useState<number | undefined>(0);\n\n const clonedChild = React.cloneElement(children);\n\n return (\n <CSSTransition\n nodeRef={reference}\n in={show}\n timeout={300}\n classNames=\"np-dropfade\"\n onEntering={() => {\n // Set height so we can animate to the correct height\n setHeight(reference.current?.scrollHeight || 0);\n }}\n // Un-set height, as we don't want to presume it should be that height forever\n onEntered={() => setHeight(undefined)}\n onExit={() => {\n setHeight(reference.current?.scrollHeight || 0);\n }}\n onExiting={() => {\n setHeight(0);\n }}\n >\n {/* eslint-disable-next-line react/forbid-dom-props */}\n <div ref={reference} style={{ height }} className=\"np-dropfade\">\n {clonedChild}\n </div>\n </CSSTransition>\n );\n};\n\nexport default DropFade;\n","const ESCAPED_OPENING_CHEVRON = '&lt;';\nconst ESCAPED_CLOSING_CHEVRON = '&gt;';\n\ntype Tags = {\n transformed: {\n opening: string;\n closing: string;\n };\n escapedRegex: {\n opening: RegExp;\n closing: RegExp;\n };\n};\n\nclass EmphasisHtmlTransformer {\n tags: Array<Tags>;\n\n constructor(whitelistedTags?: Array<string>) {\n this.tags = (whitelistedTags || []).map((tag) => {\n return {\n transformed: {\n opening: `<em class=\"emphasis emphasis--${tag}\">`,\n closing: '</em>',\n },\n escapedRegex: {\n opening: new RegExp(`${ESCAPED_OPENING_CHEVRON}${tag}${ESCAPED_CLOSING_CHEVRON}`, 'g'),\n closing: new RegExp(`${ESCAPED_OPENING_CHEVRON}/${tag}${ESCAPED_CLOSING_CHEVRON}`, 'g'),\n },\n };\n });\n }\n\n // Algorithm:\n // 1) Escape all dangerous characters (<,>,&)\n // 2) Replace all escaped, whitelisted tags with styled spans.\n // 3) Transform new line characters to `<br />`s\n //\n // Note: for simplicity this doesn't support tags with non-standard whitespaces, e.g. <positive></ positive>\n transform(unsafe: string): string | null {\n if (!unsafe) {\n return null;\n }\n\n const safe = unsafe.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n\n return this.tags\n .reduce((accumulator, tag) => {\n return accumulator\n .replace(tag.escapedRegex.opening, tag.transformed.opening)\n .replace(tag.escapedRegex.closing, tag.transformed.closing);\n }, safe)\n .replace(/\\\\n|\\n/g, '<br />');\n }\n}\n\nexport default EmphasisHtmlTransformer;\n","import { ReactElement } from 'react';\n\nimport EmphasisHtmlTransformer from './EmphasisHtmlTransformer';\n\nconst SUPPORTED_TAGS = ['important', 'positive', 'negative', 'warning'];\nconst emphasisHtmlTransformer = new EmphasisHtmlTransformer(SUPPORTED_TAGS);\n\nexport type EmphasisProps = {\n text?: string;\n};\n\nconst Emphasis = ({ text = undefined }: EmphasisProps): ReactElement | null => {\n if (!text) {\n return null;\n }\n\n const transformedText = emphasisHtmlTransformer.transform(text);\n // eslint-disable-next-line react/no-danger\n return transformedText ? <span dangerouslySetInnerHTML={{ __html: transformedText }} /> : null;\n};\n\nexport default Emphasis;\n","import classNames from 'classnames';\nimport * as React from 'react';\n\nimport { Layout } from '../propsValues/layouts';\n\nexport interface FlowHeaderProps {\n bottomContent?: React.ReactNode;\n className?: string;\n layout?: Layout.VERTICAL | Layout.HORIZONTAL;\n leftContent?: React.ReactNode;\n rightContent?: React.ReactNode;\n}\n\nconst FlowHeader = React.forwardRef(\n (\n {\n bottomContent,\n className,\n layout = Layout.HORIZONTAL,\n leftContent,\n rightContent,\n }: FlowHeaderProps,\n reference: React.ForwardedRef<HTMLDivElement>,\n ) => {\n const isVertical = layout === Layout.VERTICAL;\n\n return (\n <div\n ref={reference}\n className={classNames(\n 'np-flow-header',\n 'd-flex',\n 'flex-wrap',\n 'align-items-center',\n 'justify-content-between',\n 'flex__item--12',\n className,\n )}\n >\n {leftContent}\n {rightContent}\n <div\n className={classNames('align-items-center', 'd-flex', 'justify-content-center', {\n 'flex__item--12': isVertical,\n 'order-1 flex-grow-1': !isVertical,\n })}\n >\n {bottomContent}\n </div>\n </div>\n );\n },\n);\n\nexport default FlowHeader;\n","// TODO: consider to move this enum into component file once we migrate it on TypeScript or replace with some common enum\nexport enum LogoType {\n WISE = 'WISE',\n WISE_BUSINESS = 'WISE_BUSINESS',\n WISE_PLATFORM = 'WISE_PLATFORM',\n}\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { LogoType } from './logoTypes';\nimport { ReactComponent as LogoFlagInverse } from './svg/flag-inverse.svg';\nimport { ReactComponent as LogoFlagPlatformInverse } from './svg/flag-platform-white.svg';\nimport { ReactComponent as LogoFlagPlatform } from './svg/flag-platform.svg';\nimport { ReactComponent as LogoFlag } from './svg/flag.svg';\nimport { ReactComponent as LogoWiseInverse } from './svg/logo-inverse.svg';\nimport { ReactComponent as LogoWisePlatformInverse } from './svg/logo-platform-white.svg';\nimport { ReactComponent as LogoWisePlatform } from './svg/logo-platform.svg';\nimport { ReactComponent as LogoWise } from './svg/logo.svg';\n\nconst svgPaths = {\n WISE: LogoWise,\n WISE_BUSINESS: LogoWise,\n WISE_INVERSE: LogoWiseInverse,\n WISE_BUSINESS_INVERSE: LogoWiseInverse,\n WISE_PLATFORM: LogoWisePlatform,\n WISE_PLATFORM_INVERSE: LogoWisePlatformInverse,\n WISE_FLAG: LogoFlag,\n WISE_FLAG_INVERSE: LogoFlagInverse,\n WISE_FLAG_PLATFORM: LogoFlagPlatform,\n WISE_FLAG_PLATFORM_INVERSE: LogoFlagPlatformInverse,\n};\n\nconst Logo = ({ className, inverse, type }) => {\n const LogoSm =\n svgPaths[\n `WISE_FLAG${type === LogoType.WISE_PLATFORM ? '_PLATFORM' : ''}${inverse ? '_INVERSE' : ''}`\n ];\n const LogoMd = svgPaths[`${type}${inverse ? '_INVERSE' : ''}`];\n\n return (\n <span\n aria-label={\n type === LogoType.WISE\n ? 'Wise'\n : 'Wise Business' | (type === LogoType.WISE_PLATFORM)\n ? 'Wise Platform'\n : 'Wise Business'\n }\n role=\"img\"\n className={classNames(className, 'np-logo')}\n >\n <LogoSm className=\"np-logo-svg np-logo-svg--size-sm\" />\n <LogoMd className=\"np-logo-svg np-logo-svg--size-md\" />\n </span>\n );\n};\n\nLogo.propTypes = {\n /** Extra classes applied to Logo */\n className: PropTypes.string,\n /** If true, will use dark colours for dark on light theme */\n inverse: PropTypes.bool,\n /** What type of logo to display */\n type: PropTypes.oneOf(['WISE', 'WISE_BUSINESS', 'WISE_PLATFORM']),\n};\n\nLogo.defaultProps = {\n className: undefined,\n inverse: false,\n type: LogoType.WISE,\n};\n\nexport default Logo;\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { useId } from '@radix-ui/react-id';\nimport classNames from 'classnames';\nimport {\n cloneElement,\n useRef,\n useState,\n useEffect,\n ReactNode,\n ReactElement,\n PropsWithChildren,\n} from 'react';\nimport { usePopper } from 'react-popper';\n\nimport { CommonProps, Position } from '../common';\nimport {\n PositionBottom,\n PositionLeft,\n PositionRight,\n PositionTop,\n} from '../common/propsValues/position';\n\nexport type TooltipProps = PropsWithChildren<{\n position?: PositionTop | PositionRight | PositionBottom | PositionLeft;\n label: ReactNode;\n id?: string;\n}> &\n CommonProps;\n\nconst Tooltip = ({\n position = Position.TOP,\n children = undefined,\n label,\n id,\n className,\n}: TooltipProps) => {\n const [open, setOpen] = useState(false);\n const anchorReference = useRef(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n\n const fallbackId = useId();\n const tooltipId = id ?? fallbackId;\n const modifiers = [];\n\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrowElement,\n options: {\n padding: 8, // 8px from the edges of the popper\n },\n },\n });\n // This lets you displace a popper element from its reference element.\n modifiers.push({ name: 'offset', options: { offset: [0, 16] } });\n modifiers.push({\n name: 'flip',\n options: {\n fallbackPlacements: Position.TOP,\n },\n });\n\n const { styles, attributes, forceUpdate } = usePopper(anchorReference.current, popperElement, {\n placement: position,\n modifiers,\n });\n\n // If the trigger is not visible when the position is calculated, it will be incorrect. Because this can happen repeatedly (on resize for example),\n // it is most simple just to always position before opening\n useEffect(() => {\n if (open && forceUpdate) {\n forceUpdate();\n }\n }, [open]);\n\n return (\n <>\n <span\n ref={anchorReference}\n className=\"tw-tooltip-container\"\n onMouseOver={() => setOpen(true)}\n onFocus={() => setOpen(true)}\n onMouseOut={() => setOpen(false)}\n onBlur={() => setOpen(false)}\n >\n {children\n ? cloneElement(children as ReactElement, {\n 'aria-describedby': `${tooltipId}-tooltip`,\n })\n : null}\n <div\n // @ts-expect-error\n ref={setPopperElement}\n className={classNames(\n 'np-tooltip',\n 'np-panel',\n open ? `np-panel--open np-tooltip--open` : null,\n className,\n )}\n // eslint-disable-next-line react/forbid-dom-props\n style={{ ...styles.popper }}\n {...attributes.popper}\n aria-hidden={!open}\n role=\"tooltip\"\n id={`${tooltipId}-tooltip`}\n >\n <div className=\"np-panel__content tooltip-inner\">\n {label}\n <div\n // @ts-expect-error\n ref={setArrowElement}\n className={classNames('np-panel__arrow')}\n // eslint-disable-next-line react/forbid-dom-props\n style={styles.arrow}\n />\n </div>\n </div>\n </span>\n </>\n );\n};\n\nexport default Tooltip;\n","function supportsTouchEvents() {\n const onTouchStartIsDefined = typeof window !== 'undefined' && window.ontouchstart !== undefined;\n const maxTouchPointsIsDefined = typeof navigator !== 'undefined' && navigator.maxTouchPoints;\n const documentTouchIsDefined =\n typeof window !== 'undefined' &&\n window.DocumentTouch &&\n document instanceof window.DocumentTouch;\n\n return !!(onTouchStartIsDefined || maxTouchPointsIsDefined || documentTouchIsDefined);\n}\n\nfunction userAgentSuggestsTouchDevice() {\n const sampleTouchDevices = [\n 'android',\n 'iemobile',\n 'iphone',\n 'ipad',\n 'ipod',\n 'blackberry',\n 'bada',\n ];\n const matchString = sampleTouchDevices.map((device) => `(${device})`).join('|');\n const regex = new RegExp(matchString, 'gi');\n return typeof navigator !== 'undefined' && !!navigator.userAgent.match(regex);\n}\n// Important: this is not fool-proof! It gives false positives and negatives, and will be outdated.\n// Only use this for small vanity changes where it still works either way.\nexport function isTouchDevice() {\n return supportsTouchEvents() || userAgentSuggestsTouchDevice();\n}\n","import classNames from 'classnames';\nimport * as React from 'react';\n\nimport { Position } from '../common';\nimport { useDirection } from '../common/hooks';\nimport Tooltip from '../tooltip';\n\nimport { isTouchDevice } from './deviceDetection';\n\nfunction clamp(from: number, to: number, value: number) {\n return Math.max(Math.min(to, value), from);\n}\n\nexport interface Step {\n label: React.ReactNode;\n onClick?: () => void;\n hoverLabel?: React.ReactNode;\n}\n\nexport interface StepperProps {\n steps: readonly Step[];\n activeStep?: number;\n className?: string;\n}\n\n/* eslint-disable react/no-array-index-key */\nconst Stepper = ({ steps, activeStep = 0, className }: StepperProps) => {\n const { isRTL } = useDirection();\n\n if (steps.length === 0) {\n return null;\n }\n\n const activeStepIndex = clamp(0, steps.length - 1, activeStep);\n const stepPercentage = 1 / (steps.length - 1);\n const percentageCompleted = activeStepIndex / (steps.length - 1);\n\n const renderStep = (step: Step, index: number) => {\n const active = index === activeStepIndex;\n const clickable = step.onClick && !active;\n\n const labelButton = clickable ? (\n <button\n type=\"button\"\n className=\"btn-unstyled tw-stepper__step-label\"\n onClick={() => clickable && step.onClick?.()}\n >\n <small>{step.label}</small>\n </button>\n ) : (\n <span className=\"tw-stepper__step-label\">{step.label}</span>\n );\n return (\n <li\n key={index}\n className={classNames(\n 'hidden-xs',\n 'tw-stepper__step',\n active ? 'np-text-body-default-bold tw-stepper__step--active' : 'np-text-body-default',\n clickable && 'tw-stepper__step--clickable',\n step.hoverLabel && 'tw-stepper__step--has-tooltip',\n )}\n aria-current={active ? 'step' : false}\n style={\n isRTL\n ? { right: `${index * stepPercentage * 100}%` }\n : { left: `${index * stepPercentage * 100}%` }\n }\n >\n {step.hoverLabel && !isTouchDevice() ? (\n <Tooltip position={Position.BOTTOM} label={step.hoverLabel}>\n {labelButton}\n </Tooltip>\n ) : (\n labelButton\n )}\n </li>\n );\n };\n\n return (\n <div className={classNames('tw-stepper', className)}>\n <div className=\"progress\">\n <div className=\"progress-bar\" style={{ width: `${percentageCompleted * 100}%` }} />\n </div>\n <ul className=\"tw-stepper-steps p-t-1 m-b-0\">{steps.map(renderStep)}</ul>\n </div>\n );\n};\n/* eslint-enable react/no-array-index-key */\n\nexport default Stepper;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n back: {\n id: 'neptune.FlowNavigation.back',\n defaultMessage: 'back to previous step',\n },\n});\n","import classNames from 'classnames';\nimport React from 'react';\n\nimport Body from '../../body';\nimport { Typography } from '../../common';\n\nexport interface AnimatedLabelProps {\n activeLabel: number;\n className?: string;\n labels: readonly React.ReactNode[];\n}\n\nconst AnimatedLabel = ({ activeLabel, className, labels }: AnimatedLabelProps) => {\n return (\n <Body type={Typography.BODY_LARGE_BOLD} className={classNames('np-animated-label', className)}>\n {labels.map((label, index) => {\n const nextLabel = index - 1;\n return (\n <div\n key={nextLabel}\n className={classNames('text-xs-center', {\n 'np-animated-label--in text-ellipsis': index === activeLabel,\n })}\n >\n {label}\n </div>\n );\n })}\n </Body>\n );\n};\n\nexport default AnimatedLabel;\n","import { ArrowLeft as ArrowLeftIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Avatar, { AvatarType } from '../../avatar';\n\nconst BackButton = ({ className, onClick, 'aria-label': ariaLabel }) => (\n <Avatar type={AvatarType.ICON} size={40}>\n <button\n type=\"button\"\n aria-label={ariaLabel}\n className={classNames('np-back-button', 'btn-unstyled', className)}\n onClick={onClick}\n >\n <ArrowLeftIcon size={24} />\n </button>\n </Avatar>\n);\n\nBackButton.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n className: PropTypes.string,\n label: PropTypes.element,\n onClick: PropTypes.func,\n};\n\nBackButton.defaultProps = {\n className: undefined,\n label: undefined,\n};\n\nexport default BackButton;\n","import classNames from 'classnames';\nimport { useIntl } from 'react-intl';\n\nimport { Breakpoint, Layout } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport FlowHeader from '../common/flowHeader/FlowHeader';\nimport Logo from '../logo';\nimport Stepper, { type Step } from '../stepper/Stepper';\n\nimport { useScreenSize } from '../common/hooks/useScreenSize';\nimport messages from './FlowNavigation.messages';\nimport AnimatedLabel from './animatedLabel';\nimport BackButton from './backButton';\n\nexport interface FlowNavigationProps {\n activeStep?: number;\n avatar?: React.ReactNode;\n logo?: React.ReactNode;\n done?: boolean;\n /** Called when the close button is clicked. If not provided the close button won't show */\n onClose?: () => void;\n /** Called when the back button is clicked. If not provided the back button won't show. The back button only shows on small screens */\n onGoBack?: () => void;\n /** Steps to be displayed in stepper. If you don't need the stepper, please use OverlayHeader instead */\n steps: readonly Step[];\n}\n\nconst FlowNavigation = ({\n activeStep = 0,\n avatar,\n logo = <Logo />,\n done = false,\n onClose,\n onGoBack,\n steps,\n}: FlowNavigationProps) => {\n const intl = useIntl();\n\n const closeButton = onClose != null && <CloseButton size=\"lg\" onClick={onClose} />;\n\n const screenSm = useScreenSize(Breakpoint.SMALL);\n const screenLg = useScreenSize(Breakpoint.LARGE);\n\n const newAvatar = done ? null : avatar;\n\n const displayGoBack = onGoBack != null && activeStep > 0;\n\n return (\n <div\n className={classNames(\n 'np-flow-navigation d-flex align-items-center justify-content-center p-y-3',\n { 'np-flow-navigation--border-bottom': !done },\n )}\n >\n <FlowHeader\n className={classNames(\n 'np-flow-navigation__content p-x-3',\n screenSm == null\n ? 'np-flow-navigation--hidden'\n : {\n 'np-flow-navigation--xs-max': !screenSm,\n // Size switches on parent container which may or may not have the same size as the window.\n 'np-flow-navigation--sm': screenSm,\n 'np-flow-navigation--lg': screenLg,\n },\n )}\n leftContent={\n <>\n {!screenSm && displayGoBack ? (\n <BackButton aria-label={intl.formatMessage(messages.back)} onClick={onGoBack} />\n ) : (\n <div className=\"np-flow-header__left\">{logo}</div>\n )}\n {!screenSm && (\n <AnimatedLabel\n className=\"m-x-1\"\n labels={steps.map((step) => step.label)}\n activeLabel={activeStep}\n />\n )}\n </>\n }\n rightContent={\n <div className=\"np-flow-header__right d-flex align-items-center justify-content-end order-2--lg\">\n {newAvatar}\n {newAvatar && closeButton && <span className=\"m-x-1\" />}\n {closeButton}\n </div>\n }\n bottomContent={\n !done && (\n <Stepper\n activeStep={activeStep}\n steps={steps}\n className={classNames('np-flow-navigation__stepper')}\n />\n )\n }\n layout={!screenLg ? Layout.VERTICAL : Layout.HORIZONTAL}\n />\n </div>\n );\n};\n\nexport default FlowNavigation;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\n\nimport ActionButton, { ActionButtonProps } from '../actionButton/ActionButton';\nimport Button from '../button';\nimport { AriaLabelProperty, CommonProps, Heading, LinkProps, Typography } from '../common';\nimport Link from '../link';\nimport Title from '../title';\n\ntype ActionProps = AriaLabelProperty & {\n text: string;\n};\n\ntype ButtonActionProps = ActionProps & ActionButtonProps;\n\ntype LinkActionProps = ActionProps & LinkProps;\n\nexport type HeaderProps = CommonProps & {\n /**\n * When the `href` property is provided to the `action`, we will render a `Link` instead of a `ActionButton`.\n */\n action?: ButtonActionProps | LinkActionProps;\n /**\n * Override the heading element rendered for the title, useful to specify the semantics of your header.\n *\n * @default \"h5\"\n */\n as?: Heading | 'legend';\n title: string;\n};\n\nconst HeaderAction = ({ action }: { action: ButtonActionProps | LinkActionProps }) => {\n const { isModern } = useTheme();\n const props = {\n 'aria-label': action['aria-label'],\n };\n\n if ('href' in action) {\n return (\n <Link href={action.href} target={action.target} onClick={action.onClick} {...props}>\n {action.text}\n </Link>\n );\n }\n\n return isModern ? (\n <Button\n className=\"np-header__button\"\n priority=\"tertiary\"\n size=\"sm\"\n onClick={action.onClick}\n {...props}\n >\n {action.text}\n </Button>\n ) : (\n <ActionButton onClick={action.onClick} {...props}>\n {action.text}\n </ActionButton>\n );\n};\n\n/**\n *\n * Neptune Web: https://transferwise.github.io/neptune-web/components/content/Header\n *\n */\nexport const Header = ({ action, as = 'h5', title, className }: HeaderProps) => {\n if (!action) {\n return (\n <Title\n as={as}\n type={Typography.TITLE_GROUP}\n className={classNames('np-header', 'np-header__title', className)}\n >\n {title}\n </Title>\n );\n }\n\n if (as === 'legend') {\n // eslint-disable-next-line no-console\n console.warn(\n 'Legends should be the first child in a fieldset, and this is not possible when including an action',\n );\n }\n\n return (\n <div className={classNames('np-header', className)}>\n <Title as={as} type={Typography.TITLE_GROUP} className=\"np-header__title\">\n {title}\n </Title>\n <HeaderAction action={action} />\n </div>\n );\n};\n\nexport default Header;\n","import classnames from 'classnames';\nimport { useRef } from 'react';\n\nimport { useHasIntersected } from '../common/hooks';\n\nexport interface ImageProps {\n alt: string;\n src: string;\n id?: string;\n onLoad?: () => void;\n onError?: () => void;\n className?: string;\n loading?: 'lazy' | 'eager';\n stretch?: boolean;\n role?: string;\n shrink?: boolean;\n}\n\nexport const EmptyTransparentImage =\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n\nconst Image = ({\n id,\n src,\n alt,\n onLoad,\n onError,\n className,\n loading,\n stretch = true,\n role,\n shrink = true,\n}: ImageProps) => {\n const elementReference = useRef<HTMLImageElement>(null);\n const [hasIntersected] = useHasIntersected({ elRef: elementReference, loading });\n let imageSource = src;\n let imageOnLoad = onLoad;\n\n if (loading === 'lazy' && !hasIntersected) {\n imageSource = EmptyTransparentImage;\n imageOnLoad = undefined;\n }\n\n return (\n <img\n ref={elementReference}\n id={id}\n alt={alt}\n src={imageSource}\n className={classnames([\n 'tw-image',\n {\n 'tw-image__stretch': stretch,\n 'tw-image__shrink': shrink,\n },\n className,\n ])}\n role={role}\n onLoad={imageOnLoad}\n onError={onError}\n />\n );\n};\n\nexport default Image;\n","// TODO: consider to move this enum into component file once we migrate it on TypeScript or replace with some common enum\nexport enum InfoPresentation {\n POPOVER = 'POPOVER',\n MODAL = 'MODAL',\n}\n","import { useId } from '@radix-ui/react-id';\nimport classNames from 'classnames';\nimport { ReactNode, 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 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 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 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 return !isMedium ? (\n <Drawer\n open={open}\n headerTitle={title}\n footerContent={footer}\n position={Position.BOTTOM}\n onClose={onClose}\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 >\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={classNames(\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 role=\"dialog\"\n aria-modal\n aria-labelledby={titleId}\n className={classNames('tw-modal-dialog', 'd-flex', {\n [`tw-modal-${size}`]: size,\n })}\n >\n <div\n className={classNames(\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={classNames(\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={classNames('tw-modal-body', {\n 'tw-modal-body--scrollable': scroll === Scroll.CONTENT,\n })}\n >\n {body}\n </div>\n {footer && (\n <div\n className={classNames(\n 'tw-modal-footer',\n 'd-flex',\n 'align-items-center',\n 'flex-wrap',\n {\n 'modal--withoutborder': noDivider,\n },\n )}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n </div>\n </CSSTransition>\n </Dimmer>\n );\n};\n\nexport default Modal;\n","import { useTheme } from '@wise/components-theming';\nimport classnames from 'classnames';\nimport { useRef, useState, cloneElement, useEffect, isValidElement } from 'react';\n\nimport { Position, Typography } from '../common';\nimport ResponsivePanel from '../common/responsivePanel';\nimport Title from '../title';\nimport { logActionRequired } from '../utilities';\n\n/** @deprecated Use `\"top\" | \"bottom\"` instead. */\ntype PopoverPreferredPlacementDeprecated =\n | `${Position.LEFT_TOP}`\n | `${Position.RIGHT_TOP}`\n | `${Position.BOTTOM_RIGHT}`\n | `${Position.BOTTOM_LEFT}`;\n\nexport type PopoverPreferredPlacement =\n | `${Position.TOP}`\n | `${Position.RIGHT}`\n | `${Position.BOTTOM}`\n | `${Position.LEFT}`\n | PopoverPreferredPlacementDeprecated;\n\nexport interface PopoverProps {\n children?: React.ReactNode;\n className?: string;\n content: React.ReactNode;\n preferredPlacement?: PopoverPreferredPlacement;\n onClose?: () => void;\n title?: React.ReactNode;\n}\n\nfunction resolvePlacement(preferredPlacement: PopoverPreferredPlacement) {\n switch (preferredPlacement) {\n case 'left-top':\n case 'right-top':\n return 'top';\n case 'bottom-left':\n case 'bottom-right':\n return 'bottom';\n default:\n return preferredPlacement;\n }\n}\n\nexport default function Popover({\n children,\n className,\n content,\n preferredPlacement = Position.RIGHT,\n title,\n onClose,\n}: PopoverProps) {\n const resolvedPlacement = resolvePlacement(preferredPlacement);\n useEffect(() => {\n if (resolvedPlacement !== preferredPlacement) {\n logActionRequired(\n `Popover has deprecated ${preferredPlacement} value for the 'preferredPlacement' prop. Please use ${resolvedPlacement} instead.`,\n );\n }\n }, [preferredPlacement, resolvedPlacement]);\n\n const anchorReference = useRef(null);\n const [open, setOpen] = useState(false);\n\n const handleOnClose = () => {\n setOpen(false);\n onClose?.();\n };\n\n return (\n <span className={classnames('np-popover', className)}>\n <span ref={anchorReference} className=\"d-inline-block\">\n {isValidElement<{ onClick?: () => void }>(children)\n ? cloneElement(children, {\n onClick: () => {\n children.props.onClick?.();\n setOpen((prevOpen) => !prevOpen);\n },\n })\n : children}\n </span>\n <ResponsivePanel\n open={open}\n anchorRef={anchorReference}\n position={resolvedPlacement}\n arrow\n className=\"np-popover__container\"\n onClose={handleOnClose}\n >\n <div className=\"np-popover__content np-text-default-body\">\n {title && (\n <Title type={Typography.TITLE_BODY} className=\"m-b-1\">\n {title}\n </Title>\n )}\n {content}\n </div>\n </ResponsivePanel>\n </span>\n );\n}\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n ariaLabel: {\n id: 'neptune.Info.ariaLabel',\n defaultMessage: 'More information',\n },\n});\n","import { QuestionMarkCircle as HelpCircleIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, Position, SizeSmall, SizeLarge } from '../common';\nimport Modal from '../modal';\nimport Popover, { PopoverPreferredPlacement } from '../popover';\n\nimport messages from './Info.messages';\nimport { InfoPresentation } from './infoPresentations';\n\nexport interface Props {\n 'aria-label'?: string;\n /**\n * Extra classes applied to Info\n */\n className?: string;\n /**\n * Content displayed inside a Popover a Modal\n */\n content?: React.ReactNode;\n onClick?: () => void;\n /**\n * Decides whether to display content in a Popover or a Modal\n */\n presentation?: 'MODAL' | 'POPOVER';\n /**\n * Decides the size of help Icon\n */\n size?: SizeSmall | SizeLarge;\n /**\n * Title displayed inside a Popover a Modal\n */\n title?: React.ReactNode;\n /**\n * Prferred placement of the Popover, does not apply to Modal\n */\n preferredPlacement?: PopoverPreferredPlacement;\n}\n\nconst Info = ({\n className = undefined,\n content = undefined,\n onClick = undefined,\n presentation = InfoPresentation.POPOVER,\n size = Size.SMALL,\n title = undefined,\n 'aria-label': ariaLabel,\n preferredPlacement = Position.BOTTOM,\n}: Props) => {\n const intl = useIntl();\n const [open, setOpen] = useState(false);\n ariaLabel ??= intl.formatMessage(messages.ariaLabel);\n const isModal = presentation === InfoPresentation.MODAL;\n const isSmall = size === Size.SMALL;\n\n const buttonProps = {\n 'aria-label': ariaLabel,\n className: 'btn-unstyled',\n children: <HelpCircleIcon size={isSmall ? 16 : 24} />,\n };\n\n return (\n <span\n className={classNames(className, 'np-info', {\n 'np-info__small': isSmall,\n 'np-info__large': !isSmall,\n })}\n >\n {isModal ? (\n <>\n <button\n type=\"button\"\n onClick={() => {\n setOpen(!open);\n if (onClick) {\n onClick();\n }\n }}\n {...buttonProps}\n />\n <Modal body={content} open={open} title={title} onClose={() => setOpen(false)} />\n </>\n ) : (\n <Popover content={content} preferredPlacement={preferredPlacement} title={title}>\n <button\n type=\"button\"\n {...buttonProps}\n onClick={() => {\n if (onClick) {\n onClick();\n }\n }}\n />\n </Popover>\n )}\n </span>\n );\n};\n\nexport default Info;\n","import { AlertCircle as AlertCircleIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { ReactNode } from 'react';\n\nimport { Sentiment } from '../common';\n\nexport interface InlineAlertProps {\n id?: string;\n type?: `${Sentiment}`;\n className?: string;\n children: ReactNode;\n}\n\nexport default function InlineAlert({\n id,\n type = 'neutral',\n className,\n children,\n}: InlineAlertProps) {\n const danger = type === 'negative' || type === 'error';\n return (\n <div\n role=\"alert\"\n id={id}\n className={classNames('alert alert-detach', `alert-${danger ? 'danger' : type}`, className)}\n >\n {danger && <AlertCircleIcon />}\n <div>{children}</div>\n </div>\n );\n}\n","import { useCallback, useEffect, useRef } from 'react';\n\n/*\n * Inspired by:\n *\n * - https://react.dev/learn/separating-events-from-effects#declaring-an-effect-event\n * - https://legacy.reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n */\n\nexport function useEffectEvent<A extends unknown[], R>(\n callback: (...args: A) => R,\n): typeof callback {\n const ref = useRef<typeof callback>(() => {\n throw new Error('Cannot call an event handler while rendering.');\n });\n\n useEffect(() => {\n ref.current = callback;\n });\n\n return useCallback((...args) => ref.current(...args), []);\n}\n","import { useEffect } from 'react';\n\nimport { useEffectEvent } from './useEffectEvent';\n\nexport function useResizeObserver(\n ref: React.RefObject<Element>,\n callback: (entry: ResizeObserverEntry) => void,\n) {\n const handleCallback = useEffectEvent(callback);\n useEffect(() => {\n if (ref.current != null) {\n const resizeObserver = new ResizeObserver(([entry]) => {\n handleCallback(entry);\n });\n resizeObserver.observe(ref.current, { box: 'border-box' });\n return () => {\n resizeObserver.disconnect();\n };\n }\n return () => {};\n }, [handleCallback, ref]);\n}\n","export function cssValueWithUnit(value: number | string) {\n return typeof value === 'number' ? `${value}px` : value;\n}\n","import classNames from 'classnames';\nimport { createContext, useContext, useMemo, useRef, useState } from 'react';\n\nimport { useResizeObserver } from '../common/hooks/useResizeObserver';\nimport { cssValueWithUnit } from '../utilities/cssValueWithUnit';\n\ntype InputPaddingContextType = [\n number | string | undefined,\n React.Dispatch<React.SetStateAction<number | string | undefined>>,\n];\n\nconst InputPaddingStartContext = createContext<InputPaddingContextType>([undefined, () => {}]);\n\nconst InputPaddingEndContext = createContext<InputPaddingContextType>([undefined, () => {}]);\n\nexport function useInputPaddings() {\n const [paddingStart] = useContext(InputPaddingStartContext);\n const [paddingEnd] = useContext(InputPaddingEndContext);\n\n return {\n paddingInlineStart: paddingStart,\n paddingInlineEnd: paddingEnd,\n } satisfies React.CSSProperties;\n}\n\ninterface InputGroupAddon {\n content: React.ReactNode;\n initialContentWidth?: number | string;\n interactive?: boolean;\n padding?: 'none' | 'sm' | 'md';\n}\n\nexport interface InputGroupProps {\n addonStart?: InputGroupAddon;\n addonEnd?: InputGroupAddon;\n disabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nfunction inputPaddingInitialState({\n initialContentWidth,\n padding = inputAddonDefaultPadding,\n}: Pick<\n InputGroupAddon,\n 'initialContentWidth' | 'padding'\n> = {}): () => InputPaddingContextType[0] {\n return () =>\n initialContentWidth != null\n ? `calc(${cssValueWithUnit(initialContentWidth)} + ${cssValueWithUnit(\n inputAddonContentWidthAddendByPadding[padding],\n )})`\n : undefined;\n}\n\nexport function InputGroup({\n addonStart,\n addonEnd,\n disabled,\n className,\n children,\n}: InputGroupProps) {\n const [paddingStart, setPaddingStart] = useState(inputPaddingInitialState(addonStart));\n const [paddingEnd, setPaddingEnd] = useState(inputPaddingInitialState(addonEnd));\n\n return (\n <InputPaddingStartContext.Provider\n value={useMemo(() => [paddingStart, setPaddingStart], [paddingStart])}\n >\n <InputPaddingEndContext.Provider\n value={useMemo(() => [paddingEnd, setPaddingEnd], [paddingEnd])}\n >\n <fieldset disabled={disabled} className={classNames(className, 'np-input-group')}>\n {addonStart != null ? <InputAddon placement=\"start\" {...addonStart} /> : null}\n {children}\n {addonEnd != null ? <InputAddon placement=\"end\" {...addonEnd} /> : null}\n </fieldset>\n </InputPaddingEndContext.Provider>\n </InputPaddingStartContext.Provider>\n );\n}\n\ninterface InputAddonProps extends Omit<InputGroupAddon, 'initialContentWidth'> {\n placement: 'start' | 'end';\n}\n\nconst inputAddonContentWidthAddendByPadding = {\n none: 0,\n sm: '1rem',\n md: '1.5rem',\n} satisfies {\n [key in NonNullable<InputAddonProps['padding']>]: InputPaddingContextType[0];\n};\n\nconst inputAddonDefaultPadding = 'md' satisfies InputAddonProps['padding'];\n\nfunction InputAddon({\n placement,\n content,\n interactive,\n padding = inputAddonDefaultPadding,\n}: InputAddonProps) {\n const [, setInputPadding] = useContext(\n placement === 'start' ? InputPaddingStartContext : InputPaddingEndContext,\n );\n\n const ref = useRef<HTMLSpanElement>(null);\n useResizeObserver(ref, (entry) => {\n // TODO: Remove fallback once most browsers support `borderBoxSize`\n const inlineSize = entry.borderBoxSize?.[0]?.inlineSize;\n if (inlineSize != null) {\n setInputPadding(inlineSize);\n } else {\n const targetStyle = getComputedStyle(entry.target);\n setInputPadding(\n entry.contentRect.width +\n Number.parseFloat(targetStyle.paddingInlineStart) +\n Number.parseFloat(targetStyle.paddingInlineEnd),\n );\n }\n });\n\n return (\n <span\n ref={ref}\n className={classNames(\n 'np-input-addon',\n {\n 'np-input-addon--placement-start': placement === 'start',\n 'np-input-addon--placement-end': placement === 'end',\n },\n interactive && 'np-input-addon--interactive',\n {\n 'np-input-addon--padding-sm': padding === 'sm',\n 'np-input-addon--padding-md': padding === 'md',\n },\n )}\n >\n {content}\n </span>\n );\n}\n","import classNames from 'classnames';\n\nimport { SizeLarge, SizeMedium, SizeSmall } from '../common';\n\nexport type FormControlPropsBase = {\n size?: 'auto' | SizeSmall | SizeMedium | SizeLarge;\n};\n\nexport function formControlClassNameBase({ size = 'auto' }: FormControlPropsBase = {}) {\n return classNames(\n 'form-control', // TODO: Deprecate\n 'np-form-control',\n {\n 'np-form-control--size-auto': size === 'auto',\n 'np-form-control--size-sm': size === 'sm',\n 'np-form-control--size-md': size === 'md',\n 'np-form-control--size-lg': size === 'lg',\n },\n );\n}\n","import classNames from 'classnames';\nimport { forwardRef } from 'react';\n\nimport { SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { Merge } from '../utils';\n\nimport { useInputPaddings } from './InputGroup';\nimport { formControlClassNameBase } from './_common';\n\nexport interface InputProps\n extends Merge<\n React.ComponentPropsWithRef<'input'>,\n {\n size?: 'auto' | SizeSmall | SizeMedium | SizeLarge;\n shape?: 'rectangle' | 'pill';\n 'aria-invalid'?: boolean;\n }\n > {}\n\nexport const Input = forwardRef(function Input(\n { size = 'auto', shape = 'rectangle', className, ...restProps }: InputProps,\n reference: React.ForwardedRef<HTMLInputElement>,\n) {\n const inputPaddings = useInputPaddings();\n\n return (\n <input\n ref={reference}\n className={classNames(className, formControlClassNameBase({ size }), 'np-input', {\n 'np-input--shape-rectangle': shape === 'rectangle',\n 'np-input--shape-pill': shape === 'pill',\n })}\n // eslint-disable-next-line react/forbid-dom-props\n style={inputPaddings}\n {...restProps}\n />\n );\n});\n","export type SymbolWithPosition = {\n index: number;\n symbol: string;\n};\n\nconst getSymbolsInPatternWithPosition = (pattern: string): SymbolWithPosition[] => {\n const patternWithSymbolsPosition: SymbolWithPosition[] = [];\n const patternArray = pattern.split('');\n patternArray.forEach((symbol, index) => {\n if (symbol !== '*') {\n patternWithSymbolsPosition.push({ index, symbol });\n }\n });\n\n return patternWithSymbolsPosition;\n};\n\nexport default getSymbolsInPatternWithPosition;\n","import getSymbolsInPatternWithPosition from '../getSymbolsInPatternWithPosition';\nimport type { SymbolWithPosition } from '../getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition';\n\nconst formatWithPattern = (value: string, pattern: string): string => {\n if (!value || value === '') {\n return '';\n }\n\n const valueArray = value.toString().split('');\n\n const patternWithSymbolsPosition = getSymbolsInPatternWithPosition(pattern);\n\n let patternSymbol: SymbolWithPosition[] = [];\n // valueArray.length increments during the cycle cause we are adding new elements.\n for (let index = 0; index < valueArray.length; index += 1) {\n patternSymbol = patternWithSymbolsPosition.filter((pattern) => pattern.index === index);\n // Add pattern's symbol at n position\n if (patternSymbol.length === 1) {\n const last = patternSymbol.pop();\n if (last) {\n valueArray.splice(index, 0, last.symbol);\n }\n }\n }\n\n return valueArray.join('');\n};\n\nexport default formatWithPattern;\n","const unformatWithPattern = (value: string, pattern: string): string => {\n let valueArray = [''];\n if (value && value.length > 0) {\n valueArray = value.toString().split('');\n valueArray = valueArray.filter((element) => !getSymbolsInPattern(pattern).includes(element));\n }\n\n return valueArray.join('');\n};\n\nconst getSymbolsInPattern = (pattern: string): string[] =>\n pattern.split('').filter((symbol) => symbol !== '*');\n\nexport default unformatWithPattern;\n","import getSymbolsInPatternWithPosition from '../getSymbolsInPatternWithPosition';\n\nconst getCountOfSymbolsInSelection = (\n selectionStart: number,\n selectionEnd: number,\n pattern: string,\n) =>\n getSymbolsInPatternWithPosition(pattern).filter(\n (symbol) => symbol.index >= selectionStart && symbol.index < selectionEnd,\n ).length;\n\nexport default getCountOfSymbolsInSelection;\n","import getSymbolsInPatternWithPosition from '../getSymbolsInPatternWithPosition';\nimport { SymbolWithPosition } from '../getSymbolsInPatternWithPosition/getSymbolsInPatternWithPosition';\n\nexport const getDistanceToNextSymbol = (selectionStart: number, pattern: string) => {\n const patternArray = getSymbolsInPatternWithPosition(pattern);\n const applicablePattern = patternArray.filter((symbol) => symbol.index >= selectionStart);\n return countConsecutiveSymbols(selectionStart, applicablePattern, 'left');\n};\n\nexport const getDistanceToPreviousSymbol = (selectionStart: number, pattern: string) => {\n const patternArray = getSymbolsInPatternWithPosition(pattern);\n const applicablePattern = patternArray\n .filter((symbol) => symbol.index < selectionStart)\n .reverse();\n return countConsecutiveSymbols(selectionStart, applicablePattern, 'right');\n};\n\nconst countConsecutiveSymbols = (\n selectionStart: number,\n applicablePattern: SymbolWithPosition[],\n direction: 'left' | 'right',\n) => {\n let cursor = selectionStart;\n let groupSize;\n\n for (groupSize = 0; groupSize < applicablePattern.length; groupSize += 1) {\n const condition = direction === 'left' ? cursor : cursor - 1;\n if (applicablePattern[groupSize].index === condition) {\n cursor = direction === 'left' ? cursor + 1 : cursor - 1;\n } else {\n // Exit if not consecutive.\n break;\n }\n }\n return groupSize;\n};\n","import getCountOfSymbolsInSelection from '../getCountOfSymbolsInSelection';\nimport { getDistanceToNextSymbol, getDistanceToPreviousSymbol } from '../getDistanceToSymbol';\n\nconst getCursorPositionAfterActionStroke = (\n action: string,\n selectionStart: number,\n selectionEnd: number,\n pattern: string,\n pastedLength: number,\n): number => {\n let cursorPosition = selectionStart;\n\n switch (action) {\n case 'Backspace':\n // If not multiple delete.\n if (selectionStart === selectionEnd) {\n cursorPosition -= getDistanceToPreviousSymbol(selectionStart, pattern);\n cursorPosition = cursorPosition > 0 ? cursorPosition - 1 : 0;\n }\n break;\n\n case 'Paste':\n cursorPosition +=\n pastedLength +\n getCountOfSymbolsInSelection(selectionStart, selectionStart + pastedLength, pattern) +\n getDistanceToNextSymbol(selectionStart + pastedLength, pattern);\n break;\n\n case 'Cut':\n case 'Delete':\n break;\n\n default:\n cursorPosition += 1 + getDistanceToNextSymbol(selectionStart, pattern);\n break;\n }\n\n return cursorPosition;\n};\n\nexport default getCursorPositionAfterActionStroke;\n","import { Component } from 'react';\n\nimport { HistoryNavigator } from '../common';\nimport {\n formatWithPattern,\n getCountOfSymbolsInSelection,\n getCursorPositionAfterKeystroke,\n unformatWithPattern,\n getDistanceToPreviousSymbol,\n getDistanceToNextSymbol,\n} from '../common/textFormat';\nimport { InputProps } from '../inputs/Input';\nimport { TextAreaProps } from '../inputs/TextArea';\n\ntype HTMLTextElement = HTMLInputElement | HTMLTextAreaElement;\ntype TextElementProps = InputProps | TextAreaProps;\n\nexport type EventType =\n | 'KeyDown'\n | 'Paste'\n | 'Cut'\n | 'Undo'\n | 'Redo'\n | 'Backspace'\n | 'Delete'\n | 'Initial';\n\ninterface WithDisplayFormatState {\n value: string;\n historyNavigator: HistoryNavigator;\n prevDisplayPattern: string;\n triggerType: EventType;\n triggerEvent: React.KeyboardEvent<HTMLTextElement> | null;\n pastedLength: number;\n selectionStart: number;\n selectionEnd: number;\n}\n\nexport interface WithDisplayFormatProps<T extends TextElementProps = TextElementProps>\n extends Pick<\n TextElementProps,\n | 'className'\n | 'disabled'\n | 'id'\n | 'maxLength'\n | 'minLength'\n | 'name'\n | 'placeholder'\n | 'readOnly'\n | 'required'\n | 'inputMode'\n > {\n value?: string;\n displayPattern: string;\n /**\n * autocomplete hides our form help so we need to disable it when help text\n * is present. Chrome ignores autocomplete=off, the only way to disable it is\n * to provide an 'invalid' value, for which 'disabled' serves.\n */\n autoComplete?: TextElementProps['autoComplete'] | 'disabled';\n onChange?: (value: string) => void;\n onBlur?: (value: string) => void;\n onFocus?: (value: string) => void;\n render: (renderProps: T) => JSX.Element;\n}\n\nclass WithDisplayFormat<T extends TextElementProps> extends Component<\n WithDisplayFormatProps<T>,\n WithDisplayFormatState\n> {\n declare props: WithDisplayFormatProps<T> &\n Required<Pick<WithDisplayFormatProps<T>, keyof typeof WithDisplayFormat.defaultProps>>;\n static defaultProps = {\n autoComplete: 'off',\n displayPattern: '',\n value: '',\n };\n\n constructor(props: WithDisplayFormatProps) {\n super(props);\n const unformattedValue = unformatWithPattern(props.value ?? '', props.displayPattern);\n this.state = {\n value: formatWithPattern(unformattedValue, props.displayPattern),\n historyNavigator: new HistoryNavigator(),\n prevDisplayPattern: props.displayPattern,\n triggerType: 'Initial',\n triggerEvent: null,\n selectionStart: 0,\n selectionEnd: 0,\n pastedLength: 0,\n };\n }\n\n static getDerivedStateFromProps(\n { displayPattern }: WithDisplayFormatProps,\n { prevDisplayPattern = displayPattern, value, historyNavigator }: WithDisplayFormatState,\n ) {\n if (prevDisplayPattern !== displayPattern) {\n const unFormattedValue = unformatWithPattern(value, prevDisplayPattern);\n historyNavigator.reset();\n\n return {\n prevDisplayPattern: displayPattern,\n value: formatWithPattern(unFormattedValue, displayPattern),\n triggerType: null,\n triggerEvent: null,\n pastedLength: 0,\n };\n }\n return null;\n }\n\n getUserAction = (unformattedValue: string): EventType | string => {\n const { triggerEvent, triggerType, value } = this.state;\n const { displayPattern } = this.props;\n\n if (triggerEvent) {\n const charCode = String.fromCharCode(triggerEvent.which).toLowerCase();\n\n if (triggerType === 'Paste' || triggerType === 'Cut') {\n return triggerType;\n }\n\n if ((triggerEvent.ctrlKey || triggerEvent.metaKey) && charCode === 'z') {\n return triggerEvent.shiftKey ? 'Redo' : 'Undo';\n }\n // Detect mouse event redo\n if (triggerEvent.ctrlKey && charCode === 'd') {\n return 'Delete';\n }\n\n // Android Fix.\n if (\n typeof triggerEvent.key === 'undefined' &&\n unformattedValue.length <= unformatWithPattern(value, displayPattern).length\n ) {\n return 'Backspace';\n }\n return triggerEvent.key;\n } else {\n // triggerEvent can be null only in case of \"autofilling\" (via password manager extension or browser build-in one) events\n return 'Paste';\n }\n };\n\n resetEvent = () => {\n this.setState({\n triggerType: 'Initial',\n triggerEvent: null,\n pastedLength: 0,\n });\n };\n\n detectUndoRedo = (event: React.KeyboardEvent<HTMLTextElement>) => {\n const charCode = String.fromCharCode(event.which).toLowerCase();\n if ((event.ctrlKey || event.metaKey) && charCode === 'z') {\n return event.shiftKey ? 'Redo' : 'Undo';\n }\n return null;\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLTextElement> = (event) => {\n event.persist();\n const { selectionStart, selectionEnd } = event.currentTarget;\n const { historyNavigator } = this.state;\n const { displayPattern } = this.props;\n\n // Unfortunately Undo and Redo don't trigger OnChange event so we need to handle some value logic here.\n let newFormattedValue = '';\n\n if (this.detectUndoRedo(event) === 'Undo') {\n newFormattedValue = formatWithPattern(historyNavigator.undo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Undo' });\n } else if (this.detectUndoRedo(event) === 'Redo') {\n newFormattedValue = formatWithPattern(historyNavigator.redo().toString(), displayPattern);\n this.setState({ value: newFormattedValue, triggerType: 'Redo' });\n } else {\n this.setState({\n triggerEvent: event,\n triggerType: 'KeyDown',\n selectionStart: selectionStart ?? 0,\n selectionEnd: selectionEnd ?? 0,\n });\n }\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern } = this.props;\n const pastedLength = unformatWithPattern(\n event.clipboardData.getData('Text'),\n displayPattern,\n ).length;\n\n this.setState({ triggerType: 'Paste', pastedLength });\n };\n\n handleOnCut: React.ClipboardEventHandler<HTMLTextElement> = () => {\n this.setState({ triggerType: 'Cut' });\n };\n\n isKeyAllowed = (action: EventType | string) => {\n const { displayPattern } = this.props;\n const symbolsInPattern = displayPattern.split('').filter((character) => character !== '*');\n\n return !symbolsInPattern.includes(action);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLTextElement> = (event) => {\n const { historyNavigator, triggerType } = this.state;\n const { displayPattern, onChange } = this.props;\n const { value } = event.target;\n let unformattedValue = unformatWithPattern(value, displayPattern);\n const action = this.getUserAction(unformattedValue);\n if (!this.isKeyAllowed(action) || triggerType === 'Undo' || triggerType === 'Redo') {\n return;\n }\n\n if (action === 'Backspace' || action === 'Delete') {\n unformattedValue = this.handleDelete(unformattedValue, action);\n }\n\n const newFormattedValue = formatWithPattern(unformattedValue, displayPattern);\n historyNavigator.add(unformattedValue);\n\n this.handleCursorPositioning(action);\n\n this.setState({ value: newFormattedValue }, () => {\n this.resetEvent();\n if (onChange) {\n const broadcastValue = unformatWithPattern(newFormattedValue, displayPattern);\n onChange(broadcastValue);\n }\n });\n };\n\n handleOnBlur: React.FocusEventHandler<HTMLTextElement> = (event) => {\n this.props.onBlur?.(unformatWithPattern(event.target.value, this.props.displayPattern));\n };\n\n handleOnFocus: React.FocusEventHandler<HTMLTextElement> = (event) => {\n const { displayPattern, onFocus } = this.props;\n if (onFocus) {\n this.handleOnChange(event);\n onFocus(unformatWithPattern(event.target.value, displayPattern));\n }\n };\n\n handleDelete = (unformattedValue: string, action: EventType) => {\n const { displayPattern } = this.props;\n const { selectionStart, selectionEnd } = this.state;\n const newStack = [...unformattedValue];\n if (selectionStart === selectionEnd) {\n let startPosition =\n selectionStart - getCountOfSymbolsInSelection(0, selectionStart, displayPattern);\n let toDelete = 0;\n\n let count = getDistanceToNextSymbol(selectionStart, displayPattern);\n if (action === 'Backspace') {\n startPosition -= 1;\n count = getDistanceToPreviousSymbol(selectionStart, displayPattern);\n }\n\n if (startPosition >= 0 && count) {\n toDelete = 1;\n }\n\n newStack.splice(startPosition, toDelete);\n }\n\n return newStack.join('');\n };\n\n handleCursorPositioning = (action: string) => {\n const { displayPattern } = this.props;\n const { triggerEvent, selectionStart, selectionEnd, pastedLength } = this.state;\n\n const cursorPosition = getCursorPositionAfterKeystroke(\n action,\n selectionStart,\n selectionEnd,\n displayPattern,\n pastedLength,\n );\n\n setTimeout(() => {\n if (triggerEvent) {\n (triggerEvent.target as HTMLTextElement).setSelectionRange(cursorPosition, cursorPosition);\n }\n this.setState({ selectionStart: cursorPosition, selectionEnd: cursorPosition });\n }, 0);\n };\n\n render() {\n const {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n } = this.props;\n const { value } = this.state;\n const renderProps: TextElementProps = {\n inputMode,\n className,\n id,\n name,\n placeholder,\n readOnly,\n required,\n minLength,\n maxLength,\n disabled,\n autoComplete,\n value,\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n onPaste: this.handleOnPaste,\n onKeyDown: this.handleOnKeyDown,\n onChange: this.handleOnChange,\n onCut: this.handleOnCut,\n };\n return this.props.render(renderProps as T);\n }\n}\n\nexport default WithDisplayFormat;\n","import { Input, type InputProps } from '../inputs/Input';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../withDisplayFormat';\n\nexport interface InputWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst InputWithDisplayFormat = (props: InputWithDisplayFormatProps) => (\n <WithDisplayFormat<InputProps> {...props} render={(renderProps) => <Input {...renderProps} />} />\n);\n\nexport default InputWithDisplayFormat;\n","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>,\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","import { forwardRef } from 'react';\n\nexport interface PolymorphicWithOverridesProps {\n __overrides: {\n as: React.ElementType;\n [key: string]: unknown;\n };\n [key: string]: unknown;\n}\n\n/**\n * For overcoming the limitations of third-party components with an `as` prop.\n */\nexport const PolymorphicWithOverrides = forwardRef(function PolymorphicWithOverrides(\n { __overrides: { as: Element, ...restOverrides }, ...restProps }: PolymorphicWithOverridesProps,\n ref: React.ForwardedRef<Element>,\n) {\n return <Element ref={ref} {...restProps} {...restOverrides} />;\n});\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n noResultsFound: {\n id: 'neptune.SelectInput.noResultsFound',\n defaultMessage: 'No results found',\n description: 'When a user-initiated search produces no results.',\n },\n});\n","import { usePreventScroll } from '@react-aria/overlays';\n\nexport function PreventScroll() {\n usePreventScroll();\n return null;\n}\n","import {\n FloatingFocusManager,\n FloatingPortal,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { Transition } from '@headlessui/react';\nimport { FocusScope } from '@react-aria/focus';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { useState } from 'react';\n\nimport { CloseButton } from '../common/closeButton';\nimport { PreventScroll } from '../common/preventScroll/PreventScroll';\nimport { Size } from '../common/propsValues/size';\n\nexport interface BottomSheetProps {\n open: boolean;\n renderTrigger?: (args: {\n ref: React.RefCallback<Element>;\n getInteractionProps: (customEventHandlers?: React.HTMLProps<Element>) => {\n [key: string]: unknown;\n };\n }) => React.ReactNode;\n title?: string;\n initialFocusRef?: React.RefObject<HTMLElement>;\n padding?: 'none' | 'md';\n children?: React.ReactNode;\n onClose?: () => void;\n onCloseEnd?: () => void;\n}\n\nexport function BottomSheet({\n open,\n renderTrigger,\n title,\n initialFocusRef,\n padding = 'md',\n children,\n onClose,\n onCloseEnd,\n}: BottomSheetProps) {\n const { refs, context } = useFloating<Element>({\n open,\n onOpenChange: (value) => {\n if (!value) {\n onClose?.();\n }\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, role]);\n\n const [floatingKey, setFloatingKey] = useState(0);\n\n const { theme, screenMode } = useTheme();\n\n return (\n <>\n {open ? <PreventScroll /> : null}\n {renderTrigger?.({\n ref: refs.setReference,\n getInteractionProps: getReferenceProps,\n })}\n\n <FloatingPortal>\n <ThemeProvider\n theme=\"personal\"\n screenMode={theme === 'personal' ? screenMode : 'light'}\n isNotRootProvider\n >\n <Transition\n show={open}\n className=\"np-bottom-sheet-v2-container\"\n beforeEnter={() => {\n setFloatingKey((prev) => prev + 1);\n }}\n afterLeave={onCloseEnd}\n >\n <Transition.Child\n enter=\"np-bottom-sheet-v2-backdrop-container--enter\"\n enterFrom=\"np-bottom-sheet-v2-backdrop-container--enter-from\"\n leave=\"np-bottom-sheet-v2-backdrop-container--leave\"\n leaveTo=\"np-bottom-sheet-v2-backdrop-container--leave-to\"\n >\n <div className=\"np-bottom-sheet-v2-backdrop\" />\n </Transition.Child>\n\n <div className=\"np-bottom-sheet-v2\">\n <Transition.Child\n className=\"np-bottom-sheet-v2-content\"\n enter=\"np-bottom-sheet-v2-content--enter\"\n enterFrom=\"np-bottom-sheet-v2-content--enter-from\"\n leave=\"np-bottom-sheet-v2-content--leave\"\n leaveTo=\"np-bottom-sheet-v2-content--leave-to\"\n >\n <FocusScope>\n <FloatingFocusManager context={context} initialFocus={initialFocusRef}>\n <div\n key={floatingKey} // Force inner state invalidation on open\n ref={refs.setFloating}\n className=\"np-bottom-sheet-v2-content-inner-container\"\n {...getFloatingProps()}\n >\n <div className=\"np-bottom-sheet-v2-header\">\n <CloseButton\n size={Size.SMALL}\n onClick={() => {\n onClose?.();\n }}\n />\n </div>\n <div\n className={classNames(\n 'np-bottom-sheet-v2-content-inner',\n title && 'np-bottom-sheet-v2-content-inner--has-title',\n {\n 'np-bottom-sheet-v2-content-inner--padding-md': padding === 'md',\n },\n )}\n >\n {title ? (\n <h2 className=\"np-bottom-sheet-v2-title np-text-title-body\">{title}</h2>\n ) : null}\n <div className=\"np-bottom-sheet-v2-body np-text-body-default\">\n {children}\n </div>\n </div>\n </div>\n </FloatingFocusManager>\n </FocusScope>\n </Transition.Child>\n </div>\n </Transition>\n </ThemeProvider>\n </FloatingPortal>\n </>\n );\n}\n","import classNames from 'classnames';\nimport { forwardRef } from 'react';\n\nimport { useInputPaddings } from './InputGroup';\nimport { formControlClassNameBase } from './_common';\n\nexport interface ButtonInputProps extends React.ComponentPropsWithRef<'button'> {\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport const ButtonInput = forwardRef(function ButtonInput(\n { size = 'md', className, style, ...restProps }: ButtonInputProps,\n ref: React.ForwardedRef<HTMLButtonElement>,\n) {\n const inputPaddings = useInputPaddings();\n\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames(className, formControlClassNameBase({ size }), 'np-button-input')}\n // eslint-disable-next-line react/forbid-dom-props\n style={{ ...inputPaddings, ...style }}\n {...restProps}\n />\n );\n});\n","import {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n type Placement,\n shift,\n size as floatingSize,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { Transition } from '@headlessui/react';\nimport { FocusScope } from '@react-aria/focus';\nimport { ThemeProvider, useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { useState } from 'react';\n\nimport { PreventScroll } from '../common/preventScroll/PreventScroll';\n\nexport interface PopoverProps {\n placement?: Placement;\n open: boolean;\n renderTrigger: (args: {\n ref: React.RefCallback<Element>;\n getInteractionProps: (customEventHandlers?: React.HTMLProps<Element>) => {\n [key: string]: unknown;\n };\n }) => React.ReactNode;\n title?: string;\n size?: 'md' | 'lg';\n padding?: 'none' | 'md';\n children?: React.ReactNode;\n onClose?: () => void;\n onCloseEnd?: () => void;\n}\n\nconst floatingPadding = 16;\n\nexport function Popover({\n placement,\n open,\n renderTrigger,\n title,\n size = 'md',\n padding = 'md',\n children,\n onClose,\n onCloseEnd,\n}: PopoverProps) {\n const { refs, floatingStyles, context } = useFloating<Element>({\n placement,\n middleware: [\n offset(8),\n flip({ padding: floatingPadding, crossAxis: false }),\n shift(),\n floatingSize({\n padding: floatingPadding,\n apply: ({ elements, rects, availableHeight }) => {\n elements.floating.style.setProperty('--max-height', `${availableHeight}px`);\n elements.floating.style.setProperty('--width', `${rects.reference.width}px`);\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n open,\n onOpenChange: (value) => {\n if (!value) {\n onClose?.();\n }\n },\n });\n\n const dismiss = useDismiss(context);\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([role, dismiss]);\n\n const [floatingKey, setFloatingKey] = useState(0);\n\n const { theme, screenMode } = useTheme();\n\n return (\n <>\n {open ? <PreventScroll /> : null}\n {renderTrigger({\n ref: refs.setReference,\n getInteractionProps: getReferenceProps,\n })}\n\n <FloatingPortal>\n <ThemeProvider\n theme=\"personal\"\n screenMode={theme === 'personal' ? screenMode : 'light'}\n isNotRootProvider\n >\n <Transition\n show={open}\n leave=\"transition-opacity\"\n leaveTo=\"opacity-0\"\n beforeEnter={() => {\n setFloatingKey((prev) => prev + 1);\n }}\n afterLeave={onCloseEnd}\n >\n <FocusScope>\n <FloatingFocusManager context={context}>\n <div\n key={floatingKey} // Force inner state invalidation on open\n ref={refs.setFloating}\n className={classNames('np-popover-v2-container', {\n 'np-popover-v2-container--size-md': size === 'md',\n 'np-popover-v2-container--size-lg': size === 'lg',\n })}\n // eslint-disable-next-line react/forbid-dom-props\n style={floatingStyles}\n {...getFloatingProps()}\n >\n <div\n className={classNames('np-popover-v2', title && 'np-popover-v2--has-title', {\n 'np-popover-v2--padding-md': padding === 'md',\n })}\n >\n {title ? (\n <h2 className=\"np-popover-v2-title np-text-title-body\">{title}</h2>\n ) : null}\n <div className=\"np-popover-v2-content np-text-body-default\">{children}</div>\n </div>\n </div>\n </FloatingFocusManager>\n </FocusScope>\n </Transition>\n </ThemeProvider>\n </FloatingPortal>\n </>\n );\n}\n","import { Listbox as ListboxBase } from '@headlessui/react';\nimport { useId } from '@radix-ui/react-id';\nimport { Check, ChevronDown, Cross, CrossCircle } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport mergeProps from 'merge-props';\nimport { createContext, forwardRef, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { useEffectEvent } from '../common/hooks/useEffectEvent';\nimport { useScreenSize } from '../common/hooks/useScreenSize';\nimport { PolymorphicWithOverrides } from '../common/polymorphicWithOverrides/PolymorphicWithOverrides';\nimport { Breakpoint } from '../common/propsValues/breakpoint';\nimport dateTriggerMessages from '../dateLookup/dateTrigger/DateTrigger.messages';\nimport { Merge } from '../utils';\n\nimport { InputGroup } from './InputGroup';\nimport { SearchInput } from './SearchInput';\nimport messages from './SelectInput.messages';\nimport { BottomSheet } from './_BottomSheet';\nimport { ButtonInput } from './_ButtonInput';\nimport { Popover } from './_Popover';\n\nfunction searchableString(value: string) {\n return value.trim().replace(/\\s+/gu, ' ').normalize('NFKC').toLowerCase();\n}\n\nfunction inferSearchableStrings(value: unknown) {\n if (typeof value === 'string') {\n return [searchableString(value)];\n }\n\n if (typeof value === 'object' && value != null) {\n return Object.values(value)\n .filter((innerValue): innerValue is string => typeof innerValue === 'string')\n .map((innerValue) => searchableString(innerValue));\n }\n\n return [];\n}\n\nconst SelectInputTriggerButtonPropsContext = createContext<{\n ref?: React.ForwardedRef<HTMLButtonElement>;\n id?: string;\n onClick?: (event: React.MouseEvent) => void;\n onKeyDown?: (event: React.KeyboardEvent) => void;\n [key: string]: unknown;\n}>({});\nconst SelectInputOptionContentWithinTriggerContext = createContext(false);\n\nexport interface SelectInputOptionItem<T = string> {\n type: 'option';\n value: T;\n filterMatchers?: readonly string[];\n disabled?: boolean;\n}\n\nexport interface SelectInputGroupItem<T = string> {\n type: 'group';\n label: string;\n options: readonly SelectInputOptionItem<T>[];\n}\n\nexport interface SelectInputSeparatorItem {\n type: 'separator';\n}\n\nexport type SelectInputItem<T = string> =\n | SelectInputOptionItem<T>\n | SelectInputGroupItem<T>\n | SelectInputSeparatorItem;\n\nfunction dedupeSelectInputOptionItem<T>(\n item: SelectInputOptionItem<T>,\n existingValues: Set<T>,\n): SelectInputOptionItem<T | undefined> {\n if (!existingValues.has(item.value)) {\n existingValues.add(item.value);\n return item;\n }\n return { ...item, value: undefined };\n}\n\nfunction dedupeSelectInputItems<T>(\n items: readonly SelectInputItem<T>[],\n): SelectInputItem<T | undefined>[] {\n const existingValues = new Set<T>();\n return items.map((item) => {\n switch (item.type) {\n case 'option': {\n return dedupeSelectInputOptionItem(item, existingValues);\n }\n case 'group': {\n return {\n ...item,\n options: item.options.map((option) =>\n dedupeSelectInputOptionItem(option, existingValues),\n ),\n };\n }\n default:\n }\n return item;\n });\n}\n\nfunction filterSelectInputOptionItem<T>(item: SelectInputOptionItem<T>, needle: string) {\n return inferSearchableStrings(item.filterMatchers ?? item.value).some((haystack) =>\n haystack.includes(needle),\n );\n}\n\nfunction filterSelectInputItems<T>(items: readonly SelectInputItem<T>[], needle: string) {\n return items.filter((item) => {\n switch (item.type) {\n case 'option': {\n return filterSelectInputOptionItem(item, needle);\n }\n case 'group': {\n return item.options.some((option) => filterSelectInputOptionItem(option, needle));\n }\n default:\n }\n return false;\n });\n}\n\nexport interface SelectInputProps<T = string, M extends boolean = false> {\n id?: string;\n name?: string;\n multiple?: M;\n placeholder?: string;\n items: readonly SelectInputItem<NonNullable<T>>[];\n defaultValue?: M extends true ? readonly T[] : T;\n value?: M extends true ? readonly T[] : T;\n compareValues?:\n | (keyof NonNullable<T> & string)\n | ((a: T | undefined, b: T | undefined) => boolean);\n renderValue?: (value: NonNullable<T>, withinTrigger: boolean) => React.ReactNode;\n renderFooter?: (args: {\n resultsEmpty: boolean;\n queryNormalized: string | null | undefined;\n }) => React.ReactNode;\n renderTrigger?: (args: {\n content: React.ReactNode;\n placeholderShown: boolean;\n clear: (() => void) | undefined;\n disabled: boolean;\n size: 'sm' | 'md' | 'lg';\n className: string | undefined;\n }) => React.ReactNode;\n filterable?: boolean;\n filterPlaceholder?: string;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n onFilterChange?: (args: { query: string; queryNormalized: string | null }) => void;\n onChange?: (value: M extends true ? T[] : T) => void;\n onClose?: () => void;\n onClear?: () => void;\n}\n\nconst defaultRenderTrigger = (({ content, placeholderShown, clear, disabled, size, className }) => (\n <InputGroup\n addonEnd={{\n content: (\n <span className={classNames('np-select-input-addon-container', disabled && 'disabled')}>\n {clear != null && !placeholderShown ? (\n <>\n <SelectInputClearButton\n onClick={(event) => {\n event.preventDefault();\n clear();\n }}\n />\n <span className=\"np-select-input-addon-separator\" />\n </>\n ) : null}\n\n <span className=\"np-select-input-addon\">\n <ChevronDown size={16} />\n </span>\n </span>\n ),\n initialContentWidth: 24 + 4,\n padding: 'sm',\n }}\n disabled={disabled}\n className={className}\n >\n <SelectInputTriggerButton as={ButtonInput} size={size}>\n <span\n className={classNames(\n 'np-select-input-content',\n placeholderShown && 'np-select-input-placeholder',\n )}\n >\n {content}\n </span>\n </SelectInputTriggerButton>\n </InputGroup>\n)) satisfies SelectInputProps['renderTrigger'];\n\ninterface SelectInputClearButtonProps\n extends Pick<React.ComponentPropsWithoutRef<'button'>, 'className' | 'onClick'> {}\n\nfunction SelectInputClearButton({ className, onClick }: SelectInputClearButtonProps) {\n const intl = useIntl();\n\n return (\n <button\n type=\"button\"\n aria-label={intl.formatMessage(dateTriggerMessages.ariaLabel)}\n className={classNames(className, 'np-select-input-addon np-select-input-addon--interactive')}\n onClick={onClick}\n >\n <Cross size={16} />\n </button>\n );\n}\n\nconst noop = () => {};\n\nexport function SelectInput<T = string, M extends boolean = false>({\n id,\n name,\n multiple,\n placeholder,\n items,\n defaultValue,\n value: controlledValue,\n compareValues,\n renderValue = String,\n renderFooter,\n renderTrigger = defaultRenderTrigger,\n filterable,\n filterPlaceholder,\n disabled,\n size = 'md',\n className,\n onFilterChange = noop,\n onChange,\n onClose,\n onClear,\n}: SelectInputProps<T, M>) {\n const [open, setOpen] = useState(false);\n\n const initialized = useRef(false);\n const handleClose = useEffectEvent(onClose ?? (() => {}));\n useEffect(() => {\n if (initialized.current) {\n if (!open) {\n handleClose?.();\n }\n } else {\n initialized.current = true;\n }\n }, [handleClose, open]);\n\n const [filterQuery, _setFilterQuery] = useState('');\n const setFilterQuery = useEffectEvent((query: string) => {\n _setFilterQuery(query);\n onFilterChange({\n query,\n queryNormalized: query ? searchableString(query) : null,\n });\n });\n\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const screenSm = useScreenSize(Breakpoint.SMALL);\n const OptionsOverlay = screenSm ? Popover : BottomSheet;\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const listboxRef = useRef<HTMLDivElement>(null);\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n return (\n <ListboxBase\n name={name}\n multiple={multiple}\n defaultValue={defaultValue}\n value={controlledValue}\n // TODO: Remove assertion when upgrading TypeScript to v5\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n by={compareValues as any}\n disabled={disabled}\n onChange={\n ((value) => {\n if (!multiple) {\n setOpen(false);\n }\n onChange?.(value);\n }) satisfies SelectInputProps<T, M>['onChange']\n }\n >\n {({ disabled: uiDisabled, value }) => {\n const placeholderShown =\n multiple && Array.isArray(value) ? value.length === 0 : value == null;\n return (\n <OptionsOverlay\n placement=\"bottom-start\"\n open={open}\n renderTrigger={({ ref, getInteractionProps }) => (\n <SelectInputTriggerButtonPropsContext.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n ref: (node) => {\n ref(node);\n triggerRef.current = node;\n },\n id,\n ...mergeProps(\n {\n onClick: () => {\n setOpen((prev) => !prev);\n },\n onKeyDown: (event: React.KeyboardEvent) => {\n if (\n event.key === ' ' ||\n event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp'\n ) {\n setOpen((prev) => !prev);\n }\n },\n },\n getInteractionProps(),\n ),\n }}\n >\n {renderTrigger({\n content: !placeholderShown ? (\n <SelectInputOptionContentWithinTriggerContext.Provider value>\n {multiple && Array.isArray(value)\n ? value\n .map((option: NonNullable<T>) => renderValue(option, true))\n .filter((node) => node != null)\n .join(', ')\n : renderValue(value as NonNullable<T>, true)}\n </SelectInputOptionContentWithinTriggerContext.Provider>\n ) : (\n placeholder\n ),\n placeholderShown,\n clear:\n onClear != null\n ? () => {\n onClear();\n triggerRef.current?.focus({ preventScroll: true });\n }\n : undefined,\n disabled: uiDisabled,\n size,\n className,\n })}\n </SelectInputTriggerButtonPropsContext.Provider>\n )}\n initialFocusRef={controllerRef}\n size={filterable ? 'lg' : 'md'}\n padding=\"none\"\n onClose={() => {\n setOpen(false);\n }}\n onCloseEnd={() => {\n if (filterQuery !== '') {\n setFilterQuery('');\n }\n }}\n >\n <SelectInputOptions\n items={items}\n renderValue={renderValue}\n renderFooter={renderFooter}\n filterable={filterable}\n filterPlaceholder={filterPlaceholder}\n searchInputRef={searchInputRef}\n listboxRef={listboxRef}\n filterQuery={filterQuery}\n onFilterChange={setFilterQuery}\n />\n </OptionsOverlay>\n );\n }}\n </ListboxBase>\n );\n}\n\ntype SelectInputTriggerButtonElementType = 'button' | React.ComponentType;\n\nexport type SelectInputTriggerButtonProps<\n T extends SelectInputTriggerButtonElementType = 'button',\n> = Merge<React.ComponentPropsWithoutRef<T>, { as?: T }>;\n\nexport function SelectInputTriggerButton<T extends SelectInputTriggerButtonElementType = 'button'>({\n as = 'button' as T,\n ...restProps\n}: SelectInputTriggerButtonProps<T>) {\n const { ref, onClick, onKeyDown, ...interactionProps } = useContext(\n SelectInputTriggerButtonPropsContext,\n );\n\n return (\n <ListboxBase.Button\n ref={ref}\n as={PolymorphicWithOverrides}\n __overrides={{ as, ...interactionProps }}\n {...mergeProps({ onClick, onKeyDown }, restProps)}\n />\n );\n}\n\ninterface SelectInputOptionsContainerProps extends React.ComponentPropsWithRef<'div'> {\n onAriaActiveDescendantChange: (value: React.AriaAttributes['aria-activedescendant']) => void;\n}\n\nconst SelectInputOptionsContainer = forwardRef(function SelectInputOptionsContainer(\n {\n 'aria-orientation': ariaOrientation,\n 'aria-activedescendant': ariaActiveDescendant,\n role,\n tabIndex,\n onAriaActiveDescendantChange,\n onKeyDown,\n ...restProps\n }: SelectInputOptionsContainerProps,\n ref: React.ForwardedRef<HTMLDivElement>,\n) {\n const handleAriaActiveDescendantChange = useEffectEvent(onAriaActiveDescendantChange);\n useEffect(() => {\n handleAriaActiveDescendantChange(ariaActiveDescendant);\n }, [ariaActiveDescendant, handleAriaActiveDescendantChange]);\n\n return (\n <div\n ref={ref}\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent confirmation close without an active item\n if (event.key === 'Enter' && ariaActiveDescendant == null) {\n return;\n }\n\n // Prevent absorbing actions early\n if (event.key === 'Escape' || event.key === 'Tab') {\n onKeyDown?.({\n ...event,\n preventDefault: () => {},\n stopPropagation: () => {},\n });\n return;\n }\n\n onKeyDown?.(event);\n }}\n {...restProps}\n />\n );\n});\n\ninterface SelectInputOptionsProps<T = string>\n extends Pick<\n SelectInputProps<T>,\n 'items' | 'renderValue' | 'renderFooter' | 'filterable' | 'filterPlaceholder'\n > {\n searchInputRef: React.RefObject<HTMLInputElement>;\n listboxRef: React.RefObject<HTMLDivElement>;\n filterQuery: string;\n onFilterChange: (query: string) => void;\n}\n\nfunction SelectInputOptions<T = string>({\n items,\n renderValue = String,\n renderFooter,\n filterable = false,\n filterPlaceholder,\n searchInputRef,\n listboxRef,\n filterQuery,\n onFilterChange,\n}: SelectInputOptionsProps<T>) {\n const intl = useIntl();\n\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n const needle = useMemo(() => {\n if (filterable) {\n return filterQuery ? searchableString(filterQuery) : null;\n }\n return undefined;\n }, [filterQuery, filterable]);\n const resultsEmpty = needle != null && filterSelectInputItems(items, needle).length === 0;\n\n const listboxContainerRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (listboxContainerRef.current != null) {\n listboxContainerRef.current.style.setProperty(\n '--initial-height',\n `${listboxContainerRef.current.offsetHeight}px`,\n );\n }\n }, []);\n\n const showStatus = resultsEmpty;\n const statusId = useId();\n const listboxId = useId();\n\n return (\n <ListboxBase.Options\n as={SelectInputOptionsContainer}\n static\n className=\"np-select-input-options-container\"\n onAriaActiveDescendantChange={(value: React.AriaAttributes['aria-activedescendant']) => {\n if (controllerRef.current != null) {\n if (value != null) {\n controllerRef.current.setAttribute('aria-activedescendant', value);\n } else {\n controllerRef.current.removeAttribute('aria-activedescendant');\n if (filterQuery) {\n // Ensure having an active option while filtering\n controllerRef.current.dispatchEvent(\n new KeyboardEvent('keydown', { key: 'Home', bubbles: true }),\n );\n }\n }\n }\n }}\n >\n {filterable ? (\n <div className=\"np-select-input-query-container\">\n <SearchInput\n ref={searchInputRef}\n shape=\"rectangle\"\n placeholder={filterPlaceholder}\n value={filterQuery}\n aria-controls={listboxId}\n aria-describedby={showStatus ? statusId : undefined}\n onKeyDown={(event) => {\n // Prevent interfering with the matcher of Headless UI\n // https://mathiasbynens.be/notes/javascript-unicode#regex\n if (/^.$/u.test(event.key)) {\n event.stopPropagation();\n }\n }}\n onChange={(event) => {\n onFilterChange(event.currentTarget.value);\n }}\n />\n </div>\n ) : null}\n\n <section\n ref={listboxContainerRef}\n tabIndex={-1}\n className={classNames(\n 'np-select-input-listbox-container',\n items.some((item) => item.type === 'group') &&\n 'np-select-input-listbox-container--has-group',\n )}\n >\n {resultsEmpty ? (\n <div id={statusId} className=\"np-select-input-options-status\">\n <CrossCircle size={16} className=\"np-select-input-options-status-icon\" />\n {intl.formatMessage(messages.noResultsFound)}\n </div>\n ) : null}\n\n <div\n ref={listboxRef}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"np-select-input-listbox\"\n >\n {(needle != null ? dedupeSelectInputItems(items) : items).map((item, index) => (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={item}\n renderValue={renderValue}\n needle={needle}\n />\n ))}\n </div>\n\n {renderFooter != null ? (\n <footer className=\"np-select-input-footer\">\n <div\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent interfering with Headless UI\n if (event.key !== 'Escape') {\n event.stopPropagation();\n }\n }}\n >\n {renderFooter({\n resultsEmpty,\n queryNormalized: needle,\n })}\n </div>\n </footer>\n ) : null}\n </section>\n </ListboxBase.Options>\n );\n}\n\ninterface SelectInputItemViewProps<\n T = string,\n I extends SelectInputItem<T | undefined> = SelectInputItem<T | undefined>,\n> extends Required<Pick<SelectInputProps<T>, 'renderValue'>> {\n item: I;\n needle: string | null | undefined;\n}\n\nfunction SelectInputItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputItemViewProps<T>) {\n switch (item.type) {\n case 'option': {\n if (item.value != null && (needle == null || filterSelectInputOptionItem(item, needle))) {\n return (\n <SelectInputOption value={item.value} disabled={item.disabled}>\n {renderValue(item.value, false)}\n </SelectInputOption>\n );\n }\n break;\n }\n case 'group': {\n return <SelectInputGroupItemView item={item} renderValue={renderValue} needle={needle} />;\n }\n case 'separator': {\n if (needle == null) {\n return <hr className=\"np-select-input-separator-item\" />;\n }\n break;\n }\n }\n return null;\n}\n\ninterface SelectInputGroupItemViewProps<T = string>\n extends SelectInputItemViewProps<T, SelectInputGroupItem<T | undefined>> {}\n\nfunction SelectInputGroupItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputGroupItemViewProps<T>) {\n const headerId = useId();\n\n return (\n // An empty container may be rendered when no options match `needle`\n // However, pre-filtering would result in worse performance overall\n <section\n role=\"group\"\n aria-labelledby={headerId}\n className={classNames(needle === null && 'np-select-input-group-item--without-needle')}\n >\n {needle == null ? (\n <header\n id={headerId}\n role=\"none\"\n className=\"np-select-input-group-item-header np-text-title-group\"\n >\n {item.label}\n </header>\n ) : null}\n {item.options.map((option, index) => (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={option}\n renderValue={renderValue}\n needle={needle}\n />\n ))}\n </section>\n );\n}\n\ninterface SelectInputOptionProps<T = string> {\n value: T;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\nfunction SelectInputOption<T = string>({ value, disabled, children }: SelectInputOptionProps<T>) {\n return (\n <ListboxBase.Option\n as=\"div\"\n value={value}\n disabled={disabled}\n className={({ active, disabled: uiDisabled }) =>\n classNames(\n 'np-select-input-option-container np-text-body-large',\n active && 'np-select-input-option-container--active',\n uiDisabled && 'np-select-input-option-container--disabled',\n )\n }\n >\n {({ selected }) => (\n <>\n <div className=\"np-select-input-option\">{children}</div>\n <Check\n size={16}\n className={classNames(\n 'np-select-input-option-check',\n !selected && 'np-select-input-option-check--not-selected',\n )}\n />\n </>\n )}\n </ListboxBase.Option>\n );\n}\n\nexport interface SelectInputOptionContentProps {\n title: string;\n note?: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport function SelectInputOptionContent({\n title,\n note,\n description,\n icon,\n}: SelectInputOptionContentProps) {\n const withinTrigger = useContext(SelectInputOptionContentWithinTriggerContext);\n\n return (\n <div\n className={classNames(\n 'np-select-input-option-content-container',\n (note || description) && 'np-text-body-large',\n )}\n >\n {icon ? (\n <div\n className={classNames(\n 'np-select-input-option-content-icon',\n !withinTrigger && 'np-select-input-option-content-icon--not-within-trigger',\n )}\n >\n {icon}\n </div>\n ) : null}\n\n <div className=\"np-select-input-option-content-text\">\n <div\n className={classNames(\n 'np-select-input-option-content-text-line-1',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n <h4 className=\"np-select-input-option-content-text-primary d-inline\">{title}</h4>\n {note ? (\n <span className=\"np-select-input-option-content-text-secondary np-text-body-default\">\n {note}\n </span>\n ) : null}\n </div>\n\n {description ? (\n <div\n className={classNames(\n 'np-select-input-option-content-text-secondary np-text-body-default',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n {description}\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n","import classNames from 'classnames';\nimport { forwardRef } from 'react';\n\nimport { Merge } from '../utils';\n\nimport { formControlClassNameBase } from './_common';\n\nexport interface TextAreaProps\n extends Merge<\n React.ComponentPropsWithRef<'textarea'>,\n {\n 'aria-invalid'?: boolean;\n }\n > {}\n\nexport const TextArea = forwardRef(function TextArea(\n { className, ...restProps }: TextAreaProps,\n reference: React.ForwardedRef<HTMLTextAreaElement>,\n) {\n return (\n <textarea\n ref={reference}\n className={classNames(className, formControlClassNameBase(), 'np-text-area')}\n {...restProps}\n />\n );\n});\n","import { CrossCircleFill as DontIcon, CheckCircleFill as DoIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\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={classNames('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\n className=\"instruction\"\n aria-label={isInstructionNode ? (item['aria-label'] as string) : undefined}\n >\n {type === 'do' ? (\n <DoIcon size={24} className={type} />\n ) : (\n <DontIcon size={24} className={type} />\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","import classNames from 'classnames';\nimport { ElementType, FC, ReactNode } from 'react';\n\nimport Body from '../body/Body';\n\ntype ListItemProps = {\n title: ReactNode;\n value: ReactNode;\n media?: ReactNode;\n action?: ReactNode;\n className?: string;\n isContainerAligned?: boolean;\n as?: ElementType;\n};\n\nconst ListItem: FC<ListItemProps> = ({\n media,\n action,\n className,\n title,\n value,\n isContainerAligned,\n as = 'li',\n ...rest\n}) => {\n const Element = as;\n\n return (\n <Element\n className={classNames('np-list-item d-flex align-items-center p-y-2', className, {\n 'p-x-2': !isContainerAligned,\n })}\n {...rest}\n >\n {media}\n\n <div className={classNames('d-flex flex-column', { 'p-l-2': !!media, 'p-r-2': !!action })}>\n <Body type=\"body-default\" className=\"text-secondary m-b-0\">\n {title}\n </Body>\n {value && (\n <Body type=\"body-large\" className=\"text-primary m-b-0\">\n {value}\n </Body>\n )}\n </div>\n\n {action ? <div className=\"np-list-item__action m-l-auto\">{action}</div> : null}\n </Element>\n );\n};\n\nexport default ListItem;\n","import { useTheme } from '@wise/components-theming';\nimport classnames from 'classnames';\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={classnames(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","import { formatMoney } from '@transferwise/formatting';\nimport { useIntl } from 'react-intl';\n\nexport interface MoneyProps {\n amount: number;\n currency: string;\n}\n\nconst Money = ({ amount, currency }: MoneyProps) => {\n const { locale } = useIntl();\n return <>{formatMoney(amount, currency, locale)}</>;\n};\n\nexport default Money;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectPlaceholder: {\n id: 'neptune.MoneyInput.Select.placeholder',\n defaultMessage: 'Select an option...',\n },\n});\n","import { formatAmount } from '@transferwise/formatting';\n\nimport { DEFAULT_LOCALE } from '../common/locale';\n\nexport { formatAmount };\n\n// TODO: do not duplicate this between formatting and components\nconst currencyDecimals: Record<string, number> = {\n BIF: 0,\n BYR: 0,\n CLP: 0,\n DJF: 0,\n GNF: 0,\n JPY: 0,\n KMF: 0,\n KRW: 0,\n MGA: 0,\n PYG: 0,\n RWF: 0,\n VND: 0,\n VUV: 0,\n XAF: 0,\n XOF: 0,\n XPF: 0,\n // technically HUF does have decimals, but due to the exchange rate banks\n // do not accept decimal amounts\n HUF: 0,\n\n BHD: 3,\n JOD: 3,\n KWD: 3,\n OMR: 3,\n TND: 3,\n};\n\nconst DEFAULT_CURRENCY_DECIMALS = 2;\n\nfunction isNumberLocaleSupported() {\n const number = 1234;\n const numberString = number.toLocaleString && number.toLocaleString(DEFAULT_LOCALE);\n return numberString === '1,234';\n}\n\nfunction getValidLocale(locale: string) {\n try {\n const noUnderscoreLocale = locale.replace(/_/, '-');\n\n Intl.NumberFormat(noUnderscoreLocale);\n return noUnderscoreLocale;\n } catch {\n return DEFAULT_LOCALE;\n }\n}\n\nfunction getCurrencyDecimals(currency: string) {\n const upperCaseCurrency = currency.toUpperCase();\n return currencyDecimals[upperCaseCurrency] ?? DEFAULT_CURRENCY_DECIMALS;\n}\n\nfunction getDecimalSeparator(locale: string) {\n return isNumberLocaleSupported() ? (1.1).toLocaleString(locale)[1] : '.';\n}\n\nexport function parseAmount(number: string, currency: string, locale = DEFAULT_LOCALE) {\n const validLocale = getValidLocale(locale);\n\n const precision = getCurrencyDecimals(currency);\n const groupSeparator = isNumberLocaleSupported() ? (10000).toLocaleString(validLocale)[2] : ',';\n const decimalSeparator = getDecimalSeparator(validLocale);\n const numberWithStandardDecimalSeparator = (number ? `${number}` : '')\n .replace(new RegExp(`\\\\${groupSeparator}`, 'g'), '')\n .replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.')\n .replace(/[^0-9.]/g, '');\n const parsedAmount = parseFloat(\n parseFloat(numberWithStandardDecimalSeparator).toFixed(precision),\n );\n return Math.abs(parsedAmount);\n}\n","import { isEmpty, isNumber, isNull } from '@transferwise/neptune-validation';\nimport { Flag } from '@wise/art';\nimport classNames from 'classnames';\nimport { Component } from 'react';\nimport { injectIntl, WrappedComponentProps } from 'react-intl';\n\nimport { Typography } from '../common';\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common/propsValues/size';\nimport { Input } from '../inputs/Input';\nimport {\n SelectInput,\n SelectInputItem,\n SelectInputOptionContent,\n SelectInputOptionItem,\n SelectInputProps,\n} from '../inputs/SelectInput';\nimport Title from '../title';\n\nimport messages from './MoneyInput.messages';\nimport { formatAmount, parseAmount } from './currencyFormatting';\n\nexport interface CurrencyOptionItem {\n header?: never;\n value: string;\n label: string;\n currency: string;\n note?: string;\n searchable?: string;\n}\n\nexport interface CurrencyHeaderItem {\n header: string;\n}\n\nexport type CurrencyItem = CurrencyOptionItem | CurrencyHeaderItem;\n\nconst isNumberOrNull = (v: unknown): v is number | null => isNumber(v) || isNull(v);\n\nconst formatAmountIfSet = ({\n amount,\n currency,\n locale,\n maxLengthOverride,\n}: {\n amount: number | null | undefined;\n currency: string;\n locale: string;\n maxLengthOverride?: number;\n}) => {\n if (maxLengthOverride) {\n return amount != null ? String(amount) : '';\n } else {\n return typeof amount === 'number' ? formatAmount(amount, currency, locale) : '';\n }\n};\n\nconst parseNumber = ({\n amount,\n currency,\n locale,\n maxLengthOverride,\n}: {\n amount: string;\n currency: string;\n locale: string;\n maxLengthOverride?: number;\n}) => {\n if (!maxLengthOverride) {\n return parseAmount(amount, currency, locale);\n }\n if (maxLengthOverride && amount.length > maxLengthOverride) {\n return 0;\n }\n return Number(amount);\n};\n\nconst allowedInputKeys = new Set([\n 'Backspace',\n 'Delete',\n ',',\n '.',\n 'ArrowDown',\n 'ArrowUp',\n 'ArrowLeft',\n 'ArrowRight',\n 'Enter',\n 'Escape',\n 'Tab',\n]);\n\nexport interface MoneyInputProps extends WrappedComponentProps {\n id?: string;\n 'aria-labelledby'?: string;\n currencies: readonly CurrencyItem[];\n selectedCurrency: CurrencyOptionItem;\n onCurrencyChange?: (value: CurrencyOptionItem) => void;\n placeholder?: number;\n amount: number | null;\n size?: SizeSmall | SizeMedium | SizeLarge;\n onAmountChange?: (value: number | null) => void;\n addon?: React.ReactNode;\n searchPlaceholder?: string;\n /**\n * Allows the consumer to react to searching, while the search itself is handled internally.\n */\n onSearchChange?: (value: { searchQuery: string; filteredOptions: CurrencyItem[] }) => void;\n customActionLabel?: React.ReactNode;\n onCustomAction?: () => void;\n classNames?: Record<string, string>;\n selectProps?: Partial<SelectInputProps<CurrencyOptionItem>>;\n maxLengthOverride?: number;\n}\n\ninterface MoneyInputState {\n searchQuery: string;\n formattedAmount: string;\n locale: string;\n}\n\nclass MoneyInput extends Component<MoneyInputProps, MoneyInputState> {\n declare props: MoneyInputProps &\n Required<Pick<MoneyInputProps, keyof typeof MoneyInput.defaultProps>>;\n\n static defaultProps = {\n size: Size.LARGE,\n classNames: {},\n selectProps: {},\n } satisfies Partial<MoneyInputProps>;\n\n amountFocused = false;\n\n constructor(props: MoneyInputProps) {\n super(props);\n this.state = {\n searchQuery: '',\n formattedAmount: formatAmountIfSet({\n amount: props.amount,\n currency: props.selectedCurrency.currency,\n locale: props.intl.locale,\n maxLengthOverride: props.maxLengthOverride,\n }),\n locale: props.intl.locale,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps: MoneyInputProps) {\n this.setState({ locale: nextProps.intl.locale });\n\n if (!this.amountFocused) {\n this.setState({\n formattedAmount: formatAmountIfSet({\n amount: nextProps.amount,\n currency: nextProps.selectedCurrency.currency,\n locale: nextProps.intl.locale,\n maxLengthOverride: nextProps.maxLengthOverride,\n }),\n });\n }\n }\n\n isInputAllowedForKeyEvent = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const { metaKey, key, ctrlKey } = event;\n const isNumberKey = isNumber(parseInt(key, 10));\n\n return isNumberKey || metaKey || ctrlKey || allowedInputKeys.has(key);\n };\n\n handleKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n if (!this.isInputAllowedForKeyEvent(event)) {\n event.preventDefault();\n }\n };\n\n handlePaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const paste = event.clipboardData.getData('text');\n const { locale } = this.state;\n const parsed = isEmpty(paste)\n ? null\n : parseNumber({\n amount: paste,\n currency: this.props.selectedCurrency.currency,\n locale: locale,\n maxLengthOverride: this.props.maxLengthOverride,\n });\n\n if (isNumberOrNull(parsed)) {\n this.setState({\n formattedAmount: formatAmountIfSet({\n amount: parsed,\n currency: this.props.selectedCurrency.currency,\n locale: locale,\n maxLengthOverride: this.props.maxLengthOverride,\n }),\n });\n this.props.onAmountChange?.(parsed);\n }\n\n event.preventDefault();\n };\n\n onAmountChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { value } = event.target;\n this.setState({\n formattedAmount: value,\n });\n const parsed = isEmpty(value)\n ? null\n : parseNumber({\n amount: value,\n currency: this.props.selectedCurrency.currency,\n locale: this.state.locale,\n maxLengthOverride: this.props.maxLengthOverride,\n });\n if (isNumberOrNull(parsed)) {\n this.props.onAmountChange?.(parsed);\n }\n };\n\n onAmountBlur = () => {\n this.amountFocused = false;\n this.setAmount();\n };\n\n onAmountFocus = () => {\n this.amountFocused = true;\n };\n\n getSelectOptions() {\n const selectOptions = filterCurrenciesForQuery(this.props.currencies, this.state.searchQuery);\n\n const formattedOptions: SelectInputItem<CurrencyOptionItem>[] = [];\n let currentGroupOptions: SelectInputOptionItem<CurrencyOptionItem>[] | undefined;\n\n selectOptions.forEach((item) => {\n if (item.header != null) {\n currentGroupOptions = [];\n formattedOptions.push({\n type: 'group',\n label: item.header,\n options: currentGroupOptions,\n });\n } else {\n (currentGroupOptions ?? formattedOptions).push({\n type: 'option',\n value: item,\n filterMatchers: [item.value, item.label, item.note ?? '', item.searchable ?? ''],\n });\n }\n });\n\n return formattedOptions;\n }\n\n setAmount() {\n this.setState((previousState) => {\n const parsed = parseNumber({\n amount: previousState.formattedAmount,\n currency: this.props.selectedCurrency.currency,\n locale: previousState.locale,\n maxLengthOverride: this.props.maxLengthOverride,\n });\n if (!isNumberOrNull(parsed)) {\n return {\n formattedAmount: previousState.formattedAmount,\n };\n }\n return {\n formattedAmount: formatAmountIfSet({\n amount: parsed,\n currency: this.props.selectedCurrency.currency,\n locale: previousState.locale,\n maxLengthOverride: this.props.maxLengthOverride,\n }),\n };\n });\n }\n\n handleSelectChange = (value: CurrencyOptionItem) => {\n this.handleSearchChange('');\n this.props.onCurrencyChange?.(value);\n };\n\n handleCustomAction = () => {\n this.handleSearchChange('');\n this.props.onCustomAction?.();\n };\n\n handleSearchChange = (searchQuery: string) => {\n this.setState({ searchQuery });\n this.props.onSearchChange?.({\n searchQuery,\n filteredOptions: filterCurrenciesForQuery(this.props.currencies, searchQuery),\n });\n };\n\n style = (className: string) => this.props.classNames[className] || className;\n\n render() {\n const {\n selectedCurrency,\n onCurrencyChange,\n size,\n addon,\n id,\n 'aria-labelledby': ariaLabelledBy,\n selectProps,\n maxLengthOverride,\n } = this.props;\n const selectOptions = this.getSelectOptions();\n\n const hasSingleCurrency = () => {\n if (selectOptions.length !== 0) {\n const firstItem = selectOptions[0];\n\n if (selectOptions.length === 1) {\n if (firstItem.type === 'option') {\n return firstItem.value.currency === selectedCurrency.currency;\n }\n if (firstItem.type === 'group') {\n return (\n firstItem.options.length === 1 &&\n !(this.props.onCustomAction && this.props.customActionLabel)\n );\n }\n }\n } else if (selectedCurrency?.currency) {\n return true;\n }\n\n return false;\n };\n\n const isFixedCurrency = (!this.state.searchQuery && hasSingleCurrency()) || !onCurrencyChange;\n\n const disabled = !this.props.onAmountChange;\n return (\n <div\n aria-labelledby={ariaLabelledBy}\n className={classNames(\n this.style('tw-money-input'),\n this.style('input-group'),\n this.style(`input-group-${size}`),\n )}\n >\n <Input\n id={id}\n value={this.state.formattedAmount}\n inputMode=\"decimal\"\n disabled={disabled}\n maxLength={maxLengthOverride}\n placeholder={formatAmountIfSet({\n amount: this.props.placeholder,\n currency: this.props.selectedCurrency.currency,\n locale: this.state.locale,\n maxLengthOverride: this.props.maxLengthOverride,\n })}\n autoComplete=\"off\"\n onKeyDown={this.handleKeyDown}\n onChange={this.onAmountChange}\n onFocus={this.onAmountFocus}\n onBlur={this.onAmountBlur}\n onPaste={this.handlePaste}\n />\n {addon && (\n <span\n className={classNames(\n this.style('input-group-addon'),\n this.style(`input-${size}`),\n disabled ? this.style('disabled') : '',\n )}\n >\n {addon}\n </span>\n )}\n {isFixedCurrency ? (\n <div\n className={classNames(\n this.style('input-group-addon'),\n this.style(`input-${size}`),\n this.style('tw-money-input__fixed-currency'),\n disabled ? this.style('disabled') : '',\n )}\n >\n {(size === 'lg' || size === 'md') && (\n <span\n className={classNames(this.style('money-input-currency-flag'), this.style('m-r-2'))}\n >\n <Flag code={selectedCurrency.currency.toLowerCase()} intrinsicSize={24} />\n </span>\n )}\n <Title\n as=\"span\"\n type={Typography.TITLE_SUBSECTION}\n className={size === 'lg' ? this.style('m-r-1') : ''}\n >\n {selectedCurrency.currency.toUpperCase()}\n </Title>\n </div>\n ) : (\n <div\n className={classNames(\n this.style('input-group-btn'),\n this.style('amount-currency-select-btn'),\n )}\n >\n <SelectInput\n items={selectOptions}\n value={selectedCurrency}\n compareValues=\"currency\"\n renderValue={(currency, withinTrigger) => {\n return (\n <SelectInputOptionContent\n title={withinTrigger ? currency.currency.toUpperCase() : currency.label}\n note={withinTrigger ? undefined : currency.note}\n icon={<Flag code={currency.currency} intrinsicSize={24} />}\n />\n );\n }}\n renderFooter={\n this.props.onCustomAction\n ? () => (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div role=\"button\" tabIndex={0} onClick={this.handleCustomAction}>\n {this.props.customActionLabel}\n </div>\n )\n : undefined\n }\n placeholder={this.props.intl.formatMessage(messages.selectPlaceholder)}\n filterable\n filterPlaceholder={this.props.searchPlaceholder}\n disabled={disabled}\n size={size}\n onChange={this.handleSelectChange}\n onFilterChange={({ queryNormalized }) => {\n this.handleSearchChange(queryNormalized ?? '');\n }}\n {...selectProps}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nfunction filterCurrenciesForQuery(\n currencies: readonly CurrencyItem[],\n query: string,\n): CurrencyItem[] {\n if (!query) {\n return [...currencies];\n }\n\n const options = currencies.filter(\n (option): option is CurrencyOptionItem => option.header == null,\n );\n const filteredOptions = removeDuplicateValueOptions(options).filter((option) =>\n currencyOptionFitsQuery(option, query),\n );\n\n return sortOptionsLabelsToFirst(filteredOptions, query);\n}\n\nfunction removeDuplicateValueOptions(options: readonly CurrencyOptionItem[]) {\n const uniqueValues = new Set<string>();\n return options.filter((option) => {\n if (!uniqueValues.has(option.value)) {\n uniqueValues.add(option.value);\n return true;\n }\n return false;\n });\n}\n\nfunction currencyOptionFitsQuery(option: CurrencyOptionItem, query: string) {\n if (!option.value) {\n return false;\n }\n\n return (\n contains(option.label, query) ||\n contains(option.searchable, query) ||\n contains(option.note, query)\n );\n}\n\nfunction contains(property: string | undefined, query: string) {\n return property && property.toLowerCase().includes(query.toLowerCase());\n}\n\nfunction sortOptionsLabelsToFirst(options: readonly CurrencyOptionItem[], query: string) {\n return [...options].sort((first, second) => {\n const firstContains = contains(first.label, query);\n const secondContains = contains(second.label, query);\n\n if (firstContains && secondContains) {\n return 0;\n }\n if (firstContains) {\n return -1;\n }\n if (secondContains) {\n return 1;\n }\n return 0;\n });\n}\n\nexport default injectIntl(MoneyInput);\n","import * as React from 'react';\nimport { Children } from 'react';\n\nexport interface NavigationOptionListProps {\n children: React.ReactNode;\n}\n\nconst NavigationOptionList = ({ children }: NavigationOptionListProps) => {\n return (\n <ul className=\"np-navigation-options-list\">\n {Children.map(children, (child) => (\n <li key={child?.toString()} className=\"np-navigation-options-list__item\">\n {child}\n </li>\n ))}\n </ul>\n );\n};\n\nexport default NavigationOptionList;\n","import { Illustration, Assets, IllustrationNames } from '@wise/art';\nimport classNames from 'classnames';\nimport { ReactNode, useEffect, useState, MouseEvent } from 'react';\n\nimport Body from '../body';\nimport { Size, Typography } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport Link from '../link';\n\n// WARNING: Changing this will cause nudges to reappear wherever persist nudge is used and privacy team will need to be updated too\nexport const STORAGE_NAME = 'dismissedNudges';\n\nconst getLocalStorage = (): string[] => {\n try {\n const storageItem = localStorage.getItem(STORAGE_NAME);\n\n if (storageItem) {\n const storage: unknown = JSON.parse(storageItem);\n\n if (Array.isArray(storage)) {\n return storage.map((item) => String(item));\n }\n }\n // eslint-disable-next-line unicorn/prefer-optional-catch-binding, no-empty\n } catch (error) {}\n\n return [];\n};\n\ntype MediaNameType =\n | `${Assets.GLOBE}`\n | `${Assets.LOCK}`\n | `${Assets.WALLET}`\n | `${Assets.GEAR}`\n | `${Assets.INVITE_LETTER}`\n | `${Assets.PERSONAL_CARD}`\n | `${Assets.BUSINESS_CARD}`\n | `${Assets.HEART}`\n | `${Assets.MULTI_CURRENCY}`\n | `${Assets.SHOPPING_BAG}`;\n\ntype BaseProps = {\n /** @deprecated use `mediaName` property instead */\n media?: ReactNode;\n /** Media name */\n mediaName?: MediaNameType;\n title: ReactNode;\n /** Element inside link */\n link?: ReactNode;\n /** Href for the link */\n href?: string;\n /** Fired when the user clicks on the link */\n onClick?: (event?: MouseEvent<HTMLSpanElement>) => void;\n /** Fired when the user clicks on close button */\n onDismiss?: () => void;\n className?: string;\n};\n\nexport interface OptionalId extends BaseProps {\n id?: string;\n persistDismissal?: false;\n isPreviouslyDismissed?: undefined;\n}\n\nexport interface RequiredPersistProps extends BaseProps {\n /** This ID should be completely unique to the page and feature as it uses a shared array which could conflict with other nudges in Wise */\n id: string;\n /** Use persist dismissal to keep the nudge dismissed using the browser's localStorage */\n persistDismissal: true;\n /**\n * Fired on mount for determining if nudge has been dismissed before\n *\n * @param {boolean} value - set to true if dismissed previously\n */\n isPreviouslyDismissed?: (value: boolean) => void;\n}\n\nexport type Props = OptionalId | RequiredPersistProps;\n\nconst Nudge = ({\n media,\n mediaName,\n title,\n link,\n href,\n onClick,\n onDismiss,\n persistDismissal,\n isPreviouslyDismissed,\n id,\n className,\n}: Props) => {\n const [isDismissed, setIsDismissed] = useState(false);\n const [isMounted, setIsMounted] = useState(false);\n\n const handleOnDismiss = () => {\n const dismissedNudgesStorage = getLocalStorage();\n\n if (persistDismissal && id) {\n try {\n localStorage.setItem(STORAGE_NAME, JSON.stringify([...dismissedNudgesStorage, id]));\n // eslint-disable-next-line unicorn/prefer-optional-catch-binding, no-empty\n } catch (error) {}\n\n setIsDismissed(true);\n }\n\n if (onDismiss) {\n onDismiss();\n }\n };\n\n useEffect(() => {\n if (persistDismissal && id) {\n const dismissedNudgesStorage = getLocalStorage();\n let isDismissed = false;\n\n if (dismissedNudgesStorage?.find((item) => item === id)) {\n setIsDismissed(true);\n isDismissed = true;\n }\n\n if (isPreviouslyDismissed) {\n isPreviouslyDismissed(isDismissed);\n }\n }\n\n setIsMounted(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [id, persistDismissal]);\n\n if (persistDismissal && (isDismissed || !isMounted)) {\n return null;\n }\n\n return (\n <div className={classNames('wds-nudge', className)} id={id}>\n {!!mediaName && (\n <div className=\"wds-nudge-media\">\n <Illustration\n name={mediaName as IllustrationNames}\n className={classNames(`wds-nudge-media-${mediaName}`)}\n size=\"small\"\n disablePadding\n alt=\"\"\n />\n </div>\n )}\n <div className=\"wds-nudge-container\">\n <div className=\"wds-nudge-content\">\n <Body type={Typography.BODY_LARGE} className={classNames('wds-nudge-body')}>\n {title}\n </Body>\n {link && (\n <Link\n href={href}\n type={Typography.LINK_LARGE}\n className=\"wds-nudge-link\"\n onClick={onClick}\n >\n {link}\n </Link>\n )}\n </div>\n {onDismiss || persistDismissal ? (\n <CloseButton className=\"wds-nudge-control\" size=\"sm\" onClick={handleOnDismiss} />\n ) : null}\n </div>\n </div>\n );\n};\n\nexport default Nudge;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Size } from '../common';\nimport { CloseButton } from '../common/closeButton';\nimport FlowHeader from '../common/flowHeader';\nimport Logo from '../logo';\n\nconst OverlayHeader = ({ avatar, onClose, logo }) => {\n const closeButton = onClose && <CloseButton size={Size.LARGE} onClick={onClose} />;\n return (\n <div className=\"np-overlay-header d-flex justify-content-center\">\n <FlowHeader\n className=\"np-overlay-header__content p-a-3\"\n leftContent={logo}\n rightContent={\n <div className={classNames('d-flex', 'align-items-center', 'order-2')}>\n {avatar}\n {avatar && closeButton && <span className={classNames('m-x-1')} />}\n {closeButton}\n </div>\n }\n />\n </div>\n );\n};\n\nOverlayHeader.defaultProps = {\n avatar: null,\n logo: <Logo />,\n onClose: null,\n};\n\nOverlayHeader.propTypes = {\n /** An Avatar */\n avatar: PropTypes.element,\n logo: PropTypes.node,\n /** Function called when the close is clicked */\n onClose: PropTypes.func,\n};\n\nexport default OverlayHeader;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n selectInputPlaceholder: {\n id: 'neptune.PhoneNumberInput.SelectInput.placeholder',\n defaultMessage: 'Select an option...',\n },\n});\n","export type Country = {\n name: string;\n iso2: string;\n iso3: string;\n phone: string;\n phoneFormat?: string;\n};\n\nconst countries: Country[] = [\n {\n name: 'Afghanistan',\n iso2: 'AF',\n iso3: 'AFG',\n phone: '+93',\n },\n {\n name: 'Åland Islands',\n iso2: 'AX',\n iso3: 'ALA',\n phone: '+358',\n },\n {\n name: 'Albania',\n iso2: 'AL',\n iso3: 'ALB',\n phone: '+355',\n },\n {\n name: 'Algeria',\n iso2: 'DZ',\n iso3: 'DZA',\n phone: '+213',\n },\n {\n name: 'American Samoa',\n iso2: 'AS',\n iso3: 'ASM',\n phone: '+1684',\n },\n {\n name: 'Andorra',\n iso2: 'AD',\n iso3: 'AND',\n phone: '+376',\n },\n {\n name: 'Angola',\n iso2: 'AO',\n iso3: 'AGO',\n phone: '+244',\n },\n {\n name: 'Anguilla',\n iso2: 'AI',\n iso3: 'AIA',\n phone: '+1264',\n },\n {\n name: 'Antarctica',\n iso2: 'AQ',\n iso3: 'ATA',\n phone: '+672',\n },\n {\n name: 'Antigua',\n iso2: 'AG',\n iso3: 'ATG',\n phone: '+1268',\n },\n {\n name: 'Argentina',\n iso2: 'AR',\n iso3: 'ARG',\n phone: '+54',\n },\n {\n name: 'Armenia',\n iso2: 'AM',\n iso3: 'ARM',\n phone: '+374',\n },\n {\n name: 'Aruba',\n iso2: 'AW',\n iso3: 'ABW',\n phone: '+297',\n },\n {\n name: 'Ascension Island',\n iso2: 'SH',\n iso3: 'SHN',\n phone: '+247',\n },\n {\n name: 'Australia',\n iso2: 'AU',\n iso3: 'AUS',\n phone: '+61',\n },\n {\n name: 'Australian Antarctic Territory',\n iso2: 'AQ',\n iso3: 'ATA',\n phone: '+672',\n },\n {\n name: 'Austria',\n iso2: 'AT',\n iso3: 'AUT',\n phone: '+43',\n },\n {\n name: 'Azerbaijan',\n iso2: 'AZ',\n iso3: 'AZE',\n phone: '+994',\n },\n {\n name: 'Bahamas',\n iso2: 'BS',\n iso3: 'BHS',\n phone: '+1242',\n },\n {\n name: 'Bahrain',\n iso2: 'BH',\n iso3: 'BHR',\n phone: '+973',\n },\n {\n name: 'Bangladesh',\n iso2: 'BD',\n iso3: 'BGD',\n phone: '+880',\n },\n {\n name: 'Barbados',\n iso2: 'BB',\n iso3: 'BRB',\n phone: '+1246',\n },\n {\n name: 'Belarus',\n iso2: 'BY',\n iso3: 'BLR',\n phone: '+375',\n },\n {\n name: 'Belgium',\n iso2: 'BE',\n iso3: 'BEL',\n phone: '+32',\n },\n {\n name: 'Belize',\n iso2: 'BZ',\n iso3: 'BLZ',\n phone: '+501',\n },\n {\n name: 'Benin',\n iso2: 'BJ',\n iso3: 'BEN',\n phone: '+229',\n },\n {\n name: 'Bermuda',\n iso2: 'BM',\n iso3: 'BMU',\n phone: '+1441',\n },\n {\n name: 'Bhutan',\n iso2: 'BT',\n iso3: 'BTN',\n phone: '+975',\n },\n {\n name: 'Bolivia',\n iso2: 'BO',\n iso3: 'BOL',\n phone: '+591',\n },\n {\n name: 'Bonaire, Sint Eustatius and Saba',\n iso2: 'BQ',\n iso3: 'BES',\n phone: '+599',\n },\n {\n name: 'Bosnia and Herzegovina',\n iso2: 'BA',\n iso3: 'BIH',\n phone: '+387',\n },\n {\n name: 'Botswana',\n iso2: 'BW',\n iso3: 'BWA',\n phone: '+267',\n },\n {\n name: 'Brazil',\n iso2: 'BR',\n iso3: 'BRA',\n phone: '+55',\n },\n {\n name: 'British Virgin Islands',\n iso2: 'VG',\n iso3: 'VGB',\n phone: '+1284',\n },\n {\n name: 'Brunei',\n iso2: 'BN',\n iso3: 'BRN',\n phone: '+673',\n },\n {\n name: 'Bulgaria',\n iso2: 'BG',\n iso3: 'BGR',\n phone: '+359',\n },\n {\n name: 'Burkina Faso',\n iso2: 'BF',\n iso3: 'BFA',\n phone: '+226',\n },\n {\n name: 'Burundi',\n iso2: 'BI',\n iso3: 'BDI',\n phone: '+257',\n },\n {\n name: 'Cambodia',\n iso2: 'KH',\n iso3: 'KHM',\n phone: '+855',\n },\n {\n name: 'Cameroon',\n iso2: 'CM',\n iso3: 'CMR',\n phone: '+237',\n },\n {\n name: 'Canada',\n iso2: 'CA',\n iso3: 'CAN',\n phone: '+1',\n },\n {\n name: 'Cape Verde',\n iso2: 'CV',\n iso3: 'CPV',\n phone: '+238',\n },\n {\n name: 'Cayman Islands',\n iso2: 'KY',\n iso3: 'CYM',\n phone: '+1345',\n },\n {\n name: 'Central African Republic',\n iso2: 'CF',\n iso3: 'CAF',\n phone: '+236',\n },\n {\n name: 'Chad',\n iso2: 'TD',\n iso3: 'TCD',\n phone: '+235',\n },\n {\n name: 'Chile',\n iso2: 'CL',\n iso3: 'CHL',\n phone: '+56',\n },\n {\n name: 'China',\n iso2: 'CN',\n iso3: 'CHN',\n phone: '+86',\n },\n {\n name: 'Christmas Island',\n iso2: 'CX',\n iso3: 'CXR',\n phone: '+61',\n },\n {\n name: 'Cocos (Keeling) Islands',\n iso2: 'CC',\n iso3: 'CCK',\n phone: '+61',\n },\n {\n name: 'Colombia',\n iso2: 'CO',\n iso3: 'COL',\n phone: '+57',\n },\n {\n name: 'Comoros',\n iso2: 'KM',\n iso3: 'COM',\n phone: '+269',\n },\n {\n name: 'Congo',\n iso2: 'CG',\n iso3: 'COG',\n phone: '+242',\n },\n {\n name: 'Cook Islands',\n iso2: 'CK',\n iso3: 'COK',\n phone: '+682',\n },\n {\n name: 'Costa Rica',\n iso2: 'CR',\n iso3: 'CRI',\n phone: '+506',\n },\n {\n name: 'Croatia',\n iso2: 'HR',\n iso3: 'HRV',\n phone: '+385',\n },\n {\n name: 'Cuba',\n iso2: 'CU',\n iso3: 'CUB',\n phone: '+53',\n },\n {\n name: 'Curaçao',\n iso2: 'CW',\n iso3: 'CUW',\n phone: '+599',\n },\n {\n name: 'Cyprus',\n iso2: 'CY',\n iso3: 'CYP',\n phone: '+357',\n },\n {\n name: 'Czech Republic',\n iso2: 'CZ',\n iso3: 'CZE',\n phone: '+420',\n },\n {\n name: 'Democratic Republic of the Congo',\n iso2: 'CD',\n iso3: 'COD',\n phone: '+243',\n },\n {\n name: 'Denmark',\n iso2: 'DK',\n iso3: 'DNK',\n phone: '+45',\n },\n {\n name: 'Diego Garcia',\n iso2: 'IO',\n iso3: 'IOT',\n phone: '+246',\n },\n {\n name: 'Djibouti',\n iso2: 'DJ',\n iso3: 'DJI',\n phone: '+253',\n },\n {\n name: 'Dominica',\n iso2: 'DM',\n iso3: 'DMA',\n phone: '+1767',\n },\n {\n name: 'Dominican Republic',\n iso2: 'DO',\n iso3: 'DOM',\n phone: '+1809',\n },\n {\n name: 'Dominican Republic',\n iso2: 'DO',\n iso3: 'DOM',\n phone: '+1829',\n },\n {\n name: 'Dominican Republic',\n iso2: 'DO',\n iso3: 'DOM',\n phone: '+1849',\n },\n {\n name: 'East Timor',\n iso2: 'TL',\n iso3: 'TLS',\n phone: '+670',\n },\n {\n name: 'Ecuador',\n iso2: 'EC',\n iso3: 'ECU',\n phone: '+593',\n },\n {\n name: 'Egypt',\n iso2: 'EG',\n iso3: 'EGY',\n phone: '+20',\n },\n {\n name: 'El Salvador',\n iso2: 'SV',\n iso3: 'SLV',\n phone: '+503',\n },\n {\n name: 'Equatorial Guinea',\n iso2: 'GQ',\n iso3: 'GNQ',\n phone: '+240',\n },\n {\n name: 'Eritrea',\n iso2: 'ER',\n iso3: 'ERI',\n phone: '+291',\n },\n {\n name: 'Estonia',\n iso2: 'EE',\n iso3: 'EST',\n phone: '+372',\n },\n {\n name: 'Ethiopia',\n iso2: 'ET',\n iso3: 'ETH',\n phone: '+251',\n },\n {\n name: 'Falkland Islands',\n iso2: 'FK',\n iso3: 'FLK',\n phone: '+500',\n },\n {\n name: 'Faroe Islands',\n iso2: 'FO',\n iso3: 'FRO',\n phone: '+298',\n },\n {\n name: 'Fiji',\n iso2: 'FJ',\n iso3: 'FJI',\n phone: '+679',\n },\n {\n name: 'Finland',\n iso2: 'FI',\n iso3: 'FIN',\n phone: '+358',\n },\n {\n name: 'France',\n iso2: 'FR',\n iso3: 'FRA',\n phone: '+33',\n },\n {\n name: 'French Guiana',\n iso2: 'GF',\n iso3: 'GUF',\n phone: '+594',\n },\n {\n name: 'French Polynesia',\n iso2: 'PF',\n iso3: 'PYF',\n phone: '+689',\n },\n {\n name: 'French Southern Territories',\n iso2: 'TF',\n iso3: 'ATF',\n phone: '+262',\n },\n {\n name: 'Gabon',\n iso2: 'GA',\n iso3: 'GAB',\n phone: '+241',\n },\n {\n name: 'Gambia',\n iso2: 'GM',\n iso3: 'GMB',\n phone: '+220',\n },\n {\n name: 'Georgia',\n iso2: 'GE',\n iso3: 'GEO',\n phone: '+995',\n },\n {\n name: 'Germany',\n iso2: 'DE',\n iso3: 'DEU',\n phone: '+49',\n },\n {\n name: 'Ghana',\n iso2: 'GH',\n iso3: 'GHA',\n phone: '+233',\n },\n {\n name: 'Gibraltar',\n iso2: 'GI',\n iso3: 'GIB',\n phone: '+350',\n },\n {\n name: 'Greece',\n iso2: 'GR',\n iso3: 'GRC',\n phone: '+30',\n },\n {\n name: 'Greenland',\n iso2: 'GL',\n iso3: 'GRL',\n phone: '+299',\n },\n {\n name: 'Grenada',\n iso2: 'GD',\n iso3: 'GRD',\n phone: '+1473',\n },\n {\n name: 'Guadeloupe',\n iso2: 'GP',\n iso3: 'GLP',\n phone: '+596',\n },\n {\n name: 'Guadeloupe',\n iso2: 'GP',\n iso3: 'GLP',\n phone: '+590',\n },\n {\n name: 'Guam',\n iso2: 'GU',\n iso3: 'GUM',\n phone: '+1671',\n },\n {\n name: 'Guatemala',\n iso2: 'GT',\n iso3: 'GTM',\n phone: '+502',\n },\n {\n name: 'Guernsey',\n iso2: 'GG',\n iso3: 'GGY',\n phone: '+44',\n phoneFormat: '**** *** ***',\n },\n {\n name: 'Guinea',\n iso2: 'GN',\n iso3: 'GIN',\n phone: '+224',\n },\n {\n name: 'Guinea-Bissau',\n iso2: 'GW',\n iso3: 'GNB',\n phone: '+245',\n },\n {\n name: 'Guyana',\n iso2: 'GY',\n iso3: 'GUY',\n phone: '+592',\n },\n {\n name: 'Haiti',\n iso2: 'HT',\n iso3: 'HTI',\n phone: '+509',\n },\n {\n name: 'Holy See',\n iso2: 'VA',\n iso3: 'VAT',\n phone: '+379',\n },\n {\n name: 'Honduras',\n iso2: 'HN',\n iso3: 'HND',\n phone: '+504',\n },\n {\n name: 'Hong Kong',\n iso2: 'HK',\n iso3: 'HKG',\n phone: '+852',\n },\n {\n name: 'Hungary',\n iso2: 'HU',\n iso3: 'HUN',\n phone: '+36',\n },\n {\n name: 'Iceland',\n iso2: 'IS',\n iso3: 'ISL',\n phone: '+354',\n },\n {\n name: 'India',\n iso2: 'IN',\n iso3: 'IND',\n phone: '+91',\n },\n {\n name: 'Indonesia',\n iso2: 'ID',\n iso3: 'IDN',\n phone: '+62',\n },\n {\n name: 'Iran',\n iso2: 'IR',\n iso3: 'IRN',\n phone: '+98',\n },\n {\n name: 'Iraq',\n iso2: 'IQ',\n iso3: 'IRQ',\n phone: '+964',\n },\n {\n name: 'Ireland',\n iso2: 'IE',\n iso3: 'IRL',\n phone: '+353',\n },\n {\n name: 'Isle of Man',\n iso2: 'IM',\n iso3: 'IMN',\n phone: '+44',\n },\n {\n name: 'Israel',\n iso2: 'IL',\n iso3: 'ISR',\n phone: '+972',\n },\n {\n name: 'Italy',\n iso2: 'IT',\n iso3: 'ITA',\n phone: '+39',\n },\n {\n name: 'Ivory Coast',\n iso2: 'CI',\n iso3: 'CIV',\n phone: '+225',\n },\n {\n name: 'Jamaica',\n iso2: 'JM',\n iso3: 'JAM',\n phone: '+1876',\n },\n {\n name: 'Japan',\n iso2: 'JP',\n iso3: 'JPN',\n phone: '+81',\n },\n {\n name: 'Jersey',\n iso2: 'JE',\n iso3: 'JEY',\n phone: '+44',\n },\n {\n name: 'Jordan',\n iso2: 'JO',\n iso3: 'JOR',\n phone: '+962',\n },\n {\n name: 'Kazakhstan',\n iso2: 'KZ',\n iso3: 'KAZ',\n phone: '+7',\n },\n {\n name: 'Kenya',\n iso2: 'KE',\n iso3: 'KEN',\n phone: '+254',\n },\n {\n name: 'Kiribati',\n iso2: 'KI',\n iso3: 'KIR',\n phone: '+686',\n },\n {\n name: 'Kosovo',\n iso2: 'XK',\n iso3: 'RKS',\n phone: '+383',\n },\n {\n name: 'Kuwait',\n iso2: 'KW',\n iso3: 'KWT',\n phone: '+965',\n },\n {\n name: 'Kyrgyzstan',\n iso2: 'KG',\n iso3: 'KGZ',\n phone: '+996',\n },\n {\n name: 'Laos',\n iso2: 'LA',\n iso3: 'LAO',\n phone: '+856',\n },\n {\n name: 'Latvia',\n iso2: 'LV',\n iso3: 'LVA',\n phone: '+371',\n },\n {\n name: 'Lebanon',\n iso2: 'LB',\n iso3: 'LBN',\n phone: '+961',\n },\n {\n name: 'Lesotho',\n iso2: 'LS',\n iso3: 'LSO',\n phone: '+266',\n },\n {\n name: 'Liberia',\n iso2: 'LR',\n iso3: 'LBR',\n phone: '+231',\n },\n {\n name: 'Libya',\n iso2: 'LY',\n iso3: 'LBY',\n phone: '+218',\n },\n {\n name: 'Liechtenstein',\n iso2: 'LI',\n iso3: 'LIE',\n phone: '+423',\n },\n {\n name: 'Lithuania',\n iso2: 'LT',\n iso3: 'LTU',\n phone: '+370',\n },\n {\n name: 'Luxembourg',\n iso2: 'LU',\n iso3: 'LUX',\n phone: '+352',\n },\n {\n name: 'Macau',\n iso2: 'MO',\n iso3: 'MAC',\n phone: '+853',\n },\n {\n name: 'Macedonia',\n iso2: 'MK',\n iso3: 'MKD',\n phone: '+389',\n },\n {\n name: 'Madagascar',\n iso2: 'MG',\n iso3: 'MDG',\n phone: '+261',\n },\n {\n name: 'Malawi',\n iso2: 'MW',\n iso3: 'MWI',\n phone: '+265',\n },\n {\n name: 'Malaysia',\n iso2: 'MY',\n iso3: 'MYS',\n phone: '+60',\n },\n {\n name: 'Maldives',\n iso2: 'MV',\n iso3: 'MDV',\n phone: '+960',\n },\n {\n name: 'Mali',\n iso2: 'ML',\n iso3: 'MLI',\n phone: '+223',\n },\n {\n name: 'Malta',\n iso2: 'MT',\n iso3: 'MLT',\n phone: '+356',\n },\n {\n name: 'Marshall Islands',\n iso2: 'MH',\n iso3: 'MHL',\n phone: '+692',\n },\n {\n name: 'Martinique',\n iso2: 'MQ',\n iso3: 'MTQ',\n phone: '+596',\n },\n {\n name: 'Mauritania',\n iso2: 'MR',\n iso3: 'MRT',\n phone: '+222',\n },\n {\n name: 'Mauritius',\n iso2: 'MU',\n iso3: 'MUS',\n phone: '+230',\n },\n {\n name: 'Mayotte',\n iso2: 'YT',\n iso3: 'MYT',\n phone: '+262',\n },\n {\n name: 'Mexico',\n iso2: 'MX',\n iso3: 'MEX',\n phone: '+52',\n },\n {\n name: 'Micronesia',\n iso2: 'FM',\n iso3: 'FSM',\n phone: '+691',\n },\n {\n name: 'Moldova',\n iso2: 'MD',\n iso3: 'MDA',\n phone: '+373',\n },\n {\n name: 'Monaco',\n iso2: 'MC',\n iso3: 'MCO',\n phone: '+377',\n },\n {\n name: 'Mongolia',\n iso2: 'MN',\n iso3: 'MNG',\n phone: '+976',\n },\n {\n name: 'Montenegro',\n iso2: 'ME',\n iso3: 'MNE',\n phone: '+382',\n },\n {\n name: 'Montserrat',\n iso2: 'MS',\n iso3: 'MSR',\n phone: '+1664',\n },\n {\n name: 'Morocco',\n iso2: 'MA',\n iso3: 'MAR',\n phone: '+212',\n },\n {\n name: 'Mozambique',\n iso2: 'MZ',\n iso3: 'MOZ',\n phone: '+258',\n },\n {\n name: 'Myanmar',\n iso2: 'MM',\n iso3: 'MMR',\n phone: '+95',\n },\n {\n name: 'Namibia',\n iso2: 'NA',\n iso3: 'NAM',\n phone: '+264',\n },\n {\n name: 'Nauru',\n iso2: 'NR',\n iso3: 'NRU',\n phone: '+674',\n },\n {\n name: 'Nepal',\n iso2: 'NP',\n iso3: 'NPL',\n phone: '+977',\n },\n {\n name: 'Netherlands',\n iso2: 'NL',\n iso3: 'NLD',\n phone: '+31',\n },\n {\n name: 'Netherlands Antilles',\n iso2: 'AN',\n iso3: 'ANT',\n phone: '+599',\n },\n {\n name: 'New Caledonia',\n iso2: 'NC',\n iso3: 'NCL',\n phone: '+687',\n },\n {\n name: 'New Zealand',\n iso2: 'NZ',\n iso3: 'NZL',\n phone: '+64',\n },\n {\n name: 'Nicaragua',\n iso2: 'NI',\n iso3: 'NIC',\n phone: '+505',\n },\n {\n name: 'Niger',\n iso2: 'NE',\n iso3: 'NER',\n phone: '+227',\n },\n {\n name: 'Nigeria',\n iso2: 'NG',\n iso3: 'NGA',\n phone: '+234',\n },\n {\n name: 'Niue',\n iso2: 'NU',\n iso3: 'NIU',\n phone: '+683',\n },\n {\n name: 'Norfolk Island',\n iso2: 'NF',\n iso3: 'NFK',\n phone: '+672',\n },\n {\n name: 'North Korea',\n iso2: 'KP',\n iso3: 'PRK',\n phone: '+850',\n },\n {\n name: 'Northern Mariana Islands',\n iso2: 'MP',\n iso3: 'MNP',\n phone: '+1670',\n },\n {\n name: 'Norway',\n iso2: 'NO',\n iso3: 'NOR',\n phone: '+47',\n },\n {\n name: 'Oman',\n iso2: 'OM',\n iso3: 'OMN',\n phone: '+968',\n },\n {\n name: 'Pakistan',\n iso2: 'PK',\n iso3: 'PAK',\n phone: '+92',\n },\n {\n name: 'Palau',\n iso2: 'PW',\n iso3: 'PLW',\n phone: '+680',\n },\n {\n name: 'Palestine',\n iso2: 'PS',\n iso3: 'PSE',\n phone: '+970',\n },\n {\n name: 'Panama',\n iso2: 'PA',\n iso3: 'PAN',\n phone: '+507',\n },\n {\n name: 'Papua New Guinea',\n iso2: 'PG',\n iso3: 'PNG',\n phone: '+675',\n },\n {\n name: 'Paraguay',\n iso2: 'PY',\n iso3: 'PRY',\n phone: '+595',\n },\n {\n name: 'Peru',\n iso2: 'PE',\n iso3: 'PER',\n phone: '+51',\n },\n {\n name: 'Philippines',\n iso2: 'PH',\n iso3: 'PHL',\n phone: '+63',\n },\n {\n name: 'Pitcairn',\n iso2: 'PN',\n iso3: 'PCN',\n phone: '+64',\n },\n {\n name: 'Poland',\n iso2: 'PL',\n iso3: 'POL',\n phone: '+48',\n },\n {\n name: 'Portugal',\n iso2: 'PT',\n iso3: 'PRT',\n phone: '+351',\n },\n {\n name: 'Puerto Rico',\n iso2: 'PR',\n iso3: 'PRI',\n phone: '+1',\n },\n {\n name: 'Qatar',\n iso2: 'QA',\n iso3: 'QAT',\n phone: '+974',\n },\n {\n name: 'Reunion Island',\n iso2: 'RE',\n iso3: 'REU',\n phone: '+262',\n },\n {\n name: 'Romania',\n iso2: 'RO',\n iso3: 'ROU',\n phone: '+40',\n },\n {\n name: 'Russia',\n iso2: 'RU',\n iso3: 'RUS',\n phone: '+7',\n },\n {\n name: 'Rwanda',\n iso2: 'RW',\n iso3: 'RWA',\n phone: '+250',\n },\n {\n name: 'Saint Barthélemy',\n iso2: 'BL',\n iso3: 'BLM',\n phone: '+590',\n },\n {\n name: 'Saint Helena',\n iso2: 'SH',\n iso3: 'SHN',\n phone: '+290',\n },\n {\n name: 'Saint Kitts and Nevis',\n iso2: 'KN',\n iso3: 'KNA',\n phone: '+1869',\n },\n {\n name: 'Saint Lucia',\n iso2: 'LC',\n iso3: 'LCA',\n phone: '+1758',\n },\n {\n name: 'Saint Martin (French part)',\n iso2: 'MF',\n iso3: 'MAF',\n phone: '+590',\n },\n {\n name: 'Saint Pierre and Miquelon',\n iso2: 'PM',\n iso3: 'SPM',\n phone: '+508',\n },\n {\n name: 'Saint Vincent and the Grenadines',\n iso2: 'VC',\n iso3: 'VCT',\n phone: '+1784',\n },\n {\n name: 'San Marino',\n iso2: 'SM',\n iso3: 'SMR',\n phone: '+378',\n },\n {\n name: 'Sao Tome and Principe',\n iso2: 'ST',\n iso3: 'STP',\n phone: '+239',\n },\n {\n name: 'Saudi Arabia',\n iso2: 'SA',\n iso3: 'SAU',\n phone: '+966',\n },\n {\n name: 'Senegal',\n iso2: 'SN',\n iso3: 'SEN',\n phone: '+221',\n },\n {\n name: 'Serbia',\n iso2: 'RS',\n iso3: 'SRB',\n phone: '+381',\n },\n {\n name: 'Seychelles',\n iso2: 'SC',\n iso3: 'SYC',\n phone: '+248',\n },\n {\n name: 'Sierra Leone',\n iso2: 'SL',\n iso3: 'SLE',\n phone: '+232',\n },\n {\n name: 'Singapore',\n iso2: 'SG',\n iso3: 'SGP',\n phone: '+65',\n },\n {\n name: 'Sint Maarten',\n iso2: 'SX',\n iso3: 'SXM',\n phone: '+1721',\n },\n {\n name: 'Slovakia',\n iso2: 'SK',\n iso3: 'SVK',\n phone: '+421',\n },\n {\n name: 'Slovenia',\n iso2: 'SI',\n iso3: 'SVN',\n phone: '+386',\n },\n {\n name: 'Solomon Islands',\n iso2: 'SB',\n iso3: 'SLB',\n phone: '+677',\n },\n {\n name: 'Somalia',\n iso2: 'SO',\n iso3: 'SOM',\n phone: '+252',\n },\n {\n name: 'South Africa',\n iso2: 'ZA',\n iso3: 'ZAF',\n phone: '+27',\n },\n {\n name: 'South Georgia and the South Sandwich Islands',\n iso2: 'GS',\n iso3: 'SGS',\n phone: '+500',\n },\n {\n name: 'South Korea',\n iso2: 'KR',\n iso3: 'KOR',\n phone: '+82',\n },\n {\n name: 'South Sudan',\n iso2: 'SS',\n iso3: 'SSD',\n phone: '+211',\n },\n {\n name: 'Spain',\n iso2: 'ES',\n iso3: 'ESP',\n phone: '+34',\n },\n {\n name: 'Sri Lanka',\n iso2: 'LK',\n iso3: 'LKA',\n phone: '+94',\n },\n {\n name: 'Sudan',\n iso2: 'SD',\n iso3: 'SDN',\n phone: '+249',\n },\n {\n name: 'Suriname',\n iso2: 'SR',\n iso3: 'SUR',\n phone: '+597',\n },\n {\n name: 'Svalbard and Jan Mayen',\n iso2: 'SJ',\n iso3: 'SJM',\n phone: '+47',\n },\n {\n name: 'Swaziland',\n iso2: 'SZ',\n iso3: 'SWZ',\n phone: '+268',\n },\n {\n name: 'Sweden',\n iso2: 'SE',\n iso3: 'SWE',\n phone: '+46',\n },\n {\n name: 'Switzerland',\n iso2: 'CH',\n iso3: 'CHE',\n phone: '+41',\n },\n {\n name: 'Syria',\n iso2: 'SY',\n iso3: 'SYR',\n phone: '+963',\n },\n {\n name: 'Taiwan',\n iso2: 'TW',\n iso3: 'TWN',\n phone: '+886',\n },\n {\n name: 'Tajikistan',\n iso2: 'TJ',\n iso3: 'TJK',\n phone: '+992',\n },\n {\n name: 'Tanzania',\n iso2: 'TZ',\n iso3: 'TZA',\n phone: '+255',\n },\n {\n name: 'Thailand',\n iso2: 'TH',\n iso3: 'THA',\n phone: '+66',\n },\n {\n name: 'Togo',\n iso2: 'TG',\n iso3: 'TGO',\n phone: '+228',\n },\n {\n name: 'Tokelau',\n iso2: 'TK',\n iso3: 'TKL',\n phone: '+690',\n },\n {\n name: 'Tonga',\n iso2: 'TO',\n iso3: 'TON',\n phone: '+676',\n },\n {\n name: 'Trinidad and Tobago',\n iso2: 'TT',\n iso3: 'TTO',\n phone: '+1868',\n },\n {\n name: 'Tunisia',\n iso2: 'TN',\n iso3: 'TUN',\n phone: '+216',\n },\n {\n name: 'Turkey',\n iso2: 'TR',\n iso3: 'TUR',\n phone: '+90',\n },\n {\n name: 'Turkmenistan',\n iso2: 'TM',\n iso3: 'TKM',\n phone: '+993',\n },\n {\n name: 'Turks and Caicos',\n iso2: 'TC',\n iso3: 'TCA',\n phone: '+1649',\n },\n {\n name: 'Tuvalu',\n iso2: 'TV',\n iso3: 'TUV',\n phone: '+688',\n },\n {\n name: 'Uganda',\n iso2: 'UG',\n iso3: 'UGA',\n phone: '+256',\n },\n {\n name: 'Ukraine',\n iso2: 'UA',\n iso3: 'UKR',\n phone: '+380',\n },\n {\n name: 'United Arab Emirates',\n iso2: 'AE',\n iso3: 'ARE',\n phone: '+971',\n },\n {\n name: 'United Kingdom',\n iso2: 'GB',\n iso3: 'GBR',\n phone: '+44',\n phoneFormat: '**** *** ***',\n },\n {\n name: 'United States Minor Outlying Islands',\n iso2: 'UM',\n iso3: 'UMI',\n phone: '+1',\n },\n {\n name: 'United States of America',\n iso2: 'US',\n iso3: 'USA',\n phone: '+1',\n },\n {\n name: 'Uruguay',\n iso2: 'UY',\n iso3: 'URY',\n phone: '+598',\n },\n {\n name: 'Uzbekistan',\n iso2: 'UZ',\n iso3: 'UZB',\n phone: '+998',\n },\n {\n name: 'Vanuatu',\n iso2: 'VU',\n iso3: 'VUT',\n phone: '+678',\n },\n {\n name: 'Venezuela',\n iso2: 'VE',\n iso3: 'VEN',\n phone: '+58',\n },\n {\n name: 'Vietnam',\n iso2: 'VN',\n iso3: 'VNM',\n phone: '+84',\n },\n {\n name: 'Virgin Islands (U.S.)',\n iso2: 'VI',\n iso3: 'VIR',\n phone: '+1340',\n },\n {\n name: 'Wallis and Futuna',\n iso2: 'WF',\n iso3: 'WLF',\n phone: '+681',\n },\n {\n name: 'Western Sahara',\n iso2: 'EH',\n iso3: 'ESH',\n phone: '+212',\n },\n {\n name: 'Western Samoa',\n iso2: 'WS',\n iso3: 'WSM',\n phone: '+685',\n },\n {\n name: 'Yemen',\n iso2: 'YE',\n iso3: 'YEM',\n phone: '+967',\n },\n {\n name: 'Zambia',\n iso2: 'ZM',\n iso3: 'ZMB',\n phone: '+260',\n },\n {\n name: 'Zimbabwe',\n iso2: 'ZW',\n iso3: 'ZWE',\n phone: '+263',\n },\n];\nexport default countries;\n","import { Country } from '../../data/countries';\n\nexport const longestMatchingPrefix = (matchingCodes: readonly Country[]) =>\n matchingCodes.reduce((a, b) => (a.phone.length > b.phone.length ? a : b));\n","import countries from '../../data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByCode = (code: string) => {\n if (code.length === 2) {\n const matchingCodes = countries.filter((country) => code.toUpperCase() === country.iso2);\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n","import { getCountryFromLocale } from '../../../common/locale';\nimport { findCountryByCode } from '../findCountryByCode';\n\n/**\n * Default phone code, the UK one `+44`\n */\nconst DEFAULT_PHONE_CODE = '+44';\n\n/**\n * Given a valid locale it returns the correspondent prefix if found or +44 otherwise.\n *\n * @param locale BCP 47 language tag of locale, e.g. `\"es-ES\"`.\n * @param countryCode Two-letter country code (ISO 3166-1 alpha-2).\n */\nexport const setDefaultPrefix = (locale: string, countryCode?: string) => {\n const country =\n (countryCode != null ? findCountryByCode(countryCode) : null) ??\n findCountryByCode(getCountryFromLocale(locale) ?? locale);\n return country?.phone ?? DEFAULT_PHONE_CODE;\n};\n","/**\n *\n * @param phoneNumber\n * @returns True if number that starts with \"+\" and contains a mix of digits and spaces with at least 4 digits.\n */\nexport const isValidPhoneNumber = (phoneNumber: string) =>\n /^\\+[\\d-\\s]+$/.test(phoneNumber) && (phoneNumber.match(/\\d+/g)?.join('').length ?? 0) >= 4;\n","import countries from '../../data/countries';\nimport { longestMatchingPrefix } from '../longestMatchingPrefix';\n\nexport const findCountryByPrefix = (number: string) => {\n if (number.length > 1) {\n const matchingCodes = countries.filter((country) => number.startsWith(country.phone));\n if (matchingCodes.length > 0) {\n return longestMatchingPrefix(matchingCodes);\n }\n }\n return null;\n};\n","import { findCountryByPrefix } from '../findCountryByPrefix';\n\nexport interface PhoneNumber {\n prefix: string | null;\n suffix: string;\n format?: string;\n}\n\n/**\n * @param number Phone number in a format like \"+447573135343\"\n */\nexport const explodeNumberModel = (number: string): PhoneNumber => {\n const country = findCountryByPrefix(number);\n return country\n ? {\n prefix: country.phone,\n suffix: number.slice(country.phone.length),\n format: country.phoneFormat,\n }\n : {\n prefix: null,\n suffix: number.slice(1),\n };\n};\n","const DIGITS_MATCH = /^$|^(\\+)|(\\d+)/g;\n\nexport const cleanNumber = (number: string) => number.match(DIGITS_MATCH)?.join('') ?? '';\n","export function sortArrayByProperty<T extends Record<PropertyKey, string>>(\n arrayToSort: readonly T[],\n property: keyof T,\n) {\n return [...arrayToSort].sort((a, b) => a[property].localeCompare(b[property]));\n}\n","import { Country } from '../../data/countries';\n\nexport const groupCountriesByPrefix = (countries: readonly Country[]) => {\n const countriesByPrefix = new Map<string, Country[]>();\n countries.forEach((country) => {\n countriesByPrefix.set(country.phone, [\n ...(countriesByPrefix.get(country.phone) ?? []),\n country,\n ]);\n });\n return countriesByPrefix;\n};\n","import type { Country } from '../../data/countries';\n\n// Reference fro localeCompare : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\nconst filterCountriesByIso3 = (countries: readonly Country[], iso3Codes: readonly string[]) => {\n const iso3CodesSet = new Set(iso3Codes);\n return countries.filter((country) => !iso3CodesSet.has(country.iso3));\n};\n\n/**\n * Removes the countries sepecified in the second param\n *\n * @param countries list of country metadata objects\n * @param disabledCountries list of iso3 country codes to remove from the list\n */\nexport const excludeCountries = (\n countries: readonly Country[],\n disabledCountries: readonly string[],\n) => {\n return disabledCountries.length > 0\n ? filterCountriesByIso3(countries, disabledCountries)\n : countries;\n};\n","import { useState, useEffect, useMemo } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Size, SizeLarge, SizeMedium, SizeSmall } from '../common';\nimport { SelectInput, SelectInputOptionContent, SelectInputProps } from '../inputs/SelectInput';\n\nimport messages from './PhoneNumberInput.messages';\nimport countries from './data/countries';\nimport {\n explodeNumberModel,\n isValidPhoneNumber,\n cleanNumber,\n setDefaultPrefix,\n sortArrayByProperty,\n groupCountriesByPrefix,\n excludeCountries,\n findCountryByPrefix,\n} from './utils';\nimport { PhoneNumber } from './utils/explodeNumberModel';\n\nconst ALLOWED_PHONE_CHARS = /^$|^[\\d-\\s]+$/;\n\nexport interface PhoneNumberInputProps {\n id?: string;\n 'aria-labelledby'?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: string;\n onChange: (value: string | null, prefix: string) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n countryCode?: string;\n searchPlaceholder?: string;\n size?: SizeSmall | SizeMedium | SizeLarge;\n placeholder?: string;\n selectProps?: Partial<SelectInputProps<string | null>>;\n /** List of iso3 codes of countries to remove from the list */\n disabledCountries?: readonly string[];\n}\n\nconst defaultSelectProps = {} satisfies PhoneNumberInputProps['selectProps'];\nconst defaultDisabledCountries = [] satisfies PhoneNumberInputProps['disabledCountries'];\n\nconst PhoneNumberInput = ({\n id,\n 'aria-labelledby': ariaLabelledBy,\n required,\n disabled,\n initialValue,\n onChange,\n onFocus,\n onBlur,\n countryCode,\n searchPlaceholder = 'Prefix',\n size = Size.MEDIUM,\n placeholder,\n selectProps = defaultSelectProps,\n disabledCountries = defaultDisabledCountries,\n}: PhoneNumberInputProps) => {\n const { locale, formatMessage } = useIntl();\n\n const [internalValue, setInternalValue] = useState<PhoneNumber>(() => {\n const cleanValue = initialValue ? cleanNumber(initialValue) : null;\n\n if (!cleanValue || !isValidPhoneNumber(cleanValue)) {\n return {\n prefix: setDefaultPrefix(locale, countryCode),\n suffix: '',\n };\n }\n\n return explodeNumberModel(cleanValue);\n });\n const [broadcastedValue, setBroadcastedValue] = useState<PhoneNumber | null>(null);\n\n const countriesByPrefix = useMemo(\n () =>\n groupCountriesByPrefix(\n sortArrayByProperty(excludeCountries(countries, disabledCountries), 'iso3'),\n ),\n [disabledCountries],\n );\n\n const onSuffixChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const suffix = event.target.value;\n if (ALLOWED_PHONE_CHARS.test(suffix)) {\n setInternalValue((prev) => ({ ...prev, suffix }));\n }\n };\n\n const onPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n if (!event.nativeEvent.clipboardData) {\n return;\n }\n\n const pastedValue = (event.nativeEvent.clipboardData.getData('text/plain') || '').replace(\n /(\\s|-)+/g,\n '',\n );\n const pastedNumber = explodeNumberModel(pastedValue);\n\n if (\n pastedNumber.prefix != null &&\n countriesByPrefix.has(pastedNumber.prefix) &&\n ALLOWED_PHONE_CHARS.test(pastedNumber.suffix)\n ) {\n setInternalValue(pastedNumber);\n }\n };\n\n useEffect(() => {\n if (broadcastedValue === null) {\n setBroadcastedValue(internalValue);\n return;\n }\n\n const internalPhoneNumber = `${internalValue.prefix ?? ''}${internalValue.suffix}`;\n const broadcastedPhoneNumber = `${broadcastedValue.prefix ?? ''}${broadcastedValue.suffix}`;\n\n if (internalPhoneNumber === broadcastedPhoneNumber) {\n return;\n }\n\n const newValue = isValidPhoneNumber(internalPhoneNumber)\n ? cleanNumber(internalPhoneNumber)\n : null;\n\n onChange(\n newValue,\n internalValue.prefix ?? '', // TODO: Allow `null` in public API\n );\n setBroadcastedValue(internalValue);\n }, [onChange, broadcastedValue, internalValue]);\n\n return (\n <div aria-labelledby={ariaLabelledBy} className=\"tw-telephone\">\n <div className=\"tw-telephone__country-select\">\n <SelectInput\n placeholder={formatMessage(messages.selectInputPlaceholder)}\n items={[...countriesByPrefix].map(([prefix, countries]) => ({\n type: 'option',\n value: prefix,\n filterMatchers: [\n prefix,\n ...countries.map((country) => country.name),\n ...countries.map((country) => country.iso3),\n ],\n }))}\n value={internalValue.prefix}\n renderValue={(prefix, withinTrigger) => (\n <SelectInputOptionContent\n title={prefix}\n note={\n withinTrigger\n ? undefined\n : countriesByPrefix\n .get(prefix)\n ?.map((country) => country.iso3)\n .join(', ')\n }\n />\n )}\n filterable\n filterPlaceholder={searchPlaceholder}\n disabled={disabled}\n size={size}\n onChange={(prefix) => {\n const country = prefix != null ? findCountryByPrefix(prefix) : null;\n setInternalValue((prev) => ({ ...prev, prefix, format: country?.phoneFormat }));\n }}\n {...selectProps}\n />\n </div>\n <div className=\"tw-telephone__number-input\">\n <div className={`input-group input-group-${size}`}>\n <input\n id={id}\n autoComplete=\"tel-national\"\n name=\"phoneNumber\"\n inputMode=\"numeric\"\n value={internalValue.suffix}\n className=\"form-control\"\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n onChange={onSuffixChange}\n onPaste={onPaste}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default PhoneNumberInput;\n","import classnames from 'classnames';\nimport { ReactElement, useEffect, useState } from 'react';\n\nexport type ProgressProps = {\n className?: string;\n id: string;\n progress: { value: number; max: number };\n};\n\nconst Progress = ({ className, id, progress }: ProgressProps): ReactElement | null => {\n const [value, setValue] = useState(0);\n\n useEffect(() => {\n setValue(progress.value);\n });\n\n return (\n <progress\n id={id}\n className={classnames('np-progress d-block', className)}\n {...progress}\n value={value}\n >\n {value}%\n </progress>\n );\n};\n\nexport default Progress;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { ReactElement } from 'react';\n\nimport Body from '../body';\nimport { Typography } from '../common';\nimport Progress from '../progress';\nimport Title from '../title/Title';\n\nexport type ProgressBarProps = {\n className?: string;\n description?: string;\n id: string;\n title: string;\n progress: { value: number; max: number };\n textEnd: string;\n};\n\nconst ProgressBar = ({\n className,\n description,\n id,\n title,\n progress,\n textEnd,\n}: ProgressBarProps): ReactElement | null => {\n const { isModern } = useTheme();\n return (\n <div className={classNames('np-progress-bar', className)}>\n <label className=\"np-progress-bar__title m-b-1\" htmlFor={id}>\n <Title\n type={Typography.TITLE_BODY}\n className={isModern ? `m-b-1 text-primary` : `text-primary`}\n >\n {title}\n </Title>\n {description && <Body>{description}</Body>}\n </label>\n <Progress id={id} progress={progress} />\n <Body\n as=\"p\"\n type={Typography.BODY_DEFAULT_BOLD}\n className=\"d-flex justify-content-end text-primary m-b-0\"\n >\n {textEnd}\n </Body>\n </div>\n );\n};\n\nexport default ProgressBar;\n","import React, { useContext, createContext } from 'react';\n\n/**\n * The type of the PromoCard context object.\n *\n * The context object contains the current state of the PromoCard group, whether\n * the group is disabled or not, and a function to call when the group value\n * changes. This value is used to provide context to child PromoCard components,\n * allowing them to interact with the group and update its state.\n */\ninterface PromoCardContextType {\n /**\n * The current value of the PromoCard group.\n *\n * @default ''\n */\n state: string;\n /**\n * Whether the PromoCard group is disabled or not.\n *\n * @default false\n */\n isDisabled: boolean;\n /**\n * A function to call when the PromoCard group value changes.\n *\n * @param {string} value - The new value of the PromoCard group.\n * @default () => {}\n */\n onChange: (value: string) => void;\n}\n\nconst defaultPromoCardContext: PromoCardContextType = {\n state: '',\n isDisabled: false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange: () => {},\n};\n\n/**\n * The PromoCard context object.\n */\nexport const PromoCardContext = createContext<PromoCardContextType>(defaultPromoCardContext);\n\n/**\n * A custom hook for accessing the PromoCard context object.\n *\n * The `usePromoCardContext` hook is used to access the PromoCard context object\n * from within a child PromoCard component. It throws an error if the context\n * object is not available, which can help with debugging and development.\n *\n * @returns {PromoCardContextType} - The PromoCard context object.\n */\nexport const usePromoCardContext = (): PromoCardContextType => {\n return useContext(PromoCardContext);\n};\n\nexport default PromoCardContext;\n","import { ArrowRight, Check, Download } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { ReactElement, ReactNode } from 'react';\n\nimport Avatar, { AvatarType } from '../avatar';\nimport Body from '../body';\nimport { Typography } from '../common';\n\nexport type PromoCardIndicatorProps = {\n /** Optional class name(s) to add to the indicator container. */\n className?: string;\n\n /** Optional label to display next to the indicator. */\n label?: string;\n\n /** Optional icon to display in the indicator. */\n icon?: 'check' | 'arrow' | 'download' | ReactElement;\n\n /** Optional prop to specify whether the indicator is sized small or not. */\n isSmall?: boolean;\n\n /** Optional ID to add to the indicator container for testing purposes. */\n testid?: string;\n\n /** Optional children to display inside the indicator. */\n children?: ReactNode;\n};\n\n/**\n * PromoCardIndicator component.\n *\n * A PromoCardIndicator is a small component that can be used to display\n * additional information or actions related to a PromoCard. It can be\n * customized with various props to suit different use cases.\n *\n * @param {string} className - Optional class name(s) to add to the indicator container.\n * @param {string} label - Optional label to display next to the indicator.\n * @param {string | ReactElement} icon - Optional icon to display in the indicator.\n * @param {string} testid - Optional ID to add to the indicator container for testing purposes.\n * @param {ReactNode} children - Optional children to display inside the indicator.\n * @returns {JSX.Element} - The PromoCardIndicator component.\n * @example\n * <PromoCardIndicator label=\"Download\" icon=\"download\" />\n */\nconst PromoCardIndicator: React.FC<PromoCardIndicatorProps> = ({\n className,\n children,\n label,\n icon,\n isSmall = false,\n testid,\n ...rest\n}) => {\n const isIconString = icon && typeof icon === 'string';\n\n const IconComponent =\n isIconString &&\n {\n check: Check,\n arrow: ArrowRight,\n download: Download,\n }[icon];\n\n return (\n <div className={classNames('np-Card-indicator', className)} data-testid={testid} {...rest}>\n {label && (\n <Body as=\"span\" type={Typography.BODY_LARGE_BOLD} className=\"np-Card-indicatorText\">\n {label}\n </Body>\n )}\n {icon && (\n <Avatar\n type={AvatarType.ICON}\n size={isSmall ? 40 : 56}\n backgroundColor=\"var(--Card-indicator-icon-background-color)\"\n className=\"np-Card-indicatorIcon\"\n >\n {IconComponent ? <IconComponent size={24} aria-hidden=\"true\" /> : icon}\n </Avatar>\n )}\n {children}\n </div>\n );\n};\n\nexport default PromoCardIndicator;\n","import { useId } from '@radix-ui/react-id';\nimport { Check } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport React, { forwardRef, FunctionComponent, useEffect, useState } from 'react';\n\nimport Body from '../body';\nimport { Typography } from '../common';\nimport Card, { CardProps } from '../common/card';\nimport Display from '../display';\nimport Image from '../image/Image';\nimport Title from '../title';\n\nimport { usePromoCardContext } from './PromoCardContext';\nimport PromoCardIndicator, { PromoCardIndicatorProps } from './PromoCardIndicator';\n\nexport type ReferenceType = React.Ref<HTMLInputElement>;\nexport type RelatedTypes =\n | ''\n | 'alternate'\n | 'author'\n | 'bookmark'\n | 'external'\n | 'help'\n | 'license'\n | 'next'\n | 'nofollow'\n | 'noreferrer'\n | 'noopener'\n | 'prev'\n | 'search'\n | 'tag';\n\nexport interface PromoCardCommonProps {\n /** Optional prop to specify classNames onto the PromoCard */\n className?: string;\n\n /** Optional prop to specify the ID of the PromoCard */\n id?: string;\n\n /** Required prop to specify the descriptive text of the PromoCard */\n description: string;\n\n /**\n * Optional prop to specify the heading level of the PromoCard\n *\n * @default 'h3'\n */\n headingLevel?: 'h3' | 'h4' | 'h5' | 'h6';\n\n /** Optional prop to specify text for the indicator label of the PromoCard */\n indicatorLabel?: string;\n\n /** Optional prop to specify the icon for the indicator icon of the PromoCard */\n indicatorIcon?: PromoCardIndicatorProps['icon'];\n\n /** Optional prop to specify an image alt text */\n imageAlt?: string;\n\n /** Optional prop to specify an image class */\n imageClass?: string;\n\n /** Optional prop to specify an image source url */\n imageSource?: string;\n\n /** Specify whether the PromoCard is disabled, or not */\n isDisabled?: boolean;\n\n /** Specify an onClick event handler */\n onClick?: () => void;\n\n /** Optional prop to specify the ID used for testing */\n testId?: string;\n\n /** Required prop to specify the title text of the PromoCard */\n title: string;\n\n /** Set to false to use body font style for the title */\n useDisplayFont?: boolean;\n}\n\nexport interface PromoCardLinkProps extends PromoCardCommonProps, Omit<CardProps, 'children'> {\n /**\n * Optional prop to prompts a user to save the linked URL instead of\n * navigating to it\n */\n download?: string;\n\n /** Optionally specify an href for your PromoCard to contain an <a> element */\n href?: string;\n\n /** Optionally specify the language of the linked URL */\n hrefLang?: string;\n\n /**\n * Relationship between the PromoCard href URL and the current page. See\n * [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).\n */\n rel?: RelatedTypes;\n\n /** Optional prop to to display where the linked URL will show */\n target?: React.HTMLAttributeAnchorTarget;\n\n /** Only applies to role=\"radio\" or \"checkbox\" */\n defaultChecked?: never;\n isChecked?: never;\n tabIndex?: never;\n type?: never;\n reference?: never;\n value?: never;\n}\n\nexport interface PromoCardCheckedProps extends PromoCardCommonProps, Omit<CardProps, 'children'> {\n /** Specify the initial checked attribute of the PromoCard */\n defaultChecked?: boolean;\n\n /** Specify whether the PromoCard is checked, or not */\n isChecked?: boolean;\n\n /** Optional prop to specify the tabIndex of the PromoCard */\n tabIndex?: number;\n\n /** Optional property to provide component Ref */\n reference?: ReferenceType;\n\n /** Optional prop to specify the input type of the PromoCard */\n type?: 'checkbox' | 'radio';\n\n /** Specify the value attribute of the PromoCard if Checkbox or Radio */\n value?: string;\n\n /** Only applies to <a />s */\n download?: never;\n href?: never;\n hrefLang?: never;\n rel?: never;\n target?: never;\n}\n\nexport type PromoCardProps = PromoCardLinkProps | PromoCardCheckedProps;\n\nexport type PolymorphicPromoCard = (\n props: PromoCardLinkProps | PromoCardCheckedProps,\n) => JSX.Element;\n\n/**\n * PromoCard component.\n *\n * PromoCard is a marketing style component that is used to group marketing\n * product related information (such as choosing Card types). It can be used to\n * display information in a structured way, and can be customized with various\n * props to suit different use cases.\n *\n * @component\n * @param {string} className - Additional class name for the PromoCard.\n * @param {string} description - Description text for the PromoCard.\n * @param {boolean} defaultChecked - Initial checked state for checkboxes and radios.\n * @param {string} download - Download file name for links.\n * @param {string} href - URL for links.\n * @param {string} hrefLang - Language code for linked URL.\n * @param {string} id - ID of the PromoCard.\n * @param {string} imageAlt - Alt text for the image.\n * @param {string} imageSource - Source URL of the image.\n * @param {string} indicatorLabel - Label for the indicator icon.\n * @param {boolean} isChecked - Checked state for checkboxes and radios.\n * @param {boolean} isDisabled - Whether the PromoCard is disabled.\n * @param {Function} onClick - Click event handler for the PromoCard.\n * @param {string} rel - Relationship between the URL and the current page.\n * @param {number} tabIndex - Tab index for keyboard navigation.\n * @param {string} target - Target window for links.\n * @param {string} testId - ID used for testing.\n * @param {string} title - Title text of the PromoCard.\n * @param {('checkbox'|'radio')} type - Type of the PromoCard (checkbox, radio).\n * @param {string} value - Value for checkboxes and radios.\n * @returns {JSX.Element} The rendered PromoCard component.\n * @example\n * <PromoCard\n * title=\"Example PromoCard\"\n * description=\"This is an example PromoCard with a link variation.\"\n * href=\"https://example.com\"\n * target=\"_blank\"\n * imageSource=\"https://example.com/image.png\"\n * imageAlt=\"Example Image\"\n * indicatorLabel=\"Learn More\"\n * />\n */\nconst PromoCard: FunctionComponent<PromoCardProps> = forwardRef(\n (\n {\n className,\n description,\n defaultChecked,\n download,\n href,\n hrefLang,\n id,\n headingLevel = 'h3',\n imageAlt,\n imageClass,\n imageSource,\n indicatorLabel,\n indicatorIcon,\n isChecked,\n isDisabled,\n onClick,\n rel,\n tabIndex,\n target,\n testId,\n title,\n type,\n value,\n isSmall,\n useDisplayFont = true,\n ...props\n },\n reference,\n ) => {\n // Set the `checked` state to the value of `defaultChecked` if it is truthy,\n // or the value of `isChecked` if it is truthy, or `false` if neither\n // is truthy.\n const { state, onChange, isDisabled: contextIsDisabled } = usePromoCardContext();\n const [checked, setChecked] = useState(\n type === 'checkbox' ? defaultChecked ?? isChecked ?? false : false,\n );\n\n const handleClick = () => {\n if (type === 'radio') {\n onChange(value || ''); // Update the context state for radio\n } else if (type === 'checkbox') {\n setChecked(!checked); // Update local state for checkbox\n }\n };\n\n const fallbackId = useId();\n const componentId = id || fallbackId;\n\n // Set the icon to `'arrow'` if `href` is truthy and `type` is falsy, or\n // `'download'` if `download` is truthy. If neither condition is true, set\n // `icon` to `undefined`.\n\n // Create a function to get icon type\n const getIconType = () => {\n if (indicatorIcon) {\n return indicatorIcon;\n }\n\n if (download) {\n return 'download';\n }\n\n if (href && !type) {\n return 'arrow';\n }\n\n return undefined;\n };\n\n const CardTitle = useDisplayFont ? Display : Title;\n\n // Define all class names string based on the values of the `href`, `type`,\n // `checked`, and `className` props.\n const commonClasses = classNames(\n {\n 'np-Card--promoCard': true,\n 'np-Card--checked': !href && type,\n 'np-Card--link': href && !type,\n 'is-checked':\n type === 'radio' ? value === state : type === 'checkbox' ? checked : undefined,\n },\n className,\n );\n\n // Object with common props that will be passed to the `Card` components\n const commonProps = {\n className: commonClasses,\n id: componentId,\n isDisabled: isDisabled || contextIsDisabled,\n onClick,\n ref: reference,\n 'data-testid': testId,\n isSmall,\n };\n\n // Object with Anchor props that will be passed to the `a` element. These\n // won't be refurned if set to `isDisabled`\n const anchorProps =\n href && !isDisabled\n ? {\n download,\n href: href || undefined,\n hrefLang,\n rel,\n target,\n }\n : {};\n\n // Object of all Checked props that will be passed to the root `Card` component\n const checkedProps =\n (type === 'checkbox' || type === 'radio') && !href\n ? {\n ...commonProps,\n 'aria-checked':\n type === 'radio' ? value === state : type === 'checkbox' ? checked : undefined,\n 'aria-describedby': `${componentId}-title`,\n 'aria-disabled': isDisabled,\n 'data-value': value ?? undefined,\n role: type === 'checkbox' || type === 'radio' ? type : undefined,\n onClick: handleClick,\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n handleClick();\n }\n },\n ref: reference,\n tabIndex: 0,\n }\n : {};\n\n const getTitle = () => {\n const titleContent =\n href && !type ? (\n <a className=\"np-Card-titleLink\" {...anchorProps}>\n {title}\n </a>\n ) : (\n title\n );\n\n const titleProps = {\n id: `${componentId}-title`,\n as: headingLevel,\n className: 'np-Card-title',\n };\n\n return useDisplayFont ? (\n <Display type={Typography.DISPLAY_SMALL} {...titleProps}>\n {titleContent}\n </Display>\n ) : (\n <Title type={Typography.TITLE_SUBSECTION} {...titleProps}>\n {titleContent}\n </Title>\n );\n };\n\n useEffect(() => {\n setChecked(defaultChecked ?? isChecked ?? false);\n }, [defaultChecked, isChecked]);\n\n return (\n <Card {...commonProps} {...checkedProps} {...props}>\n {(value === state || checked) && (\n <span className=\"np-Card-check\">\n <Check size={24} aria-hidden=\"true\" />\n </span>\n )}\n\n {getTitle()}\n\n <Body className=\"np-Card-description\">{description}</Body>\n\n {imageSource && (\n <div className={classNames('np-Card-image', { imageClass })}>\n <Image src={imageSource} alt={imageAlt || ''} loading=\"lazy\" />\n </div>\n )}\n\n <PromoCardIndicator label={indicatorLabel} icon={getIconType()} isSmall={isSmall} />\n </Card>\n );\n },\n) as PolymorphicPromoCard;\n\nexport default React.memo(PromoCard);\n","import classNames from 'classnames';\nimport React, { FunctionComponent, ReactNode, useState, useEffect, useMemo } from 'react';\n\nimport { PromoCardProps } from './PromoCard';\nimport PromoCardContext from './PromoCardContext';\n\nexport type AriaRoleRadioGroup = 'radiogroup';\n\nexport interface PromoCardGroupProps {\n /**\n * Optional class name(s) to add to the group container.\n */\n className?: string;\n /**\n * The PromoCard components to display inside the group.\n */\n children: ReactNode;\n /**\n * The default checked for the group.\n */\n defaultChecked?: string;\n /**\n * Optional ID to add to the group container.\n */\n id?: string;\n /**\n * Whether the group is disabled or not.\n */\n isDisabled?: boolean;\n /**\n * Optional label to display above the group.\n */\n label?: string;\n /**\n * Optional function to call when the group value changes.\n */\n onChange?: (value: string) => void;\n /**\n * Optional ID to add to the group container for testing purposes.\n */\n testId?: string;\n}\n\n/**\n * PromoCardGroup component.\n *\n * A PromoCardGroup is a container for PromoCard components that allows the user to select one or more\n * cards from a group. It can be used to display a set of related options, and can be customized with\n * various props to suit different use cases.\n *\n * @param {ReactNode} children - The PromoCard components to display inside the group.\n * @param {string} className - Optional class name(s) to add to the group container.\n * @param {string} defaultChecked - The default value for the group.\n * @param {string} id - Optional ID to add to the group container.\n * @param {boolean} isDisabled=false - Whether the group is disabled or not.\n * @param {string} label - Optional label to display above the group.\n * @param {Function} onChange - Optional function to call when the group value changes.\n * @param {string} testId - Optional ID to add to the group container for testing purposes.\n * @returns {JSX.Element} - The PromoCardGroup component.\n */\nconst PromoCardGroup: FunctionComponent<PromoCardGroupProps> = ({\n children,\n className,\n defaultChecked = '',\n id,\n isDisabled = false,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange = () => {},\n testId,\n}) => {\n const [state, setState] = useState<string>(defaultChecked);\n const [containerRole, setContainerRole] = useState<string | null>(null);\n\n /**\n * The context value for the PromoCardGroup.\n *\n * The context value is an object that contains the current state of the\n * group, whether the group is disabled or not, and a function to call when\n * the group value changes. This value is used to provide context to child\n * PromoCard components, allowing them to interact with the group and update\n * its state.\n */\n const contextValue = useMemo(() => {\n const handleOnChange = (value: string) => {\n setState(value);\n onChange(value);\n };\n\n return { state, isDisabled, onChange: handleOnChange };\n }, [state, isDisabled, onChange]);\n\n const commonClasses = classNames(\n {\n 'np-CardGroup': true,\n 'is-disabled': isDisabled,\n },\n className,\n );\n\n const commonProps = {\n className: commonClasses,\n id,\n 'data-testid': testId,\n role: containerRole as AriaRoleRadioGroup | undefined, // Add the role attribute here\n };\n\n useEffect(() => {\n setState(defaultChecked);\n\n // Collect an array of types from the children PromoCard components\n const types =\n React.Children.map(children, (child) => {\n if (React.isValidElement<PromoCardProps>(child) && child.props.type) {\n return child.props.type;\n }\n return null;\n })?.filter((type): type is 'radio' | 'checkbox' => type !== null && type !== undefined) ?? [];\n\n // Check if all types are the same\n const allTypesAreTheSame = types.every((type) => type === types[0]);\n\n // If all types are the same and the type is 'radio', set the container role\n setContainerRole(allTypesAreTheSame && types[0] === 'radio' ? 'radiogroup' : null);\n }, [defaultChecked, children]);\n\n return (\n <PromoCardContext.Provider value={contextValue}>\n <div {...commonProps}>{children}</div>\n </PromoCardContext.Provider>\n );\n};\n\nexport default React.memo(PromoCardGroup);\n","import { createContext, ReactElement, PropsWithChildren } from 'react';\n\nimport { DEFAULT_LOCALE } from '../../common/locale';\n\nexport const LanguageContext = createContext<string>(DEFAULT_LOCALE);\n\nexport type LanguageProviderProps = PropsWithChildren<{ locale: string }>;\n\nexport const LanguageProvider = ({ locale, children }: LanguageProviderProps): ReactElement => {\n return <LanguageContext.Provider value={locale}>{children}</LanguageContext.Provider>;\n};\n","import { IntlProvider, ResolvedIntlConfig } from 'react-intl';\n\nimport { adjustLocale, DEFAULT_LOCALE, getDirectionFromLocale } from '../common';\nimport en from '../i18n/en.json';\n\nimport { DirectionProvider } from './direction';\nimport { LanguageProvider } from './language';\n\nexport interface ProviderProps {\n i18n: Pick<ResolvedIntlConfig, 'locale' | 'messages'> &\n Partial<Pick<ResolvedIntlConfig, 'defaultRichTextElements'>>;\n children?: React.ReactNode;\n}\n\nexport default function Provider({ i18n, children }: ProviderProps) {\n const { locale, messages, defaultRichTextElements } = i18n;\n const adjustedLocale = adjustLocale(locale);\n let intlConfig;\n\n if (adjustedLocale === null) {\n // eslint-disable-next-line no-console\n console.warn(\n `Unsupported locale value was provided: '${locale}', defaulting to '${DEFAULT_LOCALE}'`,\n );\n\n intlConfig = { locale: DEFAULT_LOCALE, messages: { ...en, ...messages } };\n } else {\n intlConfig = { locale: adjustedLocale, messages };\n }\n\n return (\n <DirectionProvider direction={getDirectionFromLocale(locale)}>\n <LanguageProvider locale={locale}>\n <IntlProvider\n defaultLocale={DEFAULT_LOCALE}\n locale={intlConfig.locale}\n messages={intlConfig.messages}\n defaultRichTextElements={defaultRichTextElements}\n >\n {children}\n </IntlProvider>\n </LanguageProvider>\n </DirectionProvider>\n );\n}\n","import classNames from 'classnames';\n\nexport interface RadioButtonProps<T extends string | number = string> {\n id?: string;\n name: string;\n checked?: boolean;\n onChange?: (value: T) => void;\n disabled?: boolean;\n value?: T;\n readOnly?: boolean;\n}\n\nexport default function RadioButton<T extends string | number = ''>({\n id,\n value = '' as T,\n name,\n checked,\n onChange,\n disabled,\n readOnly,\n}: RadioButtonProps<T>) {\n return (\n <>\n <input\n type=\"radio\"\n className=\"sr-only\"\n id={id}\n value={value}\n name={name}\n checked={checked}\n disabled={disabled || readOnly}\n onChange={() => {\n if (!checked) {\n onChange?.(value);\n }\n }}\n />\n <span className={classNames('tw-radio-button', { checked, disabled: disabled || readOnly })}>\n <span className=\"tw-radio-check\" />\n </span>\n </>\n );\n}\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\n\nimport Body from '../body/Body';\nimport { Typography } from '../common';\nimport RadioButton from '../common/RadioButton';\nimport { RadioButtonProps } from '../common/RadioButton/RadioButton';\n\nexport interface RadioProps<T extends string | number = string> extends RadioButtonProps<T> {\n avatar?: React.ReactNode;\n label: string;\n secondary?: string;\n className?: string;\n}\n\nexport default function Radio<T extends string | number = ''>({\n label,\n id,\n disabled,\n className,\n avatar,\n secondary,\n ...otherProps\n}: RadioProps<T>) {\n const { isModern } = useTheme();\n return (\n <div\n className={classNames(\n 'radio np-radio',\n {\n 'radio-lg': secondary,\n disabled: isModern && disabled,\n },\n className,\n )}\n >\n <label className={classNames({ disabled })} htmlFor={id}>\n <span className={classNames(isModern ? 'm-r-2' : 'p-r-2', 'np-radio-button')}>\n <RadioButton id={id} disabled={disabled} {...otherProps} />\n </span>\n <Body\n as=\"span\"\n type={secondary ? Typography.BODY_LARGE_BOLD : Typography.BODY_LARGE}\n className=\"np-radio__text\"\n >\n {label}\n {secondary && (\n <Body as=\"span\" className={classNames({ secondary: !isModern })}>\n {secondary}\n </Body>\n )}\n </Body>\n {avatar && <span className=\"np-radio__avatar m-l-auto\">{avatar}</span>}\n </label>\n </div>\n );\n}\n","import { useState } from 'react';\n\nimport Radio from '../radio';\nimport { RadioProps } from '../radio/Radio';\n\nexport type RadioGroupRadio<T extends string | number = string> = Omit<\n RadioProps<T>,\n 'name' | 'checked' | 'onChange' | 'className'\n>;\n\nexport interface RadioGroupProps<T extends string | number = string> {\n name: string;\n radios: readonly RadioGroupRadio<T>[];\n selectedValue?: T; // TODO: `NoInfer<T>` from TypeScript 5.4\n onChange: NonNullable<RadioProps<T>['onChange']>;\n}\n\nexport default function RadioGroup<T extends string | number = never>({\n name,\n radios,\n selectedValue: controlledValue,\n onChange,\n}: RadioGroupProps<T>) {\n const [uncontrolledValue, setUncontrolledValue] = useState(controlledValue);\n\n return radios.length > 0 ? (\n <div role=\"radiogroup\">\n {radios.map(({ value = '' as T, ...restProps }, index) => (\n <Radio\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n {...restProps}\n name={name}\n value={value}\n checked={value === uncontrolledValue}\n onChange={(nextValue) => {\n setUncontrolledValue(nextValue);\n onChange(nextValue);\n }}\n />\n ))}\n </div>\n ) : null;\n}\n","import Option from '../common/Option';\nimport RadioButton from '../common/RadioButton';\nimport { RadioButtonProps } from '../common/RadioButton/RadioButton';\n\nexport interface RadioOptionProps<T extends string | number = string>\n extends Required<Pick<RadioButtonProps<T>, 'id' | 'name' | 'onChange'>>,\n Omit<RadioButtonProps<T>, 'readOnly' | 'id' | 'name' | 'onChange'> {\n 'aria-label'?: string;\n media?: React.ReactNode;\n title: React.ReactNode;\n content?: React.ReactNode;\n complex?: boolean;\n showMediaCircle?: boolean;\n showMediaAtAllSizes?: boolean;\n isContainerAligned?: boolean;\n}\n\nfunction RadioOption<T extends string | number = ''>({\n 'aria-label': ariaLabel,\n media,\n title,\n content,\n id,\n name,\n checked,\n onChange,\n complex,\n disabled,\n value = '' as T,\n showMediaCircle,\n showMediaAtAllSizes,\n isContainerAligned,\n}: RadioOptionProps<T>) {\n return (\n <Option\n aria-label={ariaLabel}\n media={media}\n title={title}\n content={content}\n name={name}\n complex={complex}\n disabled={disabled}\n showMediaCircle={showMediaCircle}\n showMediaAtAllSizes={showMediaAtAllSizes}\n isContainerAligned={isContainerAligned}\n button={\n <RadioButton\n id={id}\n name={name}\n checked={checked}\n disabled={disabled}\n value={value}\n onChange={onChange}\n />\n }\n />\n );\n}\n\nexport default RadioOption;\n","import classNames from 'classnames';\nimport { PropsWithChildren } from 'react';\n\nimport { CommonProps } from '../common';\n\ntype SectionProps = PropsWithChildren<\n CommonProps & {\n withHorizontalPadding?: boolean;\n }\n>;\n\n/**\n *\n * Neptune Web: https://transferwise.github.io/neptune-web/components/content/Section\n *\n */\nconst Section = ({ children, className, withHorizontalPadding = false }: SectionProps) => {\n return (\n <div\n className={classNames('np-section', className, {\n 'np-section--with-horizontal-padding': withHorizontalPadding,\n })}\n >\n {children}\n </div>\n );\n};\n\nexport default Section;\n","import classNames from 'classnames';\nimport { createRef, useEffect, useRef, useState } from 'react';\n\nimport Body from '../body';\nimport { Typography } from '../common';\n\ntype SegmentBase = { id: string; label: string; value: string };\n\ntype Segment = SegmentBase & { controls?: never };\ntype SegmentWithControls = SegmentBase & { controls: string };\n\nexport type Segments = readonly Segment[] | readonly SegmentWithControls[];\n\ntype SegmentedControlPropsBase = {\n name: string;\n value: string;\n mode: 'input' | 'view';\n onChange: (value: string) => void;\n};\n\ntype SegmentedControlViewProps = {\n mode: 'view';\n segments: readonly SegmentWithControls[];\n};\n\ntype SegmentedControlInputProps = {\n mode: 'input';\n segments: readonly Segment[];\n};\n\nexport type SegmentedControlProps = SegmentedControlPropsBase &\n (SegmentedControlViewProps | SegmentedControlInputProps);\n\nconst SegmentedControl = ({\n name,\n value,\n mode = 'input',\n segments,\n onChange,\n}: SegmentedControlProps) => {\n const [animate, setAnimate] = useState(false);\n\n const segmentsRef = useRef<HTMLDivElement>(null);\n\n if (segments.length > 3) {\n throw new Error(\n 'SegmentedControl only supports up to 3 segments. Please refer to: https://wise.design/components/segmented-control',\n );\n }\n\n const segmentsWithRefs = segments.map((segment) => ({\n ...segment,\n ref: createRef<HTMLLabelElement | HTMLButtonElement>(),\n }));\n\n const updateSegmentPosition = () => {\n const selectedSegmentRef = segmentsWithRefs.find((segment) => segment.value === value)?.ref;\n\n // We grab the active segments style object from the ref\n // and set the css variables to the selected segments width and x position.\n // This is so we can animate the highlight to the selected segment\n if (selectedSegmentRef?.current && segmentsRef.current) {\n const { style } = segmentsRef.current;\n style.setProperty('--segment-highlight-width', `${selectedSegmentRef.current.offsetWidth}px`);\n style.setProperty('--segment-highlight-x', `${selectedSegmentRef.current.offsetLeft}px`);\n }\n };\n\n useEffect(() => {\n setAnimate(true);\n updateSegmentPosition();\n\n const handleWindowSizeChange = () => {\n setAnimate(false);\n updateSegmentPosition();\n };\n\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [segmentsWithRefs, value]);\n\n return (\n <div\n ref={segmentsRef}\n data-testid=\"segmented-control\"\n className={classNames('segmented-control', {\n 'segmented-control--input': mode === 'input',\n })}\n >\n <div\n className={classNames('segmented-control__segments', {\n 'segmented-control__segments--no-animate': !animate,\n })}\n role={mode !== 'input' ? 'tablist' : undefined}\n >\n {segmentsWithRefs.map((segment) => {\n const onSelect = () => {\n setAnimate(true);\n onChange(segment.value);\n };\n return mode === 'input' ? (\n <label\n ref={segment.ref as React.RefObject<HTMLLabelElement>}\n key={segment.id}\n htmlFor={segment.id}\n className={classNames('segmented-control__segment', {\n 'segmented-control__selected-segment': value === segment.value,\n })}\n >\n <input\n type=\"radio\"\n className=\"segmented-control__radio-input\"\n id={segment.id}\n name={name}\n value={segment.value}\n checked={value === segment.value}\n onChange={onSelect}\n />\n <Body\n className=\"segmented-control__text\"\n as=\"span\"\n type={\n value === segment.value ? Typography.BODY_DEFAULT_BOLD : Typography.BODY_DEFAULT\n }\n >\n {segment.label}\n </Body>\n </label>\n ) : (\n <button\n ref={segment.ref as React.RefObject<HTMLButtonElement>}\n key={segment.id}\n type=\"button\"\n role=\"tab\"\n id={segment.id}\n aria-controls={segment.controls}\n aria-selected={value === segment.value}\n className={classNames('segmented-control__segment', 'segmented-control__button', {\n 'segmented-control__selected-segment': value === segment.value,\n })}\n onClick={onSelect}\n >\n <Body\n as=\"span\"\n className=\"segmented-control__text\"\n type={\n value === segment.value ? Typography.BODY_DEFAULT_BOLD : Typography.BODY_DEFAULT\n }\n >\n {segment.label}\n </Body>\n </button>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default SegmentedControl;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n searchPlaceholder: {\n id: 'neptune.Select.searchPlaceholder',\n defaultMessage: 'Search...',\n },\n});\n","import { Flag } from '@wise/art';\nimport { useTheme } from '@wise/components-theming';\nimport { cloneElement, ReactElement, ReactNode } from 'react';\n\nimport Body from '../../body';\nimport { Typography } from '../../common';\n\nexport type Props<T> = {\n label: ReactNode;\n value: T;\n currency?: string;\n note?: ReactNode;\n secondary?: ReactNode;\n icon?: ReactNode;\n classNames?: Record<string, string>;\n selected?: boolean;\n};\n\nfunction Option<T>({\n label,\n currency = '',\n note = '',\n secondary = '',\n icon,\n classNames = {},\n selected = false,\n}: Props<T>) {\n const { isModern } = useTheme();\n\n const iconElement = icon\n ? cloneElement(icon as ReactElement, {\n size: 24,\n className: 'tw-icon',\n })\n : currency && <Flag code={currency.toLowerCase()} intrinsicSize={24} />;\n\n const titleAndNoteElement = (\n <Body as=\"span\" type={Typography.BODY_LARGE} className={selected ? 'text-ellipsis' : undefined}>\n {label}\n {note && (\n <Body as=\"span\" className={isModern ? 'm-l-1' : 'm-l-1 body-2'}>\n {note}\n </Body>\n )}\n </Body>\n );\n\n const secondaryElementClassNames = (): string | undefined => {\n let classes: string | undefined = undefined;\n if (selected) {\n classes = 'text-ellipsis';\n }\n if (isModern) {\n return classes;\n }\n return `${classes ? classes + ' ' : ''}body-2`;\n };\n\n const secondaryElement = secondary && (\n <Body className={secondaryElementClassNames()}>{secondary}</Body>\n );\n\n return iconElement ? (\n <div className=\"d-flex np-option-content\">\n <div className={`d-flex flex-column${selected ? ' justify-content-center' : ''}`}>\n {iconElement}\n </div>\n <div className=\"d-flex flex-column justify-content-center\">\n {titleAndNoteElement}\n {secondaryElement}\n </div>\n </div>\n ) : (\n <>\n {iconElement}\n {titleAndNoteElement}\n {secondaryElement}\n </>\n );\n}\n\nexport default Option;\n","import { Search as SearchIcon } from '@transferwise/icons';\nimport classnames from 'classnames';\nimport { forwardRef, InputHTMLAttributes } from 'react';\n\nimport { Input } from '../../inputs/Input';\n\ntype Props = {\n id?: string;\n classNames?: Record<string, string>;\n focusedOptionId?: string;\n} & Pick<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onClick' | 'placeholder' | 'value'>;\n\nconst SearchBox = forwardRef<HTMLInputElement, Props>(\n (\n {\n id,\n classNames = {},\n focusedOptionId,\n onChange,\n onClick,\n placeholder = undefined,\n value = '',\n },\n reference,\n ) => {\n const style = (className: string) => classNames[className] || className;\n return (\n <li className={style('border-bottom')}>\n <a className={`${style('np-select-filter-link')} ${style('p-a-0')}`}>\n <div className={style('input-group')}>\n <span className={classnames('input-group-addon', 'input-group-addon--search')}>\n <SearchIcon\n className={classnames(style('tw-icon'), style('tw-icon-search'))}\n size={24}\n />\n </span>\n <Input\n ref={reference}\n id={id}\n role=\"searchbox\"\n inputMode=\"search\"\n className={classnames(style('np-select-filter'))}\n placeholder={placeholder}\n value={value}\n spellCheck=\"false\"\n aria-activedescendant={focusedOptionId}\n onChange={onChange}\n onClick={onClick}\n />\n </div>\n </a>\n </li>\n );\n },\n);\n\nexport default SearchBox;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Button from '../button';\nimport Chevron from '../chevron';\nimport { Position, getSimpleRandomId } from '../common';\nimport BottomSheet from '../common/bottomSheet';\nimport { stopPropagation } from '../common/domHelpers';\nimport { useLayout } from '../common/hooks';\nimport Panel from '../common/panel';\nimport Drawer from '../drawer';\n\nimport messages from './Select.messages';\nimport Option from './option';\nimport SearchBox from './searchBox';\n\nconst DEFAULT_SEARCH_VALUE = '';\nconst DEFAULT_OPTIONS_PAGE_SIZE = 1000;\n\nconst includesString = (string1, string2) => string1.toLowerCase().includes(string2.toLowerCase());\n\nfunction defaultFilterFunction(option, searchValue) {\n if (isPlaceholderOption(option)) {\n return true;\n }\n const { label, note, secondary, currency, searchStrings } = option;\n return (\n (!!label && includesString(label, searchValue)) ||\n (!!note && includesString(note, searchValue)) ||\n (!!secondary && includesString(secondary, searchValue)) ||\n (!!currency && includesString(currency, searchValue)) ||\n (!!searchStrings && searchStrings.some((string) => includesString(string, searchValue)))\n );\n}\n\nfunction isActionableOption(option) {\n return !option.header && !option.separator && !option.disabled;\n}\n\nfunction isHeaderOption(option) {\n return option != null && 'header' in option;\n}\n\nfunction isSeparatorOption(option) {\n return option != null && 'separator' in option;\n}\n\nfunction clamp(from, to, value) {\n return Math.max(Math.min(to, value), from);\n}\n\n/**\n * No option or placeholder option is selected\n */\nconst DEFAULT_SELECTED_OPTION = null;\n\nfunction isPlaceholderOption(option) {\n return option === DEFAULT_SELECTED_OPTION || 'placeholder' in option;\n}\n\nfunction isSearchableOption(option) {\n return !isHeaderOption(option) && !isSeparatorOption(option) && !isPlaceholderOption(option);\n}\n\nconst getUniqueIdForOption = (parentId = '', option) => {\n if (option == null) {\n return undefined;\n }\n\n const uniqueOptionId = option.value || (option.label?.replace(/\\s/g, '') ?? '');\n\n return `option-${parentId}-${uniqueOptionId}`;\n};\n\n/**\n * @deprecated Use `SelectInput` instead (https://neptune.wise.design/blog/2023-11-28-adopting-our-new-selectinput)\n */\nexport default function Select({\n placeholder,\n id,\n required,\n disabled,\n inverse,\n dropdownWidth,\n size,\n block,\n selected,\n search,\n onChange,\n onFocus,\n onBlur,\n options: defaultOptions,\n onSearchChange,\n searchValue: initSearchValue,\n searchPlaceholder,\n // eslint-disable-next-line unicorn/prevent-abbreviations\n classNames: classNamesProp,\n dropdownUp,\n dropdownProps,\n buttonProps,\n}) {\n const { formatMessage } = useIntl();\n const { isModern } = useTheme();\n const s = (className) => classNamesProp[className] || className;\n const [open, setOpen] = useState(false);\n const [searchValue, setSearchValue] = useState(DEFAULT_SEARCH_VALUE);\n const [keyboardFocusedOptionIndex, setKeyboardFocusedOptionIndex] = useState(null);\n const keyboardFocusedReference = useRef();\n const previousKeyboardFocusedOptionIndex = useRef();\n const [numberOfOptionsShown, setNumberOfOptionsShown] = useState(DEFAULT_OPTIONS_PAGE_SIZE);\n const searchBoxReference = useRef(null);\n const selectReference = useRef(null);\n const dropdownButtonReference = useRef(null);\n const optionsListReference = useRef(null);\n const isSearchEnabled = !!onSearchChange || !!search;\n const isDropdownAutoWidth = dropdownWidth == null;\n\n const fallbackButtonId = useMemo(() => getSimpleRandomId('np-select-'), []);\n\n const options = useMemo(() => {\n if (!search || !searchValue) {\n return defaultOptions;\n }\n\n return defaultOptions.filter(isSearchableOption).filter((option) => {\n if (typeof search === 'function') {\n return search(option, searchValue);\n } else {\n return defaultFilterFunction(option, searchValue);\n }\n });\n }, [defaultOptions, search, searchValue]);\n\n const selectableOptions = useMemo(() => options.filter(isActionableOption), [options]);\n const focusedOption = selectableOptions[keyboardFocusedOptionIndex];\n\n const computedId = id || fallbackButtonId;\n const listboxId = `${computedId}-listbox`;\n const searchBoxId = `${computedId}-searchbox`;\n\n const { isMobile } = useLayout();\n\n useEffect(() => {\n let cancelled;\n\n if (keyboardFocusedOptionIndex >= 0) {\n requestAnimationFrame(() => {\n if (!cancelled) {\n if (isSearchEnabled) {\n keyboardFocusedReference.current?.scrollIntoView?.({ block: 'center' });\n } else {\n keyboardFocusedReference.current?.focus();\n }\n }\n });\n\n return () => {\n cancelled = true;\n };\n }\n }, [keyboardFocusedOptionIndex, isSearchEnabled]);\n\n const handleOnClick = () => {\n setOpen(true);\n };\n\n const handleTouchStart = (event) => {\n if (event.currentTarget === event.target && open) {\n handleCloseOptions();\n }\n };\n\n const handleOnFocus = (event) => {\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleOnBlur = (event) => {\n const { nativeEvent } = event;\n if (nativeEvent) {\n const elementReceivingFocus = nativeEvent.relatedTarget;\n const select = event.currentTarget;\n if (select && elementReceivingFocus && select.contains(elementReceivingFocus)) {\n return;\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleSearchChange = (event) => {\n setNumberOfOptionsShown(DEFAULT_OPTIONS_PAGE_SIZE);\n setSearchValue(event.target.value);\n if (onSearchChange) {\n onSearchChange(event.target.value);\n }\n };\n\n const handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowDown':\n if (open) {\n moveFocusWithDifference(event.key === 'ArrowUp' ? -1 : 1);\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case ' ':\n if (event.target !== searchBoxReference.current) {\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n }\n break;\n case 'Enter':\n if (open) {\n selectKeyboardFocusedOption();\n } else {\n setOpen(true);\n }\n stopPropagation(event);\n break;\n case 'Escape':\n handleCloseOptions();\n stopPropagation(event);\n break;\n case 'Tab':\n if (open) {\n selectKeyboardFocusedOption();\n }\n break;\n default:\n break;\n }\n };\n\n function selectKeyboardFocusedOption() {\n if (keyboardFocusedOptionIndex != null && selectableOptions.length > 0) {\n selectOption(selectableOptions[keyboardFocusedOptionIndex]);\n }\n }\n\n function moveFocusWithDifference(difference) {\n const selectedOptionIndex = selectableOptions.reduce((optionIndex, current, index) => {\n if (optionIndex != null) {\n return optionIndex;\n }\n if (isOptionSelected(selected, current)) {\n return index;\n }\n return null;\n }, null);\n const previousFocusedIndex = previousKeyboardFocusedOptionIndex.current ?? -1;\n let indexToStartMovingFrom = previousFocusedIndex;\n if (previousFocusedIndex === -1) {\n if (selectedOptionIndex == null) {\n setKeyboardFocusedOptionIndex(0);\n } else {\n indexToStartMovingFrom = selectedOptionIndex;\n }\n }\n\n const unClampedNewIndex = indexToStartMovingFrom + difference;\n const newIndex = clamp(0, selectableOptions.length - 1, unClampedNewIndex);\n\n setKeyboardFocusedOptionIndex(newIndex);\n }\n\n useEffect(() => {\n if (open) {\n if (!isMobile || searchValue) {\n if (isSearchEnabled && !!searchBoxReference.current) {\n searchBoxReference.current.focus();\n }\n if (\n !isSearchEnabled &&\n optionsListReference.current &&\n (previousKeyboardFocusedOptionIndex.current == null ||\n Number.isNaN(previousKeyboardFocusedOptionIndex.current))\n ) {\n optionsListReference.current.focus();\n }\n }\n\n previousKeyboardFocusedOptionIndex.current = keyboardFocusedOptionIndex;\n } else {\n previousKeyboardFocusedOptionIndex.current = null;\n }\n }, [open, searchValue, isSearchEnabled, isMobile, keyboardFocusedOptionIndex]);\n\n const handleCloseOptions = () => {\n setOpen(false);\n setKeyboardFocusedOptionIndex(null);\n if (dropdownButtonReference.current) {\n dropdownButtonReference.current.focus();\n }\n };\n\n function createSelectHandlerForOption(option) {\n return (event) => {\n stopPropagation(event);\n selectOption(option);\n };\n }\n\n function selectOption(option) {\n onChange(isPlaceholderOption(option) ? DEFAULT_SELECTED_OPTION : option);\n handleCloseOptions();\n }\n\n function renderOptionsList({ className } = {}) {\n const dropdownClass = classNames(\n s('np-dropdown-menu'),\n {\n [s('np-dropdown-menu-desktop')]: !isMobile,\n [s(`np-dropdown-menu-${dropdownWidth}`)]: !isMobile && !isDropdownAutoWidth,\n },\n s(className),\n );\n\n const showPlaceholder = !required && !isSearchEnabled && Boolean(placeholder);\n return (\n <ul\n ref={optionsListReference}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-activedescendant={getUniqueIdForOption(id, selected)}\n tabIndex=\"-1\"\n className={dropdownClass}\n {...dropdownProps}\n >\n {showPlaceholder && <PlaceHolderOption />}\n {isSearchEnabled && (\n <SearchBox\n ref={searchBoxReference}\n id={searchBoxId}\n classNames={classNamesProp}\n value={initSearchValue || searchValue}\n placeholder={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n focusedOptionId={getUniqueIdForOption(id, focusedOption)}\n onChange={handleSearchChange}\n onClick={stopPropagation}\n />\n )}\n {options.slice(0, numberOfOptionsShown).map(renderOption)}\n {numberOfOptionsShown < options.length && <ShowMoreOption />}\n </ul>\n );\n }\n\n function ShowMoreOption() {\n function handleOnClick(event) {\n stopPropagation(event);\n setNumberOfOptionsShown(numberOfOptionsShown + DEFAULT_OPTIONS_PAGE_SIZE);\n }\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={classNames(s('clickable'), s('border-bottom'), s('show-more'))}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>...</a>\n </li>\n );\n }\n\n function PlaceHolderOption() {\n const placeholderOption = { placeholder };\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n className={classNames(s('clickable'), s('border-bottom'))}\n onClick={createSelectHandlerForOption(placeholderOption)}\n onKeyPress={createSelectHandlerForOption(placeholderOption)}\n >\n {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}\n <a>{placeholder}</a>\n </li>\n );\n }\n\n // eslint-disable-next-line react/prop-types\n function SeparatorOption() {\n return <li className={s('np-separator')} aria-hidden />;\n }\n\n // eslint-disable-next-line react/prop-types\n function HeaderOption({ children }) {\n return (\n <li // eslint-disable-line jsx-a11y/no-noninteractive-element-interactions\n className={classNames(s('np-dropdown-header'), s('np-text-title-group'))}\n onClick={stopPropagation}\n onKeyPress={stopPropagation}\n >\n {children}\n </li>\n );\n }\n\n function isOptionSelected(selected, option) {\n return selected?.value === option?.value;\n }\n\n const renderOption = (option, index) => {\n const separatorOption = option;\n if (isSeparatorOption(separatorOption) && separatorOption?.separator) {\n return <SeparatorOption key={index} />;\n }\n const headerOption = option;\n if (isHeaderOption(headerOption) && headerOption.header) {\n return <HeaderOption key={index}>{headerOption.header}</HeaderOption>;\n }\n\n const isActive = isOptionSelected(selected, option);\n const selectOption = option;\n const isFocusedWithKeyboard =\n !selectOption.disabled &&\n keyboardFocusedOptionIndex === getIndexWithoutHeadersForIndexWithHeaders(index);\n\n const className = classNames(\n s('np-dropdown-item'),\n selectOption.disabled ? [s('disabled')] : s('clickable'),\n {\n [s('active')]: isActive,\n [s('np-dropdown-item--focused')]: isFocusedWithKeyboard,\n },\n );\n\n const handleOnClick = selectOption.disabled\n ? stopPropagation\n : createSelectHandlerForOption(selectOption);\n\n return (\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n <li\n ref={isFocusedWithKeyboard ? keyboardFocusedReference : undefined}\n key={index}\n id={getUniqueIdForOption(id, option)}\n aria-selected={isActive}\n aria-disabled={option.disabled}\n role=\"option\"\n tabIndex=\"-1\"\n className={className}\n onClick={handleOnClick}\n onKeyPress={handleOnClick}\n >\n {/* @ts-expect-error options needs DOM refactoring */}\n <a disabled={selectOption.disabled}>\n <Option {...selectOption} classNames={classNamesProp} />\n </a>\n </li>\n );\n };\n\n function getIndexWithoutHeadersForIndexWithHeaders(index) {\n return options.reduce((sum, option, currentIndex) => {\n if (currentIndex < index && isActionableOption(option)) {\n return sum + 1;\n }\n return sum;\n }, 0);\n }\n\n const hasActiveOptions = !!defaultOptions.length;\n if (open && (initSearchValue || searchValue)) {\n if (hasActiveOptions && keyboardFocusedOptionIndex == null) {\n setKeyboardFocusedOptionIndex(0);\n }\n if (!hasActiveOptions && keyboardFocusedOptionIndex != null) {\n setKeyboardFocusedOptionIndex(null);\n }\n }\n\n return (\n <div // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref={selectReference}\n className={classNames(s('np-select'), block ? s('btn-block') : null, s('btn-group'))}\n onKeyDown={handleKeyDown}\n onTouchMove={handleTouchStart}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n >\n <Button\n ref={dropdownButtonReference}\n id={computedId}\n block={block}\n size={size}\n htmlType=\"button\"\n className={classNames(\n s('np-dropdown-toggle'),\n s('np-text-body-large'),\n inverse ? s('np-dropdown-toggle-navy') : null,\n )}\n // reset Button's styles\n type={null}\n priority={null}\n disabled={disabled}\n aria-controls={listboxId}\n aria-expanded={open}\n onClick={handleOnClick}\n {...buttonProps}\n >\n {selected ? (\n <Option {...selected} classNames={classNamesProp} selected />\n ) : (\n <span className={s('form-control-placeholder')}>{placeholder}</span>\n )}\n <Chevron\n // disabled={disabled}\n className={classNames(\n s('tw-icon'),\n s('tw-chevron-up-icon'),\n s('tw-chevron'),\n s('bottom'),\n s('np-select-chevron'),\n )}\n />\n </Button>\n {isMobile ? (\n isSearchEnabled ? (\n <Drawer\n open={open}\n headerTitle={searchPlaceholder || formatMessage(messages.searchPlaceholder)}\n onClose={handleCloseOptions}\n >\n {renderOptionsList()}\n </Drawer>\n ) : (\n <BottomSheet open={open} onClose={handleCloseOptions}>\n {renderOptionsList({ className: isModern ? '' : 'p-a-1' })}\n </BottomSheet>\n )\n ) : (\n <Panel\n open={open}\n flip={false}\n altAxis\n anchorRef={selectReference}\n anchorWidth={isDropdownAutoWidth}\n position={dropdownUp ? Position.TOP : Position.BOTTOM}\n onClose={handleCloseOptions}\n >\n {renderOptionsList({ className: 'p-a-1' })}\n </Panel>\n )}\n </div>\n );\n}\n\nSelect.propTypes = {\n placeholder: PropTypes.string,\n id: PropTypes.string,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n inverse: PropTypes.bool,\n dropdownRight: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n dropdownWidth: PropTypes.oneOf(['sm', 'md', 'lg']),\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n block: PropTypes.bool,\n selected: PropTypes.shape({\n value: PropTypes.any.isRequired,\n label: PropTypes.node,\n icon: PropTypes.node,\n currency: PropTypes.string,\n note: PropTypes.node,\n secondary: PropTypes.node,\n }),\n /**\n * Search toggle\n * if `true` default search functionality being enabled (not case sensitive search in option labels & currency props)\n * if `function` you can define your own search function to implement custom search experience. This search function used while filtering the options array. The custom search function takes two parameters. First is the option the second is the keyword.\n */\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.any,\n label: PropTypes.node,\n header: PropTypes.node,\n icon: PropTypes.node,\n currency: PropTypes.string,\n note: PropTypes.node,\n secondary: PropTypes.node,\n separator: PropTypes.bool,\n disabled: PropTypes.bool,\n searchStrings: PropTypes.arrayOf(PropTypes.string),\n }),\n ).isRequired,\n /**\n * To have full control of your search value and response use `onSearchChange` function combined with `searchValue` and custom filtering on the options array.\n * DO NOT USE TOGETHER WITH `search` PROPERTY\n */\n onSearchChange: PropTypes.func,\n searchValue: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n classNames: PropTypes.objectOf(PropTypes.string),\n dropdownUp: PropTypes.bool,\n buttonProps: PropTypes.object,\n dropdownProps: PropTypes.object,\n};\n\nSelect.defaultProps = {\n id: undefined,\n placeholder: undefined,\n size: 'md',\n dropdownRight: null,\n dropdownWidth: null,\n inverse: false,\n required: false,\n disabled: false,\n block: true,\n selected: null,\n onFocus: null,\n onBlur: null,\n onSearchChange: undefined,\n search: false,\n searchValue: '',\n searchPlaceholder: undefined,\n classNames: {},\n dropdownUp: false,\n buttonProps: {},\n dropdownProps: {},\n};\n","import { Component, createRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport ActionButton from '../actionButton';\nimport Body from '../body';\nimport { Theme, ThemeDark, ThemeLight } from '../common';\nimport { DirectionContext } from '../provider/direction';\nimport withNextPortal from '../withNextPortal/withNextPortal';\n\nexport const CSS_TRANSITION_DURATION = 400;\n\nexport interface SnackbarProps {\n action?: {\n label: string;\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n };\n text: React.ReactNode;\n theme?: ThemeLight | ThemeDark;\n timeout: number;\n timestamp: number;\n}\n\ninterface SnackbarState extends Pick<SnackbarProps, 'action' | 'text' | 'theme'> {\n visible: boolean;\n}\n\nexport class Snackbar extends Component<SnackbarProps, SnackbarState> {\n bodyRef = createRef<HTMLSpanElement>();\n timeout = 0;\n transitionTimeout = 0;\n\n constructor(props: SnackbarProps) {\n super(props);\n this.state = {\n visible: false,\n text: '',\n };\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout);\n window.clearTimeout(this.transitionTimeout);\n }\n\n shouldComponentUpdate(nextProps: SnackbarProps, nextState: SnackbarState) {\n if (!nextProps.text) {\n return false;\n }\n if (\n nextProps.timestamp === this.props.timestamp &&\n nextState.visible === this.state.visible &&\n nextState.text === this.state.text\n ) {\n return false;\n }\n\n return true;\n }\n\n setLeaveTimeout = () => {\n const { timeout } = this.props;\n\n this.timeout = window.setTimeout(() => {\n this.setState({ visible: false });\n }, timeout);\n };\n\n componentDidUpdate(previousProps: SnackbarProps) {\n const { action, text, theme, timestamp } = this.props;\n\n if (!previousProps.text) {\n this.setState({ visible: true, action, text, theme }, () => {\n this.setLeaveTimeout();\n });\n } else if (previousProps.timestamp !== timestamp) {\n window.clearTimeout(this.timeout);\n\n if (this.state.visible) {\n this.setState({ visible: false }, () => {\n this.transitionTimeout = window.setTimeout(() => {\n this.setState({ visible: true, action, text, theme });\n this.setLeaveTimeout();\n }, CSS_TRANSITION_DURATION);\n });\n } else {\n this.setState({ visible: true, action, text, theme });\n this.setLeaveTimeout();\n }\n }\n }\n\n render() {\n const { action, text, theme = Theme.LIGHT, visible } = this.state;\n const { timeout } = this.props;\n\n return (\n <div className=\"snackbar\">\n <CSSTransition\n nodeRef={this.bodyRef}\n in={visible}\n classNames=\"snackbar__text-container\"\n timeout={{\n appear: 0,\n enter: timeout,\n exit: CSS_TRANSITION_DURATION,\n }}\n unmountOnExit\n >\n <Body\n ref={this.bodyRef}\n as=\"span\"\n className={`snackbar__text snackbar__text--${theme}`}\n aria-live=\"polite\"\n >\n {text}\n {action ? (\n <ActionButton className=\"snackbar__text__action\" onClick={action.onClick}>\n {action.label}\n </ActionButton>\n ) : null}\n </Body>\n </CSSTransition>\n </div>\n );\n }\n}\n\nSnackbar.contextType = DirectionContext;\n\nexport default withNextPortal(Snackbar);\n","import { createContext } from 'react';\n\nimport { SnackbarProps } from './Snackbar';\n\nexport type SnackbarContextType = {\n createSnackbar: (props: Omit<SnackbarProps, 'timeout' | 'timestamp'>) => void;\n};\n\nexport const SnackbarContext = createContext<SnackbarContextType>({ createSnackbar: () => {} });\n\nexport const SnackbarConsumer = SnackbarContext.Consumer;\n","import { useMemo, useState } from 'react';\n\nimport SnackbarPortal, { SnackbarProps } from './Snackbar';\nimport { SnackbarContext } from './SnackbarContext';\n\nexport interface SnackbarProviderProps {\n timeout?: number;\n children?: React.ReactNode;\n}\n\nexport default function SnackbarProvider({ timeout = 4500, children }: SnackbarProviderProps) {\n const [state, setState] = useState<Omit<SnackbarProps, 'timeout'>>({\n text: '',\n timestamp: 0,\n });\n const { action, text, theme, timestamp } = state;\n\n return (\n <SnackbarContext.Provider\n value={useMemo(\n () => ({\n createSnackbar: ({ action, text, theme }) => {\n setState({ action, text, theme, timestamp: Date.now() });\n },\n }),\n [],\n )}\n >\n <SnackbarPortal\n action={action}\n text={text}\n timestamp={timestamp}\n timeout={timeout}\n theme={theme}\n />\n {children}\n </SnackbarContext.Provider>\n );\n}\n","import { Position } from '../common';\nimport SlidingPanel from '../slidingPanel';\n\nexport interface StickyProps {\n open?: boolean;\n position?: `${Position.TOP | Position.BOTTOM}`;\n children?: React.ReactNode;\n}\n\nexport default function Sticky({ open = true, position = 'bottom', children }: StickyProps) {\n return (\n <SlidingPanel open={open} position={position} slidingPanelPositionFixed showSlidingPanelBorder>\n {children}\n </SlidingPanel>\n );\n}\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n statusNotDone: {\n id: 'neptune.Summary.statusNotDone',\n defaultMessage: 'Item to do',\n },\n statusPending: {\n id: 'neptune.Summary.statusPending',\n defaultMessage: 'Item pending',\n },\n statusDone: {\n id: 'neptune.Summary.statusDone',\n defaultMessage: 'Item done',\n },\n});\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */\nimport {\n CheckCircleFill as CheckCircleIcon,\n ClockFill as PendingCircleIcon,\n} from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { ElementType, cloneElement, ReactNode } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Body from '../body';\nimport {\n Status,\n StatusDone,\n StatusNotDone,\n StatusPending,\n Size,\n Typography,\n Sentiment,\n} from '../common';\nimport Info, { InfoProps } from '../info';\nimport Link, { LinkProps } from '../link';\nimport StatusIcon from '../statusIcon';\n\nimport messages from './Summary.messages';\n\nconst BadgeIcons = {\n [Status.DONE]: CheckCircleIcon,\n [Status.PENDING]: PendingCircleIcon,\n};\n\nconst statusLabels = {\n [Status.NOT_DONE]: 'statusNotDone',\n [Status.DONE]: 'statusDone',\n [Status.PENDING]: 'statusPending',\n};\n\nconst statusMapping = {\n [Status.DONE]: Sentiment.POSITIVE,\n [Status.PENDING]: Sentiment.PENDING,\n};\n\nexport interface Props {\n /**\n * Action displayed at the bottom of the Summary\n */\n action?: Pick<LinkProps, 'href' | 'aria-label' | 'target' | 'onClick'> & {\n text: ReactNode;\n };\n /**\n * Decides which html element should wrap the Summary\n */\n as?: ElementType;\n /**\n * Extra classes applied to Summary\n */\n className?: string;\n /**\n * @deprecated please use description instead\n */\n content?: ReactNode;\n /**\n * Summary description\n */\n description?: ReactNode;\n /**\n * @deprecated please use info instead\n */\n help?: {\n content: ReactNode;\n title?: ReactNode;\n };\n /**\n * Infos displayed on help Icon click inside Popover or Modal\n */\n info?: Pick<InfoProps, 'aria-label' | 'content' | 'onClick' | 'presentation' | 'title'>;\n /**\n * @deprecated please use icon instead\n */\n illustration?: ReactNode;\n /**\n * Main Summary Icon\n */\n icon?: ReactNode;\n /**\n * Decides the badge applied to Icon\n */\n status?: StatusNotDone | StatusDone | StatusPending;\n /**\n * Summary title\n */\n title: ReactNode;\n}\n\nconst Summary = ({\n action,\n as: Element = 'div',\n className,\n content = null,\n description = content,\n help,\n icon,\n illustration = null,\n info = help,\n status,\n title,\n}: Props) => {\n const intl = useIntl();\n\n let media = illustration;\n if (icon) {\n // @ts-expect-error if icon is present it has props and size prop\n const iconSize = icon?.props?.size as number;\n\n media =\n iconSize !== 24\n ? // @ts-expect-error we need icon to adjust it's size\n cloneElement(icon, { size: 24 })\n : icon;\n }\n // @ts-expect-error Badge can be null, this is handled in code\n const Badge = status && BadgeIcons[status];\n\n return (\n <Element\n className={classNames('np-summary d-flex align-items-start', className)}\n // @ts-expect-error we check whether `status` is not null before index `statusLabels` and `messages`\n aria-label={status && intl.formatMessage(messages[statusLabels[status]])}\n >\n <div className=\"np-summary__icon\">\n {media}\n {Badge && (\n <div>\n {/* @ts-expect-error it's okey to pass `undefined` into `sentiment` prop */}\n <StatusIcon size={Size.SMALL} sentiment={statusMapping[status]} />\n </div>\n )}\n </div>\n <div className=\"np-summary__body m-l-2\">\n <div className=\"np-summary__title d-flex\">\n <Body\n as=\"span\"\n role=\"heading\"\n aria-level={4}\n type={Typography.BODY_LARGE_BOLD}\n className=\"text-primary m-b-1\"\n >\n {title}\n </Body>\n {info && (\n <Info\n aria-label={info['aria-label']}\n className=\"m-l-1 hidden-xs\"\n content={info.content}\n presentation={info.presentation}\n size={Size.LARGE}\n title={info.title}\n onClick={info.onClick}\n />\n )}\n </div>\n\n {description && (\n <Body\n as=\"span\"\n type={Typography.BODY_DEFAULT}\n className=\"d-block np-summary__description\"\n >\n {description}\n </Body>\n )}\n {action && (\n <Link\n href={action.href}\n target={action.target}\n className=\"np-summary__action\"\n aria-label={action['aria-label']}\n onClick={action.onClick}\n >\n {action.text}\n </Link>\n )}\n </div>\n {info && (\n <Info\n aria-label={info['aria-label']}\n className=\"m-l-2 hidden-sm hidden-md hidden-lg hidden-xl\"\n content={info.content}\n presentation={info.presentation}\n size={Size.LARGE}\n title={info.title}\n onClick={info.onClick}\n />\n )}\n </Element>\n );\n};\n\nexport default Summary;\n","import { CheckCircleFill, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classnames from 'classnames';\nimport { KeyboardEventHandler, MouseEvent } from 'react';\n\nimport { CommonProps } from '../common';\nimport { logActionRequiredIf } from '../utilities';\n\nexport type SwitchProps = CommonProps & {\n /** Used to describe the purpose of the switch. To be used if there is no external label (i.e. aria-labelledby is null) */\n 'aria-label'?: string;\n /** A reference to a label that describes the purpose of the switch. Ignored if aria-label is provided */\n 'aria-labelledby'?: string;\n /** Whether the switch is checked or not */\n checked?: boolean;\n disabled?: boolean;\n /** ID to apply to the switch container */\n id?: string;\n /** Function called when the switch is toggled */\n onClick: (event?: MouseEvent<HTMLSpanElement>) => void;\n};\n\nconst Switch = (props: SwitchProps) => {\n const { isModern } = useTheme();\n const { checked, className, id, onClick, disabled } = props;\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (event.key === ' ') {\n event.preventDefault();\n onClick();\n }\n };\n\n const returnIcon = () => {\n if (isModern) {\n return <span className=\"np-switch--thumb\" />;\n }\n\n if (checked) {\n return (\n <span className=\"np-switch--thumb\">\n <CheckCircleFill size={24} />\n </span>\n );\n }\n return (\n <span className=\"np-switch--thumb\">\n <CrossCircleFill size={24} />\n </span>\n );\n };\n\n const ariaLabel = props['aria-label'];\n const ariaLabelledby = ariaLabel ? undefined : props['aria-labelledby'];\n\n logActionRequiredIf(\n 'Switch now expects either `aria-label` or `aria-labelledby`, and will soon make these props required. Please update your usage to provide one or the other.',\n !ariaLabel && !ariaLabelledby,\n );\n\n return (\n <span\n className={classnames(\n 'np-switch',\n\n {\n 'np-switch--unchecked': !checked,\n 'np-switch--checked': checked,\n disabled: disabled,\n },\n className,\n )}\n tabIndex={0}\n role=\"switch\"\n aria-checked={checked}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n id={id}\n aria-disabled={disabled}\n onClick={!disabled ? onClick : undefined}\n onKeyDown={!disabled ? handleKeyDown : undefined}\n >\n {returnIcon()}\n <input type=\"checkbox\" checked={checked} readOnly />\n </span>\n );\n};\n\nexport default Switch;\n","import { MouseEvent, ReactChild } from 'react';\n\nimport Option from '../common/Option';\nimport Switch from '../switch';\n\nexport type SwitchOptionProps = {\n checked?: boolean;\n complex?: boolean;\n content?: ReactChild;\n disabled?: boolean;\n showMediaCircle?: boolean;\n showMediaAtAllSizes?: boolean;\n isContainerAligned?: boolean;\n id?: string;\n media?: ReactChild;\n onChange: (newValue: boolean) => void;\n title: ReactChild;\n 'aria-label': string;\n};\n\nconst stopPropagation = (event?: MouseEvent<HTMLSpanElement>) => {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n if (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {\n event.nativeEvent.stopImmediatePropagation();\n }\n }\n};\n\nconst SwitchOption = ({\n checked,\n complex,\n content,\n disabled,\n id,\n media,\n onChange,\n title,\n showMediaCircle,\n showMediaAtAllSizes,\n isContainerAligned,\n 'aria-label': ariaLabel,\n}: SwitchOptionProps) => {\n const sharedProps = {\n media,\n title,\n content,\n complex,\n disabled,\n showMediaCircle,\n showMediaAtAllSizes,\n isContainerAligned,\n };\n const toggle = (event?: MouseEvent<HTMLSpanElement>) => {\n stopPropagation(event);\n if (disabled) {\n return;\n }\n\n onChange(!checked);\n };\n\n return (\n <Option\n {...sharedProps}\n button={\n <Switch\n id={id}\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n onClick={toggle}\n />\n }\n onClick={toggle}\n />\n );\n};\n\nexport default SwitchOption;\n","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { forwardRef, useEffect, useRef } from 'react';\n\nconst Tab = forwardRef(\n (\n { children, id, disabled, panelId, selected, onKeyDown, onClick, style, focusTab },\n reference,\n ) => {\n const firstUpdate = useRef(true);\n\n const checkFocus = () => {\n if (firstUpdate.current) {\n firstUpdate.current = false;\n return;\n }\n\n if (selected && focusTab) {\n focusTab();\n }\n };\n\n useEffect(() => {\n checkFocus();\n }, [selected]);\n\n return (\n <li\n ref={reference}\n className={classNames(\n 'tabs__tab',\n selected ? 'np-text-body-large-bold' : 'np-text-body-large',\n {\n 'tabs__tab--selected': selected,\n clickable: !disabled,\n disabled: disabled,\n },\n )}\n role=\"tab\"\n id={id}\n aria-selected={selected ? 'true' : 'false'}\n aria-disabled={disabled ? 'true' : 'false'}\n aria-controls={disabled ? null : panelId}\n tabIndex=\"0\"\n style={style}\n onKeyDown={disabled ? null : onKeyDown}\n onClick={onClick}\n >\n <span className=\"tabs__tab__content\">{children}</span>\n </li>\n );\n },\n);\n\nTab.defaultProps = {\n disabled: false,\n selected: false,\n onClick: null,\n style: null,\n focusTab: null,\n};\n\nTab.propTypes = {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n selected: PropTypes.bool,\n id: PropTypes.string.isRequired,\n panelId: PropTypes.string.isRequired,\n onKeyDown: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n style: PropTypes.shape({ width: PropTypes.string }),\n focusTab: PropTypes.func,\n};\n\nexport default Tab;\n","import PropTypes from 'prop-types';\n\nconst TabList = ({ children }) => {\n return (\n <ul className=\"tabs__tab-list\" role=\"tablist\">\n {children}\n </ul>\n );\n};\n\nTabList.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n};\n\nexport default TabList;\n","import PropTypes from 'prop-types';\n\nconst TabPanel = ({ children, id, tabId, style }) => {\n return (\n <div className=\"tabs__panel\" role=\"tabpanel\" id={id} aria-labelledby={tabId} style={style}>\n {children}\n </div>\n );\n};\n\nTabPanel.propTypes = {\n children: PropTypes.node.isRequired,\n id: PropTypes.string.isRequired,\n tabId: PropTypes.string.isRequired,\n style: PropTypes.shape({\n width: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default TabPanel;\n","const MIN_SWIPE_DISTANCE = 50;\nconst MIN_SWIPE_VELOCITY = 0.1;\n\nconst swipedSignificantDistance = (difference) => Math.abs(difference) > MIN_SWIPE_DISTANCE;\n\nconst swipedWithSignificantVelocity = (velocity) => velocity > MIN_SWIPE_VELOCITY;\n\nexport const getSwipeVelocity = (start, end) => {\n const timePassed = end.time - start.time;\n\n return getSwipeDifference(start, end) / timePassed;\n};\n\nexport const getSwipeDifference = (start, end, axis = 'x') => {\n return Math.abs(start[axis] - end[axis]);\n};\n\nexport const swipedLeftToRight = (start, end) => {\n return end.x > start.x;\n};\n\nexport const swipedRightToLeft = (start, end) => {\n return start.x > end.x;\n};\n\nexport const swipeShouldChangeTab = (start, end) => {\n const difference = getSwipeDifference(start, end);\n const velocity = getSwipeVelocity(start, end);\n\n return swipedSignificantDistance(difference) && swipedWithSignificantVelocity(velocity);\n};\n\nexport function getVelocity(coords) {\n try {\n const relevant = coords.slice(Math.max(coords.length - 5, 1));\n const first = relevant[0];\n const last = relevant[relevant.length - 1];\n\n return Math.abs(first.x - last.x) / (last.time - first.time);\n } catch {\n return 0;\n }\n}\n\n/*\n `elasticDrag` is the translateX value, which slows down as the difference increases\n `1 - Math.E ** (-0.005 * difference)` provides a % value of how far we want to translate (0.005 being the rate)\n `Math.min(150, window.innerWidth / 3)` provides the maximum translate value\n*/\nexport const getElasticDragDifference = (difference) =>\n Math.min(150, window.innerWidth / 3) * (1 - Math.E ** (-0.005 * difference));\n","/* eslint-disable react/forbid-dom-props */\nimport { Spring, SpringValue, animated } from '@react-spring/web';\nimport classNames from 'classnames';\nimport clamp from 'lodash.clamp';\nimport PropTypes from 'prop-types';\nimport { Component, createRef, Fragment, RefObject } from 'react';\n\nimport { Size, Width, Direction } from '../common';\nimport { DirectionContext } from '../provider/direction';\n\nimport Tab from './Tab';\nimport TabList from './TabList';\nimport TabPanel from './TabPanel';\nimport {\n getElasticDragDifference,\n getSwipeDifference,\n swipedLeftToRight,\n swipedRightToLeft,\n swipeShouldChangeTab,\n getVelocity,\n} from './utils';\n\nconst MIN_INDEX = 0;\n\nconst enabledTabsFilter = (tab) => !tab.disabled;\n\nconst SpacerWidth = { default: 0, xs: 8, sm: 16, md: 24, lg: 32 };\n\nclass Tabs extends Component {\n /** @type {RefObject<HTMLDivElement>} */\n containerReference = createRef();\n\n constructor(props) {\n super(props);\n this.state = {\n start: null,\n translateX: 0,\n translateFrom: 0,\n translateTo: 0,\n translateLineX: null,\n isAnimating: false,\n isSwiping: false,\n isScrolling: false,\n lastSwipeVelocity: 0,\n fullWidthTabs: props.headerWidth === Width.BLOCK,\n };\n }\n\n container = null;\n\n containerWidth = 0;\n\n tabRefs = [];\n\n get filteredTabsLength() {\n return this.props.tabs.filter(enabledTabsFilter).length;\n }\n\n get MAX_INDEX() {\n return this.props.tabs.length - 1;\n }\n\n componentDidMount() {\n const { selected } = this.props;\n\n this.setTabWidth();\n this.switchTab(clamp(selected, MIN_INDEX, this.MAX_INDEX));\n this.animateToTab(clamp(selected, MIN_INDEX, this.MAX_INDEX), true);\n document.body.addEventListener('touchmove', this.disableScroll, { passive: false });\n document.body.addEventListener('touchforcechange', this.disableScroll, { passive: false });\n window.addEventListener('resize', this.handleResize);\n }\n\n componentDidUpdate(previousProps, previousState) {\n const currentSelected = this.props.selected;\n const previousSelected = previousProps.selected;\n const currentSelectedTab = this.props.tabs[currentSelected];\n const currentSelectedTabIsDisabled = currentSelectedTab && currentSelectedTab.disabled;\n const previousSelectedTab = previousProps.tabs[previousSelected];\n const previousSelectedTabIsDisabled = previousSelectedTab && previousSelectedTab.disabled;\n const currentTabsLength = this.props.tabs.length;\n const previousTabsLength = previousProps.tabs.length;\n const currentDisabledTabsLength = this.props.tabs.filter(enabledTabsFilter).length;\n const previousDisabledTabsLength = previousProps.tabs.filter(enabledTabsFilter).length;\n const currentHeaderWidth = this.props.headerWidth;\n const previousFullHeaderWidth = previousProps.headerWidth;\n const { animatePanelsOnClick } = this.props;\n const instantOnClick = !animatePanelsOnClick && !previousState.isSwiping;\n\n if (\n currentHeaderWidth !== previousFullHeaderWidth ||\n currentTabsLength !== previousTabsLength\n ) {\n this.setTabWidth();\n }\n\n if (\n currentSelected !== previousSelected ||\n currentDisabledTabsLength !== previousDisabledTabsLength ||\n currentSelectedTabIsDisabled !== previousSelectedTabIsDisabled\n ) {\n this.animateToTab(\n clamp(currentSelected, MIN_INDEX, this.MAX_INDEX),\n currentSelected === previousSelected || instantOnClick,\n );\n }\n }\n\n componentWillUnmount() {\n document.body.removeEventListener('touchmove', this.disableScroll);\n document.body.removeEventListener('touchforcechange', this.disableScroll);\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = () => {\n this.setContainerWidth(this.container);\n\n this.setState(({ selectedTabIndex }) => ({\n translateTo: -(this.containerWidth * selectedTabIndex),\n }));\n };\n\n setContainerRefAndWidth = (node) => {\n this.container = node;\n this.setContainerWidth(node);\n };\n\n setContainerWidth = (node) => {\n if (!node) {\n return;\n }\n\n const { width } = node.getBoundingClientRect();\n\n this.containerWidth = width;\n };\n\n isTabDisabled = (index) => {\n const { tabs } = this.props;\n\n return tabs[index] && tabs[index].disabled;\n };\n\n getAllTabsWidth = () => {\n return this.tabRefs\n .map((reference) => {\n return reference ? reference.getBoundingClientRect().width : 0;\n })\n .reduce((a, b) => a + b, 0);\n };\n\n getDistanceToSelectedTab = (selectedTabIndex) => {\n return this.tabRefs\n .filter((_, idx) => idx < selectedTabIndex)\n .map((reference) => (reference ? reference.getBoundingClientRect().width : 0))\n .reduce((a, b) => a + b, 0);\n };\n\n setTabWidth = () => {\n const { fullWidthTabs } = this.state;\n const { headerWidth, selected } = this.props;\n\n const allTabsWidth = this.getAllTabsWidth();\n\n if (!fullWidthTabs && (headerWidth === Width.BLOCK || this.containerWidth < allTabsWidth)) {\n this.setState({ fullWidthTabs: true, translateLineX: `${selected * 100}%` });\n }\n if (fullWidthTabs && headerWidth === Width.AUTO && this.containerWidth >= allTabsWidth) {\n this.setState({\n fullWidthTabs: false,\n translateLineX: `${this.getDistanceToSelectedTab(selected)}px`,\n });\n }\n };\n\n getTabLineWidth = () => {\n const { fullWidthTabs } = this.state;\n const { selected, tabs } = this.props;\n\n if (fullWidthTabs) {\n return `${(1 / tabs.length) * 100}%`;\n }\n\n const reference = this.tabRefs[selected] || this.tabRefs[this.tabRefs.length - 1];\n const width = reference ? reference.getBoundingClientRect().width : 0;\n return `${width}px`;\n };\n\n /*\n * Gets the next tab that should be selected based on the swipe direction\n * and the current selected tab (is called recursively to account for disabled tabs).\n */\n getTabToSelect = (selected, start, end) => {\n let nextSelected = selected;\n\n if (swipedLeftToRight(start, end)) {\n nextSelected -= 1;\n\n if (nextSelected > MIN_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n } else if (swipedRightToLeft(start, end)) {\n nextSelected += 1;\n\n if (nextSelected < this.MAX_INDEX && this.isTabDisabled(nextSelected)) {\n return this.getTabToSelect(nextSelected, start, end);\n }\n }\n\n nextSelected = clamp(\n nextSelected,\n Math.max(selected - 1, MIN_INDEX),\n Math.min(selected + 1, this.MAX_INDEX),\n );\n\n if (this.isTabDisabled(nextSelected)) {\n return selected;\n }\n\n return nextSelected;\n };\n\n swipedOverHalfOfContainer = (difference) => difference / this.containerWidth >= 0.5;\n\n calculateApplicableDragDifference = ({ currentSelected, nextSelected, start, end }) => {\n const difference = getSwipeDifference(start, end);\n const elasticDrag = getElasticDragDifference(difference);\n\n if (swipedLeftToRight(start, end)) {\n if (currentSelected > MIN_INDEX && currentSelected !== nextSelected) {\n return Math.min(difference, this.containerWidth);\n }\n return elasticDrag;\n }\n if (swipedRightToLeft(start, end)) {\n if (currentSelected < this.MAX_INDEX && currentSelected !== nextSelected) {\n return -Math.min(difference, this.containerWidth);\n }\n return -elasticDrag;\n }\n\n return false;\n };\n\n switchTab = (index) => {\n const { onTabSelect } = this.props;\n onTabSelect(index);\n };\n\n getTabIndexWithoutDisabledTabs(index) {\n return index - this.props.tabs.slice(0, index).filter((tab) => !enabledTabsFilter(tab)).length;\n }\n\n animateToTab = (index, instant) => {\n this.animateLine(index);\n\n this.animatePanel(this.getTabIndexWithoutDisabledTabs(index), instant);\n };\n\n animateLine = (index) => {\n this.setState((previousState) => ({\n translateLineX: previousState.fullWidthTabs\n ? `${index * 100}%`\n : `${this.getDistanceToSelectedTab(index)}px`,\n }));\n };\n\n // Pass `instant` to set the `translateX` to the new panel with no transition\n animatePanel = (index, instant = false) => {\n const { translateTo: currentTranslateTo } = this.state;\n\n const translateFrom = currentTranslateTo;\n const translateTo = -(this.containerWidth * index);\n\n this.setState({\n selectedTabIndex: index,\n isAnimating: !instant && translateFrom !== translateTo,\n translateFrom,\n translateTo,\n });\n };\n\n disableScroll = (event) => {\n const { isSwiping } = this.state;\n\n if (isSwiping) {\n event.preventDefault();\n }\n };\n\n handleTabClick = (index) => () => {\n this.switchTab(index);\n };\n\n onKeyDown = (index) => (event) => {\n if (event && event.key === 'Enter') {\n this.switchTab(index);\n }\n };\n\n handleTouchStart = (event) => {\n const start = {\n x: event.nativeEvent.touches[0].clientX,\n y: event.nativeEvent.touches[0].clientY,\n time: Date.now(),\n };\n this.setState({\n start,\n currentSwipe: [start],\n });\n\n event.persist();\n };\n\n handleTouchMove = (event) => {\n const { start } = this.state;\n const { selected: currentSelectedFromProps } = this.props;\n const selected = this.getTabIndexWithoutDisabledTabs(currentSelectedFromProps);\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const yAxisDifference = getSwipeDifference(start, end, 'y');\n let { isScrolling, isSwiping } = this.state;\n\n event.persist();\n\n if (!isScrolling && !isSwiping) {\n if (difference > yAxisDifference) {\n isSwiping = true;\n } else {\n isScrolling = true;\n }\n }\n\n this.setState({ isScrolling, isSwiping });\n\n if (isSwiping) {\n const nextSelected = this.getTabToSelect(currentSelectedFromProps, start, end);\n\n this.animateLine(\n this.swipedOverHalfOfContainer(difference) ? nextSelected : currentSelectedFromProps,\n );\n\n const dragDifference = this.calculateApplicableDragDifference({\n currentSelected: currentSelectedFromProps,\n nextSelected,\n start,\n end,\n });\n\n const translateX = dragDifference\n ? -(this.containerWidth * selected) + dragDifference\n : false;\n\n this.setState((state) => ({\n currentSwipe: [...state.currentSwipe, end],\n translateFrom: translateX || state.translateFrom,\n translateTo: translateX || state.translateTo,\n }));\n }\n };\n\n handleTouchEnd = (event) => {\n const { start, isSwiping } = this.state;\n const { selected } = this.props;\n const end = {\n x: event.nativeEvent.changedTouches[0].clientX,\n y: event.nativeEvent.changedTouches[0].clientY,\n time: Date.now(),\n };\n const difference = getSwipeDifference(start, end);\n const velocity = getVelocity([...this.state.currentSwipe, end]);\n\n this.setState({\n currentSwipe: [],\n });\n\n let nextSelected = selected;\n\n event.persist();\n\n if (isSwiping) {\n if (swipeShouldChangeTab(start, end) || this.swipedOverHalfOfContainer(difference)) {\n nextSelected = this.getTabToSelect(nextSelected, start, end);\n }\n\n if (nextSelected !== selected) {\n this.switchTab(nextSelected);\n\n this.setState({\n lastSwipeVelocity: velocity,\n });\n } else {\n this.animateToTab(nextSelected);\n }\n }\n\n this.setState({ isSwiping: false, isScrolling: false });\n };\n\n render() {\n const { tabs, changeTabOnSwipe, name, selected, className, transitionSpacing, headerWidth } =\n this.props;\n const {\n isSwiping,\n translateLineX,\n isAnimating,\n translateFrom,\n translateTo,\n lastSwipeVelocity,\n fullWidthTabs,\n } = this.state;\n\n const spacer = SpacerWidth[transitionSpacing];\n\n const tabsLength = this.filteredTabsLength;\n\n const distanceSwiped = Math.abs(-translateFrom - this.containerWidth * selected);\n\n const remainingContainerToTravel = isSwiping\n ? 1 - distanceSwiped / this.containerWidth\n : 1 - Math.abs(distanceSwiped / this.containerWidth - 1);\n\n const restrictedVelocity =\n (Number.isNaN(remainingContainerToTravel) ? 0 : remainingContainerToTravel) *\n Math.min(10 * Math.E, lastSwipeVelocity * 10 * Math.E);\n\n const hidePanelOverflow = isAnimating || isSwiping;\n\n const sliderWidth = tabsLength * this.containerWidth + spacer * 2;\n\n // Uses `props.panelTransitionSpacing` to add a spacer in-between the `TabPanel` you're transitioning to/from\n const Spacer = ({ id }) =>\n spacer > 0 && (\n <div\n key={id}\n style={{\n width: spacer,\n display: hidePanelOverflow ? 'block' : 'none',\n }}\n />\n );\n\n return (\n <DirectionContext.Consumer>\n {(direction) => {\n const isRTL = direction === Direction.RTL;\n return (\n <div\n ref={this.containerReference}\n className={classNames('tabs', className, {\n 'tabs--auto-width': headerWidth === Width.AUTO,\n })}\n onTouchStart={changeTabOnSwipe ? this.handleTouchStart : undefined}\n onTouchEnd={changeTabOnSwipe ? this.handleTouchEnd : undefined}\n onTouchMove={changeTabOnSwipe ? this.handleTouchMove : undefined}\n >\n <TabList>\n {tabs.map(({ title, disabled }, index) => {\n return (\n <Tab\n key={title}\n ref={(node) => {\n this.tabRefs[index] = node;\n }}\n id={`${name}-tab-${index}`}\n panelId={`${name}-panel-${index}`}\n selected={selected === index}\n disabled={disabled}\n focusTab={() => {\n if (this.containerReference.current?.contains(document.activeElement)) {\n this.tabRefs[index].focus();\n }\n }}\n onClick={disabled ? null : this.handleTabClick(index)}\n onKeyDown={this.onKeyDown(index)}\n {...(fullWidthTabs\n ? { style: { width: `${(1 / tabs.length) * 100}%` } }\n : {})}\n >\n {title}\n </Tab>\n );\n })}\n {translateLineX ? (\n <li\n role=\"none\"\n className=\"tabs__line\"\n style={{\n width: this.getTabLineWidth(),\n transform: isRTL\n ? `translateX(-${translateLineX})`\n : `translateX(${translateLineX})`,\n }}\n />\n ) : null}\n </TabList>\n <div\n ref={this.setContainerRefAndWidth}\n className=\"tabs__panel-container\"\n style={{\n overflow: hidePanelOverflow ? 'hidden' : 'visible',\n }}\n >\n <Spring\n from={{\n transform: `translateX(${translateFrom - spacer}px)`,\n }}\n to={{\n transform: `translateX(${translateTo - spacer}px)`,\n }}\n config={{\n precision: isSwiping ? 1 : 0.01,\n velocity: !isSwiping ? restrictedVelocity : 0,\n clamp: true,\n }}\n onRest={() => {\n if (isAnimating) {\n this.setState({\n isAnimating: false,\n lastSwipeVelocity: 0,\n });\n }\n }}\n >\n {(props) => (\n <animated.div\n className=\"tabs__slider\"\n style={{\n width: hidePanelOverflow ? `${sliderWidth}px` : '100%',\n transform: hidePanelOverflow ? props.transform : 'translateX(0px)',\n }}\n >\n {tabs.map(({ content, disabled }, index) =>\n !disabled ? (\n <Fragment key={`${tabs[index].title}-fragment`}>\n {index === selected && <Spacer id=\"left-spacer\" />}\n <TabPanel\n key={tabs[index].title}\n tabId={`${name}-tab-${index}`}\n id={`${name}-panel-${index}`}\n style={{\n width: hidePanelOverflow ? `${this.containerWidth}px` : '100%',\n display: hidePanelOverflow || index === selected ? 'block' : 'none',\n }}\n >\n {content}\n </TabPanel>\n {index === selected && <Spacer id=\"right-spacer\" />}\n </Fragment>\n ) : null,\n )}\n </animated.div>\n )}\n </Spring>\n </div>\n </div>\n );\n }}\n </DirectionContext.Consumer>\n );\n }\n}\n\nconst SpacerSizes = { ...Size, NONE: 'default' };\n\nTabs.propTypes = {\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n content: PropTypes.node.isRequired,\n disabled: PropTypes.bool.isRequired,\n }),\n ).isRequired,\n selected: PropTypes.number.isRequired,\n onTabSelect: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n animatePanelsOnClick: PropTypes.bool,\n changeTabOnSwipe: PropTypes.bool,\n className: PropTypes.string,\n transitionSpacing: PropTypes.oneOf(['default', 'xs', 'sm', 'md', 'lg']),\n headerWidth: PropTypes.oneOf(['auto', 'block']),\n id: PropTypes.string,\n};\n\nTabs.defaultProps = {\n animatePanelsOnClick: false,\n changeTabOnSwipe: true,\n className: '',\n transitionSpacing: SpacerSizes.NONE,\n headerWidth: Width.BLOCK,\n};\n\nexport default Tabs;\n","import { TextArea, type TextAreaProps } from '../inputs/TextArea';\nimport WithDisplayFormat, { type WithDisplayFormatProps } from '../withDisplayFormat';\n\nexport interface TextareaWithDisplayFormatProps extends Omit<WithDisplayFormatProps, 'render'> {}\n\nconst TextareaWithDisplayFormat = (props: TextareaWithDisplayFormatProps) => (\n <WithDisplayFormat<TextAreaProps>\n {...props}\n render={(renderProps) => <TextArea {...renderProps} />}\n />\n);\n\nexport default TextareaWithDisplayFormat;\n","/* eslint-disable jsx-a11y/no-autofocus */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport classnames from 'classnames';\nimport { Component, createRef, ReactNode } from 'react';\n\nimport { Input } from '../../inputs/Input';\nimport { TypeaheadOption, TypeaheadProps } from '../Typeahead';\n\nconst DEFAULT_INPUT_MIN_WIDTH = 10;\n\nexport type TypeaheadInputProps<T> = {\n typeaheadId: string;\n value: string;\n selected: readonly TypeaheadOption<T>[];\n dropdownOpen?: boolean;\n autoComplete: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n onFocus: () => void;\n onPaste: React.ClipboardEventHandler<HTMLInputElement>;\n renderChip: (chip: TypeaheadOption<T>, index: number) => ReactNode;\n} & Pick<TypeaheadProps<T>, 'id' | 'name' | 'autoFocus' | 'multiple' | 'placeholder' | 'maxHeight'>;\n\ntype TypeaheadInputState = {\n inputWidth: number;\n};\n\nexport default class TypeaheadInput<T> extends Component<\n TypeaheadInputProps<T>,\n TypeaheadInputState\n> {\n inputRef = createRef<HTMLInputElement>();\n sizerRef = createRef<HTMLDivElement>();\n\n constructor(props: TypeaheadInputProps<T>) {\n super(props);\n this.state = {\n inputWidth: DEFAULT_INPUT_MIN_WIDTH,\n };\n }\n\n componentDidMount() {\n const { autoFocus } = this.props;\n if (autoFocus) {\n this.inputRef.current?.focus();\n }\n }\n\n componentDidUpdate(previousProps: TypeaheadInputProps<T>) {\n if (previousProps.value !== this.props.value && this.props.multiple) {\n this.recalculateWidth();\n }\n }\n\n recalculateWidth = () => {\n requestAnimationFrame(() => {\n this.setState({\n inputWidth: Math.max(DEFAULT_INPUT_MIN_WIDTH, this.sizerRef.current?.scrollWidth ?? 0 + 10),\n });\n });\n };\n\n renderInput = () => {\n const {\n typeaheadId,\n autoFocus,\n multiple,\n name,\n dropdownOpen,\n placeholder,\n selected,\n value,\n onChange,\n onKeyDown,\n onFocus,\n onPaste,\n autoComplete,\n } = this.props;\n const { inputWidth } = this.state;\n\n const hasPlaceholder = !multiple || selected.length === 0;\n return (\n <Input\n ref={this.inputRef}\n className={classnames(multiple && 'typeahead__input')}\n name={name}\n id={`input-${typeaheadId}`}\n autoFocus={autoFocus}\n placeholder={hasPlaceholder ? placeholder : ''}\n aria-autocomplete=\"list\"\n aria-expanded={dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-controls={`menu-${typeaheadId}`}\n autoComplete={autoComplete}\n role=\"combobox\"\n value={value}\n style={multiple && selected.length > 0 ? { width: inputWidth } : {}}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onClick={onFocus}\n onFocus={onFocus}\n onPaste={onPaste}\n />\n );\n };\n\n render() {\n const { multiple, selected, value, maxHeight, renderChip } = this.props;\n\n return multiple ? (\n <div\n className=\"form-control typeahead__input-container\"\n style={{ maxHeight }}\n onClick={() => {\n this.inputRef.current?.focus();\n }}\n >\n <div className=\"typeahead__input-wrapper\">\n {selected && selected.map((chip, idx) => renderChip(chip, idx))}\n\n {this.renderInput()}\n <div className=\"typeahead__input-aligner\" />\n </div>\n <div ref={this.sizerRef} className=\"sizer form-control typeahead__input\">\n {value}\n </div>\n </div>\n ) : (\n this.renderInput()\n );\n }\n}\n","export default function highlight(value: string, query: string) {\n if (value && query) {\n const highlightStart = value.toUpperCase().indexOf(query.trim().toUpperCase());\n const highlightEnd = highlightStart + query.trim().length;\n if (highlightStart !== -1) {\n return (\n <>\n {value.slice(0, Math.max(0, highlightStart))}\n <strong>{value.slice(highlightStart, highlightEnd)}</strong>\n {value.slice(Math.max(0, highlightEnd))}\n </>\n );\n }\n }\n return value;\n}\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport classNames from 'classnames';\n\nimport { TypeaheadOption } from '../Typeahead';\nimport highlight from '../util/highlight';\n\nexport type TypeaheadOptionProps<T> = {\n option: TypeaheadOption<T>;\n selected?: boolean;\n onClick?: React.MouseEventHandler;\n query?: string;\n};\n\nconst Option = <T,>(props: TypeaheadOptionProps<T>) => {\n const { option, selected = false, onClick = () => {}, query = '' } = props;\n const { label, note, secondary } = option;\n\n return (\n <li\n role=\"option\"\n aria-selected=\"false\"\n className={classNames('typeahead__option tw-dropdown-item clickable', {\n 'tw-dropdown-item--focused': selected,\n })}\n >\n <a className=\"dropdown-item\" href=\"#\" tabIndex={-1} onClick={onClick}>\n <span>{highlight(label, query)}</span>\n {note && <span className=\"np-text-body-default m-l-1\">{note}</span>}\n {secondary && (\n <span className=\"np-text-body-default text-ellipsis\">{highlight(secondary, query)}</span>\n )}\n </a>\n </li>\n );\n};\n\nexport default Option;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\nimport { Cross as CrossIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport { DebouncedFunc } from 'lodash';\nimport clamp from 'lodash.clamp';\nimport debounce from 'lodash.debounce';\nimport { Component, ReactNode } from 'react';\n\nimport Chip from '../chips/Chip';\nimport { Size, Sentiment, SizeMedium, SizeLarge } from '../common';\nimport {\n addClickClassToDocumentOnIos,\n removeClickClassFromDocumentOnIos,\n stopPropagation,\n} from '../common/domHelpers';\nimport InlineAlert from '../inlineAlert';\nimport { InlineAlertProps } from '../inlineAlert/InlineAlert';\n\nimport TypeaheadInput from './typeaheadInput/TypeaheadInput';\nimport TypeaheadOption from './typeaheadOption/TypeaheadOption';\n\nconst DEFAULT_MIN_QUERY_LENGTH = 3;\nconst SEARCH_DELAY = 200;\n\nexport type TypeaheadOption<T = string> = {\n label: string;\n note?: string;\n secondary?: string;\n value?: T;\n clearQueryOnSelect?: boolean;\n keepFocusOnSelect?: boolean;\n};\n\nexport interface TypeaheadProps<T> {\n id: string;\n name: string;\n addon?: ReactNode;\n alert?: {\n message: InlineAlertProps['children'];\n type?: InlineAlertProps['type'];\n };\n allowNew?: boolean;\n autoFillOnBlur?: boolean;\n autoFocus?: boolean;\n chipSeparators?: readonly string[];\n clearable?: boolean;\n footer?: ReactNode;\n initialValue?: readonly TypeaheadOption<T>[];\n inputAutoComplete?: string;\n maxHeight?: number;\n minQueryLength?: number;\n placeholder?: string;\n multiple?: boolean;\n options: readonly TypeaheadOption<T>[];\n searchDelay?: number;\n showSuggestions?: boolean;\n showNewEntry?: boolean;\n size?: SizeMedium | SizeLarge;\n\n onBlur?: () => void;\n onChange: (options: TypeaheadOption<T>[]) => void;\n onFocus?: () => void;\n onInputChange?: (query: string) => void;\n onSearch?: (query: string) => void;\n validateChip?: (chip: TypeaheadOption<T>) => boolean;\n}\n\ntype TypeaheadState<T> = {\n selected: readonly TypeaheadOption<T>[];\n keyboardFocusedOptionIndex: number | null;\n errorState: boolean;\n query: string;\n optionsShown: boolean;\n isFocused: boolean;\n};\n\nexport default class Typeahead<T> extends Component<TypeaheadProps<T>, TypeaheadState<T>> {\n declare props: TypeaheadProps<T> &\n Required<Pick<TypeaheadProps<T>, keyof typeof Typeahead.defaultProps>>;\n\n static defaultProps = {\n allowNew: false,\n autoFillOnBlur: true,\n autoFocus: false,\n chipSeparators: [],\n clearable: true,\n initialValue: [],\n inputAutoComplete: 'new-password',\n minQueryLength: DEFAULT_MIN_QUERY_LENGTH,\n multiple: false,\n searchDelay: SEARCH_DELAY,\n showSuggestions: true,\n showNewEntry: true,\n size: Size.MEDIUM,\n validateChip: () => true,\n } satisfies Partial<TypeaheadProps<unknown>>;\n\n constructor(props: TypeaheadProps<T>) {\n super(props);\n const { searchDelay, initialValue, multiple } = this.props;\n this.handleSearchDebounced = debounce(this.handleSearch, searchDelay);\n const initialQuery = !multiple && initialValue.length > 0 ? initialValue[0].label : '';\n this.state = {\n selected: initialValue,\n errorState: false,\n query: initialQuery,\n keyboardFocusedOptionIndex: null,\n optionsShown: false,\n isFocused: false,\n };\n }\n\n handleSearchDebounced: DebouncedFunc<Typeahead<T>['handleSearch']>;\n\n UNSAFE_componentWillReceiveProps(nextProps: TypeaheadProps<T>) {\n if (nextProps.multiple !== this.props.multiple) {\n this.setState((previousState) => {\n const { selected } = previousState;\n if (!nextProps.multiple && selected.length > 0) {\n return {\n query: selected[0].label,\n selected: [selected[0]],\n };\n }\n return {\n selected: previousState.selected,\n query: '',\n };\n });\n }\n }\n\n componentWillUnmount() {\n this.handleSearchDebounced.cancel();\n }\n\n handleOnFocus = () => {\n this.showMenu();\n this.props.onFocus?.();\n };\n\n onOptionSelected = (event: React.MouseEvent, item: TypeaheadOption<T>) => {\n event.preventDefault();\n this.selectItem(item);\n };\n\n handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (event) => {\n const { optionsShown, selected } = this.state;\n const { multiple, onInputChange } = this.props;\n\n if (!optionsShown) {\n this.showMenu();\n }\n\n const query = event.target.value;\n\n if (!multiple && selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({ query }, () => {\n this.handleSearchDebounced(query);\n if (onInputChange) {\n onInputChange(query);\n }\n });\n };\n\n handleOnPaste: React.ClipboardEventHandler<HTMLInputElement> = (event) => {\n const { allowNew, multiple, chipSeparators } = this.props;\n const { selected } = this.state;\n\n if (allowNew && multiple && chipSeparators.length > 0) {\n event.preventDefault();\n const value = event.clipboardData.getData('text');\n if (value) {\n const regex = new RegExp(chipSeparators.join('|'));\n const pastedChips = value\n .split(regex)\n .map((label) => ({ label: label.trim() }))\n .filter((chip) => chip.label);\n\n this.updateSelectedValue([...selected, ...pastedChips]);\n }\n }\n };\n\n handleOnKeyDown: React.KeyboardEventHandler<HTMLInputElement> = (event) => {\n const { showSuggestions, allowNew, multiple, chipSeparators, options } = this.props;\n const { keyboardFocusedOptionIndex, query, selected } = this.state;\n const chipsMode = !showSuggestions && allowNew && multiple;\n\n if (chipsMode && ['Enter', 'Tab', ...chipSeparators].includes(event.key) && query.trim()) {\n event.preventDefault();\n this.selectItem({ label: query });\n } else {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.moveFocusedOption(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.moveFocusedOption(-1);\n break;\n case 'Enter':\n event.preventDefault();\n if (keyboardFocusedOptionIndex != null && options[keyboardFocusedOptionIndex]) {\n this.selectItem(options[keyboardFocusedOptionIndex]);\n } else if (allowNew && query.trim()) {\n this.selectItem({ label: query });\n }\n break;\n case 'Backspace':\n if (multiple && !query && selected.length > 0) {\n this.updateSelectedValue(selected.slice(0, -1));\n }\n break;\n default:\n break;\n }\n }\n };\n\n moveFocusedOption(offset: number) {\n this.setState((previousState) => {\n const { keyboardFocusedOptionIndex } = previousState;\n const { options } = this.props;\n let index = 0;\n if (keyboardFocusedOptionIndex !== null) {\n index = clamp(keyboardFocusedOptionIndex + offset, 0, options.length - 1);\n }\n return {\n keyboardFocusedOptionIndex: index,\n };\n });\n }\n\n selectItem = (item: TypeaheadOption<T>) => {\n const { multiple } = this.props;\n let selected = [...this.state.selected];\n let query;\n if (multiple) {\n selected.push(item);\n query = '';\n } else {\n selected = [item];\n query = item.label;\n }\n\n this.updateSelectedValue(selected);\n\n if (!item.keepFocusOnSelect) {\n this.hideMenu();\n }\n\n if (item.clearQueryOnSelect) {\n query = '';\n }\n\n this.setState({\n query,\n });\n };\n\n handleSearch = (query: string) => {\n const { onSearch } = this.props;\n if (onSearch) {\n onSearch(query);\n }\n\n this.setState((previousState) => ({\n keyboardFocusedOptionIndex: previousState.keyboardFocusedOptionIndex === null ? null : 0,\n }));\n };\n\n handleDocumentClick = () => {\n if (this.state.optionsShown) {\n this.hideMenu();\n const { allowNew, onBlur, autoFillOnBlur } = this.props;\n const { query } = this.state;\n this.setState({\n isFocused: false,\n });\n if (allowNew && autoFillOnBlur && query.trim()) {\n this.selectItem({ label: query });\n }\n\n if (onBlur) {\n onBlur();\n }\n }\n };\n\n showMenu = () => {\n this.setState(\n {\n isFocused: true,\n optionsShown: true,\n },\n () => {\n addClickClassToDocumentOnIos();\n document.addEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n hideMenu = () => {\n this.setState(\n {\n optionsShown: false,\n keyboardFocusedOptionIndex: null,\n },\n () => {\n removeClickClassFromDocumentOnIos();\n document.removeEventListener('click', this.handleDocumentClick, false);\n },\n );\n };\n\n updateSelectedValue = (selected: readonly TypeaheadOption<T>[]) => {\n const { onChange, validateChip } = this.props;\n\n const errorState = selected.some((chip) => !validateChip(chip));\n this.setState({ selected, errorState }, () => {\n onChange([...selected]);\n });\n };\n\n clear = (event: React.MouseEvent<HTMLButtonElement>) => {\n event.preventDefault();\n if (this.state.selected.length > 0) {\n this.updateSelectedValue([]);\n }\n\n this.setState({\n query: '',\n });\n };\n\n removeChip = (option: TypeaheadOption<T>) => {\n const { selected } = this.state;\n\n if (selected.length > 0) {\n this.updateSelectedValue([...selected.filter((selectedOption) => selectedOption !== option)]);\n }\n };\n\n renderChip = (option: TypeaheadOption<T>, idx: number): ReactNode => {\n const valid = this.props.validateChip?.(option);\n\n return (\n <Chip\n key={idx}\n label={option.label}\n className={classNames('m-t-1', {\n 'has-error': !valid,\n 'np-chip--valid': valid,\n })}\n onRemove={() => this.removeChip(option)}\n />\n );\n };\n\n renderMenu = ({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n }: Pick<TypeaheadProps<T>, 'footer' | 'options' | 'id' | 'allowNew' | 'showNewEntry'> &\n Pick<TypeaheadState<T>, 'keyboardFocusedOptionIndex' | 'query'> & {\n dropdownOpen: boolean;\n }) => {\n const optionsToRender = [...options];\n if (\n allowNew &&\n query.trim() &&\n options.every((option) => option.label.trim().toUpperCase() !== query.trim().toUpperCase()) &&\n showNewEntry\n ) {\n optionsToRender.push({\n label: query,\n });\n }\n return (\n <div\n className={classNames('dropdown btn-group btn-block', { open: dropdownOpen })}\n id={`menu-${id}`}\n >\n <ul className=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"dropdownMenu1\">\n {optionsToRender.map((option, idx) => (\n <TypeaheadOption\n key={`${option.label}${idx.toString()}`}\n query={query}\n option={option}\n selected={keyboardFocusedOptionIndex === idx}\n onClick={(event) => {\n this.onOptionSelected(event, option);\n }}\n />\n ))}\n {footer}\n </ul>\n </div>\n );\n };\n\n render() {\n const {\n id,\n placeholder,\n multiple,\n size,\n addon,\n name,\n clearable,\n allowNew,\n footer,\n showSuggestions,\n showNewEntry,\n options,\n minQueryLength,\n autoFocus,\n maxHeight,\n alert,\n inputAutoComplete,\n } = this.props;\n\n const { errorState, query, selected, optionsShown, keyboardFocusedOptionIndex } = this.state;\n\n const clearButton = clearable && (query || selected.length > 0);\n\n const dropdownOpen = optionsShown && showSuggestions && query.length >= minQueryLength;\n\n const menu = this.renderMenu({\n footer,\n options,\n id,\n keyboardFocusedOptionIndex,\n query,\n allowNew,\n showNewEntry,\n dropdownOpen,\n });\n\n const alertType = alert?.type ?? Sentiment.NEUTRAL;\n const hasError = errorState || (alert && alertType === Sentiment.ERROR);\n const displayAlert = (!errorState && alert) || (alert && alertType === Sentiment.ERROR);\n const hasWarning = displayAlert && alertType === Sentiment.WARNING;\n const hasInfo = displayAlert && alertType === Sentiment.NEUTRAL;\n return (\n <div\n id={id}\n className={classNames('typeahead', `typeahead-${size}`, {\n 'typeahead--has-value': selected.length > 0,\n 'typeahead--empty': selected.length === 0,\n 'typeahead--multiple': multiple,\n open: dropdownOpen,\n })}\n onClick={stopPropagation}\n >\n <div\n className={classNames('form-group', {\n 'has-error': hasError,\n 'has-warning': hasWarning,\n 'has-info': hasInfo,\n })}\n >\n <div\n className={classNames(`input-group input-group-${size}`, {\n 'input-group--has-error': hasError,\n })}\n >\n {addon && <span className=\"input-group-addon input-group-addon--search\">{addon}</span>}\n\n <TypeaheadInput\n {...{\n autoFocus,\n multiple,\n dropdownOpen,\n placeholder,\n selected,\n maxHeight,\n }}\n id={id}\n name={name}\n value={query}\n typeaheadId={id}\n renderChip={this.renderChip}\n autoComplete={inputAutoComplete}\n onChange={this.handleOnChange}\n onKeyDown={this.handleOnKeyDown}\n onFocus={this.handleOnFocus}\n onPaste={this.handleOnPaste}\n />\n\n {clearButton && (\n <div className=\"input-group-addon\">\n <button type=\"button\" className=\"btn-unstyled\" onClick={this.clear}>\n <CrossIcon />\n </button>\n </div>\n )}\n </div>\n {displayAlert ? <InlineAlert type={alert.type}>{alert.message}</InlineAlert> : menu}\n </div>\n </div>\n );\n }\n}\n","// TODO: consider to move this enum into component file once we migrate it on TypeScript or replace with some common enum\nexport enum UploadStep {\n UPLOAD_IMAGE_STEP = 'uploadImageStep',\n MEDIA_UPLOAD_STEP = 'mediaUploadStep',\n}\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n csButtonText: {\n id: 'neptune.Upload.csButtonText',\n defaultMessage: 'Upload another file?',\n },\n csFailureText: {\n id: 'neptune.Upload.csFailureText',\n defaultMessage: 'Upload failed. Please, try again',\n },\n csSuccessText: {\n id: 'neptune.Upload.csSuccessText',\n defaultMessage: 'Upload complete!',\n },\n csTooLargeMessage: {\n id: 'neptune.Upload.csTooLargeMessage',\n defaultMessage: 'Please provide a file smaller than {maxSize}MB',\n },\n csWrongTypeMessage: {\n id: 'neptune.Upload.csWrongTypeMessage',\n defaultMessage: 'File type not supported. Please try again with a different file',\n },\n psButtonText: {\n id: 'neptune.Upload.psButtonText',\n defaultMessage: 'Cancel',\n },\n psProcessingText: {\n id: 'neptune.Upload.psProcessingText',\n defaultMessage: 'Uploading...',\n },\n usButtonText: {\n id: 'neptune.Upload.usButtonText',\n defaultMessage: 'Or select a file',\n },\n usDropMessage: {\n id: 'neptune.Upload.usDropMessage',\n defaultMessage: 'Drop file to start upload',\n },\n usPlaceholder: {\n id: 'neptune.Upload.usPlaceholder',\n defaultMessage: 'Drag and drop a file less than {maxSize}MB',\n },\n});\n","import { Upload as UploadIcon } from '@transferwise/icons';\nimport PropTypes from 'prop-types';\nimport { createRef, PureComponent } from 'react';\n\nclass UploadImageStep extends PureComponent {\n constructor() {\n super();\n this.uploadInputRef = createRef();\n }\n\n onManualUpload = () => {\n const { fileDropped } = this.props;\n if (this.uploadInputRef && this.uploadInputRef.current) {\n const file = this.uploadInputRef.current.files[0];\n fileDropped(file);\n }\n };\n\n getImage = () => {\n const { usHelpImage, usLabel } = this.props;\n\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n render() {\n const { isComplete, usAccept, usButtonText, usDisabled, usLabel, usPlaceholder } = this.props;\n\n return (\n <div>\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{this.getImage()}</div>\n {usLabel && <h4 className=\"np-text-title-body m-b-1\">{usLabel}</h4>}\n {usPlaceholder && <p className=\"np-text-body-large m-b-3\">{`${usPlaceholder}`}</p>}\n <label className={`btn btn-primary btn-md ${usDisabled ? 'disabled' : ''}`}>\n {usButtonText ? (\n <span>{usButtonText}</span>\n ) : (\n <UploadIcon size={24} className=\"m-r-0\" />\n )}\n <input\n ref={this.uploadInputRef}\n type=\"file\"\n accept={usAccept === '*' ? null : usAccept}\n className=\"tw-droppable-input hidden\"\n disabled={usDisabled}\n name=\"file-upload\"\n onChange={() => this.onManualUpload()}\n />\n </label>\n </div>\n </div>\n </div>\n );\n }\n}\n\nUploadImageStep.propTypes = {\n fileDropped: PropTypes.func.isRequired,\n isComplete: PropTypes.bool.isRequired,\n usAccept: PropTypes.string.isRequired,\n usButtonText: PropTypes.string.isRequired,\n usDisabled: PropTypes.bool.isRequired,\n usHelpImage: PropTypes.node.isRequired,\n usLabel: PropTypes.string.isRequired,\n usPlaceholder: PropTypes.string.isRequired,\n};\n\nexport default UploadImageStep;\n","export const postData = (httpOptions, data = {}, fetcher = fetch) =>\n fetcher(`${httpOptions.url}`, {\n method: 'POST',\n body: data,\n ...httpOptions,\n })\n .then((response) => {\n if (!response.ok) {\n const error = new Error(response.statusText);\n error.status = response.status;\n error.response = response;\n throw error;\n }\n return response;\n })\n .catch((error) => {\n throw error;\n });\n","export const asyncFileRead = (file) =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.addEventListener('load', (event) => {\n resolve(event.target.result);\n });\n reader.addEventListener('error', (event) => {\n reject(event);\n });\n });\n","export const isSizeValid = (file, maxSize) => Number.isInteger(maxSize) && file.size <= maxSize;\n","export const getFileType = (file, file64) => {\n if (!file && !file64) {\n return '';\n }\n\n if (file && file.type && file.type !== '') {\n return file.type ?? '';\n }\n\n if (file64) {\n const regex = /^data:([a-z]+\\/[a-z]+);/;\n const typeFromEncoded = file64.match(regex);\n\n if (typeFromEncoded && typeFromEncoded[1]) {\n return typeFromEncoded[1] ?? '';\n }\n }\n return '';\n};\n","import { getFileType } from '../getFileType';\n\nexport const isTypeValid = (file, rule, file64) => {\n if (!file || !rule) {\n return false;\n }\n\n const allowedTypes = rule.replace(/\\s/g, '').split(',');\n const fileType = getFileType(file, file64);\n\n if (rule === '*' || allowedTypes.includes(fileType)) {\n return true;\n }\n\n return allowedTypes.some((type) => {\n const splittedRule = type.split('/');\n const typeAllowed = splittedRule[0];\n const extensionAllowed = splittedRule[1];\n\n if (extensionAllowed !== '*') {\n return false;\n }\n\n return fileType.includes(typeAllowed);\n });\n};\n","// Spot Platform's Media API only support these MIME types\nconst SUPPORTED_MIME_TYPES = ['image/jpeg', 'video/*', 'application/pdf'];\n\nexport const getSupportedSpotMimeTypes = (mimeTypes) => {\n if (mimeTypes === '*') {\n return SUPPORTED_MIME_TYPES;\n }\n\n const mimeTypesArray = mimeTypes.split(',');\n const mimeMapping = {\n 'image/*': 'image/jpeg',\n 'application/*': 'application/pdf',\n };\n\n const mapSupportedMimeTypes = mimeTypesArray.map((type) => mimeMapping[type] || type);\n\n return mapSupportedMimeTypes.filter((type) => SUPPORTED_MIME_TYPES.includes(type));\n};\n","export const requestMedia = (mediaRequest) =>\n new Promise((resolve, reject) => {\n if (typeof window === 'undefined' || typeof window.microapps === 'undefined') {\n reject(`microapps must be available in window to use Spot Platform's Media API`);\n }\n\n window.microapps\n .requestMedia(mediaRequest)\n .then((response) => {\n const fileByteArray = base64ToByteArray(response.bytes);\n const blob = new Blob([fileByteArray], { type: response.mimeType });\n resolve(blob);\n })\n .catch((error) => reject(error));\n });\n\nconst base64ToByteArray = (base64String) => {\n const byteCharacters = atob(base64String);\n const byteCharactersLength = byteCharacters.length;\n const byteArray = new Array(byteCharactersLength);\n\n for (let i = 0; i < byteCharactersLength; i += 1) {\n byteArray[i] = byteCharacters.charCodeAt(i);\n }\n return new Uint8Array(byteArray);\n};\n","import { Upload as UploadIcon } from '@transferwise/icons';\nimport PropTypes from 'prop-types';\n\nimport Body from '../../../body';\nimport Button from '../../../button/Button';\nimport { Typography } from '../../../common';\nimport Title from '../../../title';\nimport { getSupportedSpotMimeTypes, requestMedia } from '../../utils';\n\nconst MediaUploadStep = ({\n isComplete,\n usAccept,\n usButtonText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n fileDropped,\n}) => {\n const getMediaFile = () => {\n const allowedMimeTypes = getSupportedSpotMimeTypes(usAccept);\n\n if (allowedMimeTypes.length === 0) {\n throw new Error('provided mimeTypes not supported');\n }\n\n const mediaRequest = { allowedMimeTypes };\n requestMedia(mediaRequest).then((file) => fileDropped(file));\n };\n\n const getImage = () => {\n if (!usHelpImage) {\n return (\n <div className=\"circle circle-sm circle-inverse p-t-1\">\n <UploadIcon size={24} />\n </div>\n );\n }\n\n if (typeof usHelpImage === 'string') {\n return <img src={usHelpImage} alt={usLabel} className=\"thumbnail text-xs-center\" />;\n }\n\n return usHelpImage;\n };\n\n return (\n <div>\n <div className=\"droppable-default-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <div className=\"m-b-3\">{getImage()}</div>\n {usLabel && (\n <Title type={Typography.TITLE_BODY} className=\"m-b-1\">\n {usLabel}\n </Title>\n )}\n {usPlaceholder && (\n <Body as=\"p\" type={Typography.BODY_LARGE} className=\"m-b-3\">{`${usPlaceholder}`}</Body>\n )}\n <Button disabled={usDisabled} onClick={getMediaFile}>\n {usButtonText || <UploadIcon size={24} className=\"m-r-0\" />}\n </Button>\n </div>\n </div>\n </div>\n );\n};\n\nMediaUploadStep.propTypes = {\n fileDropped: PropTypes.func.isRequired,\n isComplete: PropTypes.bool.isRequired,\n usAccept: PropTypes.string.isRequired,\n usButtonText: PropTypes.string.isRequired,\n usDisabled: PropTypes.bool.isRequired,\n usHelpImage: PropTypes.node.isRequired,\n usLabel: PropTypes.string.isRequired,\n usPlaceholder: PropTypes.string.isRequired,\n};\n\nexport default MediaUploadStep;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\nimport { Status, Size, Typography } from '../../../common';\nimport ProcessIndicator from '../../../processIndicator';\nimport Title from '../../../title';\n\nconst ProcessingStep = (props) => {\n const {\n isComplete,\n isError,\n isSuccess,\n onAnimationCompleted,\n onClear,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n } = props;\n\n const { isModern } = useTheme();\n\n let processStatus = Status.PROCESSING;\n if (isError) {\n processStatus = Status.FAILED;\n }\n if (isSuccess) {\n processStatus = Status.SUCCEEDED;\n }\n\n return (\n <div className=\"droppable-processing-card droppable-card\" aria-hidden={isComplete}>\n <div className=\"droppable-card-content\">\n <ProcessIndicator\n size={Size.Small}\n status={processStatus}\n onAnimationCompleted={(status) => onAnimationCompleted(status)}\n />\n <Title\n className={classNames({\n 'm-t-3': !isModern,\n 'm-b-3': !isModern,\n 'm-t-2': isModern,\n 'm-b-2': isModern,\n })}\n type={Typography.TITLE_BODY}\n aria-live=\"polite\"\n >\n {psProcessingText}\n </Title>\n {psButtonText && (\n <Button disabled={psButtonDisabled} onClick={(event) => onClear(event)}>\n {psButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\nProcessingStep.propTypes = {\n isComplete: PropTypes.bool.isRequired,\n isError: PropTypes.bool.isRequired,\n isSuccess: PropTypes.bool.isRequired,\n onAnimationCompleted: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n psButtonText: PropTypes.string.isRequired,\n psProcessingText: PropTypes.string.isRequired,\n psButtonDisabled: PropTypes.bool.isRequired,\n};\n\nexport default ProcessingStep;\n","import { AlertCircle as AlertCircleIcon, Document as DocumentIcon } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { Priority, Typography } from '../../..';\nimport Body from '../../../body';\nimport Button from '../../../button';\nimport { Sentiment, Size } from '../../../common';\nimport StatusIcon from '../../../statusIcon';\nimport Title from '../../../title';\n\nconst CompleteStep = (props) => {\n const { isModern } = useTheme();\n const {\n csButtonText,\n csFailureText,\n csSuccessText,\n fileName,\n isComplete,\n isError,\n isImage,\n onClear,\n uploadedImage,\n } = props;\n return (\n <div className=\"droppable-complete-card droppable-card\" aria-hidden={!isComplete}>\n <div className=\"droppable-card-content\">\n <div\n className=\"droppable-card-content d-flex flex-column align-items-center\"\n aria-live=\"polite\"\n >\n {isError ? (\n <>\n {isModern ? (\n <StatusIcon size={Size.LARGE} sentiment={Sentiment.NEGATIVE} />\n ) : (\n <AlertCircleIcon size={24} className=\"text-negative\" />\n )}\n {csFailureText && (\n <p className={classNames('m-t-2', { 'm-b-0': isModern })}>{csFailureText}</p>\n )}\n </>\n ) : (\n <>\n {isImage && uploadedImage ? (\n <img src={uploadedImage} alt=\"OK\" className=\"thumbnail \" />\n ) : (\n <DocumentIcon />\n )}\n\n {fileName && (\n <Body as=\"p\" className=\"m-b-0\">\n {fileName}\n </Body>\n )}\n {csSuccessText && (\n <Title className=\"caption m-t-1\" type={Typography.TITLE_BODY}>\n {csSuccessText}\n </Title>\n )}\n </>\n )}\n </div>\n {csButtonText && (\n <Button\n priority={isModern ? Priority.PRIMARY : Priority.SECONDARY}\n className={classNames({\n 'm-t-1': isModern && !isError,\n 'm-t-2': isModern && isError,\n 'm-t-3': !isModern,\n })}\n onClick={(event) => onClear(event)}\n >\n {csButtonText}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\nCompleteStep.propTypes = {\n csButtonText: PropTypes.string.isRequired,\n csSuccessText: PropTypes.string.isRequired,\n csFailureText: PropTypes.string.isRequired,\n fileName: PropTypes.string.isRequired,\n isComplete: PropTypes.bool.isRequired,\n isError: PropTypes.bool.isRequired,\n isImage: PropTypes.bool.isRequired,\n onClear: PropTypes.func.isRequired,\n uploadedImage: PropTypes.string,\n};\nCompleteStep.defaultProps = {\n uploadedImage: null,\n};\n\nexport default CompleteStep;\n","import { Plus as PlusIcon } from '@transferwise/icons';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Status, Typography } from '../common';\nimport Title from '../title';\n\nimport messages from './Upload.messages';\nimport { UploadImageStep, MediaUploadStep, ProcessingStep, CompleteStep } from './steps';\nimport { UploadStep } from './uploadSteps';\nimport { postData, asyncFileRead, isSizeValid, isTypeValid, getFileType } from './utils';\n\nconst PROCESS_STATE = ['error', 'success'];\n\n/*\n * This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be\n * rendered first and then updated with the right status.\n */\nconst ANIMATION_FIX = 10;\nconst MAX_SIZE_DEFAULT = 5000000;\nconst UPLOAD_STEP_COMPONENTS = {\n [UploadStep.UPLOAD_IMAGE_STEP]: UploadImageStep,\n [UploadStep.MEDIA_UPLOAD_STEP]: MediaUploadStep,\n};\n\nclass Upload extends Component {\n constructor(props) {\n super(props);\n this.dragCounter = 0;\n this.timeouts = null;\n\n this.state = {\n fileName: '',\n isComplete: false,\n isError: false,\n isImage: false,\n isProcessing: false,\n isSuccess: false,\n response: null,\n uploadedImage: null,\n };\n }\n\n getErrorMessage(status) {\n switch (status) {\n case 413:\n return (\n this.props.csTooLargeMessage ||\n this.props.intl.formatMessage(messages.csTooLargeMessage, {\n maxSize: this.props.maxSize / 1000000,\n })\n );\n case 415:\n return (\n this.props.csWrongTypeMessage ||\n this.props.intl.formatMessage(messages.csWrongTypeMessage)\n );\n default:\n return this.props.csFailureText || this.props.intl.formatMessage(messages.csFailureText);\n }\n }\n\n onDragLeave(event) {\n event.preventDefault();\n this.dragCounter -= 1;\n if (this.dragCounter === 0) {\n this.setState({ isDroppable: false });\n }\n }\n\n onDragEnter(event) {\n event.preventDefault();\n this.dragCounter += 1;\n const { usDisabled } = this.props;\n const { isProcessing } = this.state;\n if (this.dragCounter === 1 && !usDisabled && !isProcessing) {\n this.setState({ isDroppable: true });\n }\n }\n\n onDrop(event) {\n const { isProcessing } = this.state;\n event.preventDefault();\n if (!isProcessing) {\n this.reset();\n }\n\n if (event.dataTransfer && event.dataTransfer.files && event.dataTransfer.files[0]) {\n this.fileDropped(event.dataTransfer.files[0]);\n }\n }\n\n onAnimationCompleted = async (status) => {\n const { response, isProcessing, fileName } = this.state;\n // Success.\n const { animationDelay } = this.props;\n if (isProcessing && status === Status.SUCCEEDED) {\n const { onSuccess } = this.props;\n this.timeouts = setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => (onSuccess ? onSuccess(response, fileName) : {}),\n );\n }, animationDelay);\n }\n // Failure.\n if (isProcessing && status === Status.FAILED) {\n const { onFailure } = this.props;\n this.timeouts = setTimeout(() => {\n this.setState(\n {\n isProcessing: false,\n isComplete: true,\n },\n () => (onFailure ? onFailure(response) : {}),\n );\n }, animationDelay);\n }\n };\n\n asyncPost = (file) => {\n const { httpOptions, fetcher } = this.props;\n const { fileInputName = file.name, data = {} } = httpOptions || {};\n\n const formData = new FormData();\n formData.append(fileInputName, file);\n Object.keys(data).forEach((key) => formData.append(key, data[key]));\n return postData(this.prepareHttpOptions(httpOptions), formData, fetcher);\n };\n\n asyncResponse = (response, type) => {\n // Gives time to the animation callback to fire.\n this.timeouts = setTimeout(() => {\n this.setState({\n response,\n isError: type === PROCESS_STATE[0],\n isSuccess: type === PROCESS_STATE[1],\n });\n }, ANIMATION_FIX);\n };\n\n prepareHttpOptions = (httpOptions) => {\n if (!httpOptions.url) {\n throw new Error('You must supply a URL to post image data asynchronously');\n }\n return httpOptions;\n };\n\n handleOnClear = (event) => {\n event.preventDefault();\n const { onCancel } = this.props;\n if (onCancel) {\n onCancel();\n }\n\n this.reset();\n };\n\n reset = () => {\n this.dragCounter = 0;\n clearTimeout(this.timeouts);\n this.setState({\n isComplete: false,\n isError: false,\n isProcessing: false,\n isSuccess: false,\n });\n };\n\n showDataImage = (dataUrl) => {\n const { isImage } = this.state;\n if (isImage) {\n this.setState({\n uploadedImage: dataUrl,\n });\n }\n };\n\n fileDropped = async (file) => {\n const { httpOptions, maxSize, onStart, usDisabled, usAccept } = this.props;\n const { isProcessing } = this.state;\n\n if (usDisabled || isProcessing) {\n return false;\n }\n\n if (!file) {\n throw new Error('Could not retrieve file');\n }\n\n this.setState({\n fileName: file.name,\n isDroppable: false,\n isProcessing: true,\n });\n\n if (onStart) {\n onStart(file);\n }\n\n let file64 = null;\n\n try {\n file64 = await asyncFileRead(file);\n } catch (error) {\n this.asyncResponse(error, PROCESS_STATE[0]);\n }\n\n if (!file64) {\n return false;\n }\n\n this.setState({\n isImage: getFileType(file, file64).includes('image'),\n });\n\n if (!isTypeValid(file, usAccept, file64)) {\n const response = {\n status: 415,\n statusText: 'Unsupported Media Type',\n };\n this.asyncResponse(response, PROCESS_STATE[0]);\n return false;\n }\n\n if (!isSizeValid(file, maxSize)) {\n const response = {\n status: 413,\n statusText: 'Request Entity Too Large',\n };\n this.asyncResponse(response, PROCESS_STATE[0]);\n return false;\n }\n\n if (httpOptions) {\n // Post the file to provided endpoint\n return await this.asyncPost(file)\n .then((response) => this.asyncResponse(response, 'success'))\n .then(() => {\n this.showDataImage(file64);\n return true;\n })\n .catch((error) => {\n this.asyncResponse(error, PROCESS_STATE[0]);\n return false;\n });\n }\n // Post on form submit. And return the encoded image.\n this.showDataImage(file64);\n this.asyncResponse(file64, 'success');\n return true;\n };\n\n render() {\n const {\n usDropMessage,\n usAccept,\n usButtonText,\n usDisabled,\n usHelpImage,\n usLabel,\n usPlaceholder,\n psButtonText,\n psProcessingText,\n psButtonDisabled,\n csButtonText,\n csSuccessText,\n size,\n uploadStep,\n intl,\n } = this.props;\n\n const {\n response,\n fileName,\n isComplete,\n isDroppable,\n isError,\n isImage,\n isProcessing,\n isSuccess,\n uploadedImage,\n } = this.state;\n\n const UploadStepComponent = UPLOAD_STEP_COMPONENTS[uploadStep] || UploadImageStep;\n\n return (\n <div\n className={classNames('droppable-area', {\n droppable: true,\n 'tw-droppable-sm droppable-sm': size === 'sm',\n 'tw-droppable-md droppable-md': size === 'md' || !size,\n 'tw-droppable-lg droppable-lg': size === 'lg',\n 'droppable-dropping': isDroppable,\n 'droppable-processing': isProcessing,\n 'droppable-complete': isComplete,\n 'droppable-negative': isError,\n })}\n onDragEnter={(event) => this.onDragEnter(event)}\n onDragLeave={(event) => this.onDragLeave(event)}\n onDrop={(event) => this.onDrop(event)}\n onDragOver={(event) => event.preventDefault()}\n >\n {!isProcessing && !isComplete && (\n <UploadStepComponent\n fileDropped={(file) => this.fileDropped(file)}\n isComplete={isComplete}\n usAccept={usAccept}\n usButtonText={usButtonText || intl.formatMessage(messages.usButtonText)}\n usDisabled={usDisabled}\n usHelpImage={usHelpImage}\n usLabel={usLabel}\n usPlaceholder={\n usPlaceholder ||\n intl.formatMessage(messages.usPlaceholder, { maxSize: this.props.maxSize / 1000000 })\n }\n />\n )}\n\n {isProcessing && (\n <ProcessingStep\n isComplete={isComplete}\n isError={isError}\n isSuccess={isSuccess}\n psButtonText={psButtonText || intl.formatMessage(messages.psButtonText)}\n psProcessingText={psProcessingText || intl.formatMessage(messages.psProcessingText)}\n psButtonDisabled={psButtonDisabled}\n onAnimationCompleted={(status) => this.onAnimationCompleted(status)}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {/* Starts render the step when isSuccess or isError are true so markup is there when css transition kicks in\n css transition to work properly */}\n {(isSuccess || isError || isComplete) && (\n <CompleteStep\n fileName={fileName}\n isComplete={isComplete}\n isError={isError}\n isImage={isImage}\n csButtonText={csButtonText || intl.formatMessage(messages.csButtonText)}\n csFailureText={this.getErrorMessage(response?.status)}\n csSuccessText={csSuccessText || intl.formatMessage(messages.csSuccessText)}\n uploadedImage={uploadedImage}\n onClear={(event) => this.handleOnClear(event)}\n />\n )}\n {!isProcessing && (\n <div className=\"droppable-dropping-card droppable-card\" aria-live=\"polite\">\n <div className=\"droppable-card-content\">\n <div className=\"circle circle-sm text-primary\">\n <PlusIcon size=\"16\" />\n </div>\n <Title type={Typography.TITLE_BODY} className=\"m-t-3\">\n {usDropMessage || intl.formatMessage(messages.usDropMessage)}\n </Title>\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\nUpload.propTypes = {\n animationDelay: PropTypes.number,\n csButtonText: PropTypes.string,\n csFailureText: PropTypes.string,\n csSuccessText: PropTypes.string,\n csTooLargeMessage: PropTypes.string,\n csWrongTypeMessage: PropTypes.string,\n httpOptions: PropTypes.shape({\n url: PropTypes.string.isRequired,\n method: PropTypes.oneOf(['POST', 'PUT', 'PATCH']),\n fileInputName: PropTypes.string,\n data: PropTypes.object,\n headers: PropTypes.object,\n }),\n /**\n * You can provide a fetcher function with the same interface as the global fetch function, which is used by default.\n * function fetcher(input: RequestInfo, init?: RequestInit): Promise<Response>\n */\n fetcher: PropTypes.func,\n maxSize: PropTypes.number,\n onCancel: PropTypes.func,\n onFailure: PropTypes.func,\n onStart: PropTypes.func,\n onSuccess: PropTypes.func,\n psButtonText: PropTypes.string,\n psButtonDisabled: PropTypes.bool,\n psProcessingText: PropTypes.string,\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n /**\n * You can provide multiple rules separated by comma, e.g.: \"application/pdf,image/*\".\n * Using \"*\" will allow every file type to be uploaded.\n */\n usAccept: PropTypes.string,\n usButtonText: PropTypes.string,\n usDisabled: PropTypes.bool,\n usDropMessage: PropTypes.string,\n usHelpImage: PropTypes.node,\n usLabel: PropTypes.string,\n usPlaceholder: PropTypes.string,\n uploadStep: PropTypes.oneOf(['uploadImageStep', 'mediaUploadStep']),\n};\n\nUpload.defaultProps = {\n animationDelay: 700,\n csButtonText: undefined,\n csFailureText: undefined,\n csSuccessText: undefined,\n csTooLargeMessage: undefined,\n csWrongTypeMessage: undefined,\n httpOptions: null,\n maxSize: MAX_SIZE_DEFAULT,\n onCancel: null,\n onFailure: null,\n onStart: null,\n onSuccess: null,\n psButtonText: undefined,\n psButtonDisabled: false,\n psProcessingText: undefined,\n size: 'md',\n usAccept: 'image/*',\n usButtonText: undefined,\n usDisabled: false,\n usDropMessage: undefined,\n usHelpImage: '',\n usLabel: '',\n usPlaceholder: undefined,\n uploadStep: UploadStep.UPLOAD_IMAGE_STEP,\n};\n\n// this export is necessary for react-to-typescript-definitions\n// to be able to properly generate TS types, this is due to us wrapping this component in `injectIntl` before exporting\nexport { Upload };\n\nexport default injectIntl(Upload);\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n fileIsTooLarge: {\n id: 'neptune.UploadInput.fileIsTooLarge',\n defaultMessage: 'File is too large',\n description: 'Error message when the selected file size exceeds the limit',\n },\n fileTypeNotSupported: {\n id: 'neptune.UploadInput.fileTypeNotSupported',\n defaultMessage: 'File type not supported',\n description: 'Error message when the selected file is not one of the supported types',\n },\n deleteModalTitle: {\n id: 'neptune.UploadInput.deleteModalTitle',\n defaultMessage: 'Sure you want to remove this file?',\n description: 'Title to display on delete confirmation modal',\n },\n deleteModalBody: {\n id: 'neptune.UploadInput.deleteModalBody',\n defaultMessage: 'Removing this file will delete it from our system.',\n description: 'Body copy to display on delete confirmation modal',\n },\n deleteModalCancelButtonText: {\n id: 'neptune.UploadInput.deleteModalCancelButtonText',\n defaultMessage: 'Cancel',\n description: 'Cancel button text to display on delete confirmation modal',\n },\n deleteModalConfirmButtonText: {\n id: 'neptune.UploadInput.deleteModalConfirmButtonText',\n defaultMessage: 'Remove',\n description: 'Confirm button text to display on delete confirmation modal',\n },\n maximumFilesAlreadyUploaded: {\n id: 'neptune.UploadInput.maximumFilesAlreadyUploaded',\n defaultMessage:\n 'Sorry, this upload failed because we can only accept {maxFilesAllowed} files at once.',\n description:\n 'When number of files to be uploaded is restricted, this message is displayed below the files that are extra',\n },\n});\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n uploadFile: {\n id: 'neptune.UploadButton.uploadFile',\n defaultMessage: 'Upload file',\n description: 'Main CTA copy in the upload button when only a single file is allowed',\n },\n\n uploadFiles: {\n id: 'neptune.UploadButton.uploadFiles',\n defaultMessage: 'Upload files',\n description: 'Main CTA copy in the upload button when multiple files are allowed',\n },\n\n instructions: {\n id: 'neptune.UploadButton.instructions',\n defaultMessage: '{fileTypes}, less than {size}MB',\n description: 'Description about filetypes and size limit for uploading files',\n },\n\n allFileTypes: {\n id: 'neptune.UploadButton.allFileTypes',\n defaultMessage: 'All file types',\n description: 'Copy to show when all filetypes are allowed to be uploaded',\n },\n\n dropFile: {\n id: 'neptune.UploadButton.dropFiles',\n defaultMessage: 'Drop file to start upload',\n description: 'Copy to show when dragging files over the upload component',\n },\n});\n","import { FileType } from '../../common';\n\nexport const DEFAULT_SIZE_LIMIT = 5000;\n\nexport const imageFileTypes = [FileType.PDF, FileType.JPG, FileType.PNG];\n","import { FileType } from '../../common';\n\nconst getAllowedFileTypes = (fileTypes: readonly FileType[] | readonly string[]): string[] =>\n fileTypes.map((fileTypeDefinition: string) =>\n fileTypeDefinition\n .split(',')\n .filter((extension) => !extension.includes('/')) // Filter out mime types\n .map((extension) => extension.replace('.', '').toUpperCase()) // Remove dot and convert extensions to uppercase to be displayed in the instructions\n .join(', '),\n );\n\nexport default getAllowedFileTypes;\n","import { PlusCircle as PlusIcon, Upload as UploadIcon } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { ChangeEvent, DragEvent, useRef, useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Body from '../../body';\nimport { FileType, Typography } from '../../common';\nimport { useDirection } from '../../common/hooks';\n\nimport MESSAGES from './UploadButton.messages';\nimport { DEFAULT_SIZE_LIMIT, imageFileTypes } from './defaults';\nimport getAllowedFileTypes from './getAllowedFileTypes';\n\ntype AllowedFileTypes = string | readonly string[] | readonly FileType[];\nexport type UploadButtonProps = {\n /**\n * Disable the upload button if your app is not yet ready to accept uploads\n */\n disabled?: boolean;\n\n /**\n * Allow multiple file uploads\n */\n multiple?: boolean;\n\n /**\n * List of allowed filetypes, eg. '*' | '.zip,application/zip' | ['.jpg,.jpeg,image/jpeg', '.png,image/png'] (default: image files + PDF)\n */\n fileTypes?: AllowedFileTypes;\n\n /**\n * Size limit in KBs 1000 KB = 1 MB (default: 5000 KB)\n */\n sizeLimit?: number;\n\n /**\n * Description for the upload button\n */\n description?: string | undefined;\n\n /**\n * Maximum number of files allowed, if provided, shows error below file item\n */\n maxFiles?: number;\n\n /**\n * Called when some files were successfully selected\n *\n * @param files\n */\n onChange: (files: FileList) => void;\n\n /**\n * Id for the upload input\n */\n id?: string;\n\n /**\n * Title for the upload button\n */\n uploadButtonTitle?: string;\n\n /**\n * Are there any uploaded items on a multiple-file upload? Used for calculating border radiuses\n */\n multipleFileInputWithFilesAdded: boolean;\n};\n\nexport enum TEST_IDS {\n uploadInput = 'uploadInput',\n mediaBody = 'mediaBody',\n}\n\nconst onDragOver = (event: DragEvent): void => {\n event.preventDefault();\n};\n\nconst DEFAULT_FILE_INPUT_ID = 'np-upload-button';\nconst UploadButton = ({\n disabled,\n multiple,\n description,\n fileTypes = imageFileTypes,\n sizeLimit = DEFAULT_SIZE_LIMIT,\n maxFiles,\n onChange,\n id = DEFAULT_FILE_INPUT_ID,\n uploadButtonTitle,\n multipleFileInputWithFilesAdded,\n}: UploadButtonProps) => {\n const { isModern } = useTheme();\n const { isRTL } = useDirection();\n const { formatMessage } = useIntl();\n const inputReference = useRef<HTMLInputElement>(null);\n\n const [isDropping, setIsDropping] = useState(false);\n\n const dragCounter = useRef(0);\n\n const reset = (): void => {\n dragCounter.current = 0;\n setIsDropping(false);\n };\n\n const onDragLeave = (event: DragEvent): void => {\n event.preventDefault();\n dragCounter.current -= 1;\n if (dragCounter.current === 0) {\n setIsDropping(false);\n }\n };\n\n const onDragEnter = (event: DragEvent): void => {\n event.preventDefault();\n dragCounter.current += 1;\n if (dragCounter.current === 1) {\n setIsDropping(true);\n }\n };\n\n const onDrop = (event: DragEvent): void => {\n event.preventDefault();\n reset();\n if (event.dataTransfer && event.dataTransfer.files && event.dataTransfer.files[0]) {\n onChange(event.dataTransfer.files);\n }\n };\n\n const filesSelected = (event: ChangeEvent<HTMLInputElement>): void => {\n const { files } = event.target;\n\n if (files) {\n onChange(files);\n\n if (inputReference.current) {\n inputReference.current.value = '';\n }\n }\n };\n\n const getFileTypesDescription = (): string => {\n if (fileTypes === '*') {\n return fileTypes;\n }\n\n return getAllowedFileTypes(Array.isArray(fileTypes) ? fileTypes : [fileTypes]).join(', ');\n };\n\n function getDescription() {\n if (description) {\n return description;\n }\n\n const fileTypesDescription = getFileTypesDescription();\n\n const derivedFileDescription =\n fileTypesDescription === '*' ? formatMessage(MESSAGES.allFileTypes) : fileTypesDescription;\n\n return formatMessage(MESSAGES.instructions, {\n fileTypes: derivedFileDescription,\n size: Math.round(sizeLimit / 1000),\n });\n }\n\n function getAcceptedTypes(): Pick<React.ComponentPropsWithoutRef<'input'>, 'accept'> {\n const areAllFilesAllowed = getFileTypesDescription() === '*';\n\n if (areAllFilesAllowed) {\n return {}; //file input by default allows all files\n }\n\n if (Array.isArray(fileTypes)) {\n return { accept: fileTypes.join(',') };\n }\n\n return { accept: fileTypes as string };\n }\n\n function renderDescription() {\n return (\n <>\n <Body\n className={classNames({\n 'text-primary': !disabled,\n small: !isModern,\n 'font-weight-normal': !isModern,\n })}\n >\n {getDescription()}\n {maxFiles && (\n <>\n <br />\n {`Maximum ${maxFiles} files.`}\n </>\n )}\n </Body>\n </>\n );\n }\n\n function renderButtonTitle() {\n if (uploadButtonTitle) {\n return uploadButtonTitle;\n }\n return formatMessage(multiple ? MESSAGES.uploadFiles : MESSAGES.uploadFile);\n }\n\n return (\n <div\n className={classNames('np-upload-button-container', 'droppable', {\n 'droppable-dropping': isDropping,\n })}\n {...(!disabled && { onDragEnter, onDragLeave, onDrop, onDragOver })}\n >\n <input\n ref={inputReference}\n id={id}\n type=\"file\"\n {...getAcceptedTypes()}\n {...(multiple && { multiple: true })}\n className=\"tw-droppable-input\"\n disabled={disabled}\n name=\"file-upload\"\n data-testid={TEST_IDS.uploadInput}\n onChange={filesSelected}\n />\n {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}\n <label\n htmlFor={id}\n className={classNames('btn', 'np-upload-accent', 'np-upload-button', {\n disabled,\n 'np-upload-input--square-top': multipleFileInputWithFilesAdded,\n })}\n >\n <div className=\"media\">\n <div className=\"np-upload-icon media-left\">\n <UploadIcon size={24} className=\"text-link\" />\n </div>\n <div className=\"media-body text-xs-left\" data-testid={TEST_IDS.mediaBody}>\n <Body type={Typography.BODY_LARGE_BOLD} className=\"d-block\">\n {renderButtonTitle()}\n </Body>\n {renderDescription()}\n </div>\n </div>\n </label>\n\n {/* Drop area overlay */}\n {isDropping && (\n <div\n className={classNames(\n 'droppable-card',\n 'droppable-dropping-card',\n 'droppable-card-content',\n { 'np-upload-input--square-top': multipleFileInputWithFilesAdded },\n )}\n >\n <PlusIcon className=\"m-x-1\" size={24} />\n <div>{formatMessage(MESSAGES.dropFile)}</div>\n </div>\n )}\n </div>\n );\n};\n\nexport default UploadButton;\n","import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n uploadingFailed: {\n id: 'neptune.UploadItem.uploadingFailed',\n defaultMessage: 'Uploading failed',\n description: 'Default error message when upload has failed',\n },\n\n uploaded: {\n id: 'neptune.UploadItem.uploaded',\n defaultMessage: 'Uploaded',\n description: 'Success copy when upload was successful',\n },\n\n uploading: {\n id: 'neptune.UploadItem.uploading',\n defaultMessage: 'Uploading...',\n description: 'Copy that is displayed during uploading a file',\n },\n\n deleting: {\n id: 'neptune.UploadItem.deleting',\n defaultMessage: 'Deleting...',\n description: 'Copy that is displayed during deleting a file',\n },\n\n uploadedFile: {\n id: 'neptune.UploadItem.uploadedFile',\n defaultMessage: 'Uploaded file',\n description: 'Default copy when filename is missing',\n },\n\n removeFile: {\n id: 'neptune.UploadItem.removeFile',\n defaultMessage: 'Remove file {filename}',\n description: 'Screenreader text for the delete file button',\n },\n});\n","import { PropsWithChildren, MouseEvent } from 'react';\n\ntype UploadItemLinkProps = PropsWithChildren<{\n url?: string;\n onDownload?: (event: MouseEvent) => void;\n singleFileUpload: boolean;\n}>;\n\nexport const UploadItemBody = ({\n children,\n url,\n onDownload,\n singleFileUpload,\n}: UploadItemLinkProps) => {\n if (!url) {\n return <div>{children}</div>;\n }\n\n return (\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={singleFileUpload ? 'np-upload-item--single-file' : ''}\n onClick={onDownload}\n >\n {children}\n </a>\n );\n};\n","import { AlertCircle, CrossCircleFill } from '@transferwise/icons';\nimport { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { ReactElement, MouseEvent } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Body from '../../body';\nimport { Size, Status, Typography, Sentiment } from '../../common';\nimport ProcessIndicator from '../../processIndicator/ProcessIndicator';\nimport StatusIcon from '../../statusIcon/StatusIcon';\nimport { UploadedFile } from '../types';\n\nimport MESSAGES from './UploadItem.messages';\nimport { UploadItemBody } from './UploadItemBody';\n\nexport type UploadItemProps = JSX.IntrinsicAttributes & {\n file: UploadedFile;\n /**\n * Is this Item part of a multiple- or single-file UploadInput\n */\n singleFileUpload: boolean;\n canDelete: boolean;\n onDelete: () => void;\n\n /**\n * Callback to be called when the file link is clicked.\n * When provided, you need to manually trigger actions to load/download the file.\n *\n * @param file\n */\n onDownload?: (file: UploadedFile) => void;\n};\n\nexport enum TEST_IDS {\n uploadItem = 'uploadItem',\n mediaBody = 'mediaBody',\n}\n\nconst UploadItem = ({\n file,\n canDelete,\n onDelete,\n onDownload,\n singleFileUpload,\n}: UploadItemProps) => {\n const { formatMessage } = useIntl();\n const { status, filename, error, url } = file;\n const { isModern } = useTheme();\n\n const isSucceeded = [Status.SUCCEEDED, undefined].includes(status) && !!url;\n\n const getIcon = (): ReactElement => {\n if (error || status === Status.FAILED) {\n return isModern ? (\n <StatusIcon size={Size.SMALL} sentiment={Sentiment.NEGATIVE} />\n ) : (\n <AlertCircle size={24} className=\"text-negative\" />\n );\n }\n\n let processIndicator: ReactElement;\n\n switch (status) {\n case Status.PROCESSING:\n case Status.PENDING:\n processIndicator = <ProcessIndicator size={Size.EXTRA_SMALL} status={Status.PROCESSING} />;\n break;\n case Status.SUCCEEDED:\n case Status.DONE:\n default:\n processIndicator = isModern ? (\n <StatusIcon size={Size.SMALL} sentiment={Sentiment.POSITIVE} />\n ) : (\n <ProcessIndicator size={Size.EXTRA_SMALL} status={Status.SUCCEEDED} />\n );\n }\n\n if (isModern) {\n return processIndicator;\n }\n\n return <span style={{ transform: 'scale(0.8335)' }}>{processIndicator}</span>; // Scale down ProcessIndicator to be 20px*20px to match `icons`\n };\n\n const getErrorMessage = () =>\n (typeof error === 'object' && error.message) ||\n error ||\n formatMessage(MESSAGES.uploadingFailed);\n\n const getDescription = () => {\n if (error || status === Status.FAILED) {\n return (\n <Body type={Typography.BODY_DEFAULT_BOLD} className=\"text-negative\">\n {getErrorMessage()}\n </Body>\n );\n }\n\n switch (status) {\n case Status.PENDING:\n return <Body type={Typography.BODY_DEFAULT_BOLD}>{formatMessage(MESSAGES.uploading)}</Body>;\n case Status.PROCESSING:\n return <Body>{formatMessage(MESSAGES.deleting)}</Body>;\n case Status.SUCCEEDED:\n case Status.DONE:\n default:\n return (\n <Body type={Typography.BODY_DEFAULT_BOLD} className=\"text-positive\">\n {formatMessage(MESSAGES.uploaded)}\n </Body>\n );\n }\n };\n\n const getTitle = () => {\n return filename || formatMessage(MESSAGES.uploadedFile);\n };\n\n const onDownloadFile = (event: MouseEvent): void => {\n if (onDownload) {\n event.preventDefault();\n onDownload(file);\n }\n };\n\n return (\n <div\n className={classNames('np-upload-item', { 'np-upload-item__link': isSucceeded })}\n data-testid={TEST_IDS.uploadItem}\n >\n <div className=\"np-upload-item__body\">\n <UploadItemBody\n url={isSucceeded ? url : undefined}\n singleFileUpload={singleFileUpload}\n onDownload={onDownloadFile}\n >\n <div className=\"np-upload-button\" aria-live=\"polite\">\n <div className=\"media\">\n <div className=\"np-upload-icon media-left\">{getIcon()}</div>\n <div className=\"media-body text-xs-left\" data-testid={TEST_IDS.mediaBody}>\n <Body className=\"text-word-break d-block text-primary\">{getTitle()}</Body>\n {getDescription()}\n </div>\n </div>\n </div>\n </UploadItemBody>\n {canDelete && (\n <button\n aria-label={formatMessage(MESSAGES.removeFile, { filename })}\n className={classNames('btn', 'np-upload-item__remove-button', 'media-left', {\n 'np-upload-item--single-file': singleFileUpload,\n })}\n type=\"button\"\n onClick={() => onDelete()}\n >\n <CrossCircleFill size={16} />\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport default UploadItem;\n","import { useTheme } from '@wise/components-theming';\nimport classNames from 'classnames';\nimport { ReactElement, useEffect, useRef, useState } from 'react';\nimport { useIntl } from 'react-intl';\n\nimport Button from '../button';\nimport { CommonProps, ControlType, Priority, Status } from '../common';\nimport Modal from '../modal';\nimport { isSizeValid } from '../upload/utils/isSizeValid';\nimport { isTypeValid } from '../upload/utils/isTypeValid';\n\nimport MESSAGES from './UploadInput.messages';\nimport { UploadedFile, UploadError, UploadResponse } from './types';\nimport UploadButton, { UploadButtonProps } from './uploadButton/UploadButton';\nimport { DEFAULT_SIZE_LIMIT, imageFileTypes } from './uploadButton/defaults';\nimport UploadItem, { UploadItemProps } from './uploadItem/UploadItem';\n\nexport type UploadInputProps = {\n /**\n * List of already existing, failed or in progress files\n */\n files?: readonly UploadedFile[];\n\n /**\n * The key of the file in the returned FormData object (default: file)\n */\n fileInputName?: string;\n\n /**\n * Callback that handles form submission\n *\n * @param formData\n */\n onUploadFile: (formData: FormData) => Promise<UploadResponse>;\n\n /**\n * Provide a callback if the file can be removed/deleted from the server\n * Your app is responsible for reloading the uploaded files list and updating the component to ensure that the file has in fact been deleted successfully\n *\n * @param id\n */\n onDeleteFile?: (id: string | number) => Promise<any>;\n\n /**\n * Provide a callback to trigger on validation error\n *\n * @param file\n */\n onValidationError?: (file: UploadedFile) => void;\n\n /**\n * Provide a callback to trigger on change whenever the files are updated\n *\n * @param files\n */\n onFilesChange?: (files: UploadedFile[]) => void;\n\n /**\n * Confirmation modal displayed on delete\n */\n deleteConfirm?: {\n /**\n * The title of the confirmation modal on delete\n */\n title?: string;\n\n /**\n * The body of the confirmation modal on delete\n */\n body?: React.ReactNode;\n\n /**\n * The confirm button text of the confirmation modal on delete\n */\n confirmText?: string;\n\n /**\n * The cancel button text of the confirmation modal on delete\n */\n cancelText?: string;\n };\n\n /**\n * Maximum number of files allowed, if provided, shows error below file item\n */\n maxFiles?: number;\n\n /**\n * Error message to show when the maximum number of files are uploaded already\n */\n maxFilesErrorMessage?: string;\n\n /**\n * Error message to show when files over a allowed size limit are uploaded\n */\n sizeLimitErrorMessage?: string;\n} & Pick<\n UploadButtonProps,\n 'disabled' | 'multiple' | 'fileTypes' | 'sizeLimit' | 'description' | 'id' | 'uploadButtonTitle'\n> &\n Pick<UploadItemProps, 'onDownload'> &\n CommonProps;\n\nfunction generateFileId(file: File) {\n const { name, size } = file;\n const uploadTimeStamp = new Date().getTime();\n return `${name}_${size}_${uploadTimeStamp}`;\n}\n\nconst UploadInput = ({\n files = [],\n fileInputName = 'file',\n className,\n deleteConfirm,\n disabled,\n multiple = false,\n fileTypes = imageFileTypes,\n sizeLimit = DEFAULT_SIZE_LIMIT,\n description,\n onUploadFile,\n onDeleteFile,\n onValidationError,\n onFilesChange,\n onDownload,\n maxFiles,\n maxFilesErrorMessage,\n id,\n sizeLimitErrorMessage,\n uploadButtonTitle,\n}: UploadInputProps): ReactElement => {\n const { isModern } = useTheme();\n const [markedFileForDelete, setMarkedFileForDelete] = useState<UploadedFile | null>(null);\n const [mounted, setMounted] = useState(false);\n const { formatMessage } = useIntl();\n\n const PROGRESS_STATUSES = new Set([Status.PENDING, Status.PROCESSING]);\n\n const [uploadedFiles, setUploadedFiles] = useState<readonly UploadedFile[]>(\n multiple || files.length === 0 ? files : [files[0]],\n );\n\n const uploadedFilesListReference = useRef(multiple || files.length === 0 ? files : [files[0]]);\n\n function addFileToList(recentUploadedFile: UploadedFile) {\n function addToList(listToAddTo: readonly UploadedFile[]) {\n return [...listToAddTo, recentUploadedFile];\n }\n\n setUploadedFiles(addToList);\n uploadedFilesListReference.current = addToList(uploadedFilesListReference.current);\n }\n\n const removeFileFromList = (file: UploadedFile) => {\n function filterOutFrom(listToFilterFrom: readonly UploadedFile[]) {\n return listToFilterFrom.filter(\n (fileInList) => file !== fileInList && file.id !== fileInList.id,\n );\n }\n\n setUploadedFiles(filterOutFrom);\n uploadedFilesListReference.current = filterOutFrom(uploadedFilesListReference.current);\n };\n\n const modifyFileInList = (file: UploadedFile, updates: Partial<UploadedFile>) => {\n const updateListItem = (listToUpdate: readonly UploadedFile[]) =>\n listToUpdate.map((fileInList) => {\n return fileInList === file || fileInList.id === file.id\n ? { ...file, ...updates }\n : fileInList;\n });\n\n setUploadedFiles(updateListItem);\n uploadedFilesListReference.current = updateListItem(uploadedFilesListReference.current);\n };\n\n const removeFile = (file: UploadedFile) => {\n const { id, status } = file;\n\n if (status === Status.FAILED) {\n // If removing a failed upload, we're just updating the view\n removeFileFromList(file);\n } else if (onDeleteFile && id) {\n // Set status to PROCESSING\n modifyFileInList(file, { status: Status.PROCESSING, error: undefined });\n\n // Notify host app about deletion\n onDeleteFile(id)\n .then(() => removeFileFromList(file))\n .catch((error) => {\n modifyFileInList(file, { error: error as UploadError });\n });\n }\n };\n\n function handleFileUploadFailure(file: File, failureMessage: string) {\n const { name } = file;\n const id = generateFileId(file);\n const failedUpload = {\n id,\n filename: name,\n status: Status.FAILED,\n error: failureMessage,\n };\n\n addFileToList(failedUpload);\n\n if (onValidationError) {\n onValidationError(failedUpload);\n }\n }\n\n function getNumberOfFilesUploaded() {\n const uploadInitiatedStatus = new Set([Status.SUCCEEDED, Status.PENDING]);\n const validFiles = uploadedFilesListReference.current.filter(\n (file) => file.status && uploadInitiatedStatus.has(file.status),\n );\n return validFiles.length;\n }\n\n function areMaximumFilesUploadedAlready() {\n if (!maxFiles) {\n return false;\n }\n\n const numberOfValidFiles = getNumberOfFilesUploaded();\n return numberOfValidFiles >= maxFiles;\n }\n\n // One or more files selected, create entries for them\n const addFiles = (selectedFiles: FileList) => {\n for (let i = 0; i < selectedFiles.length; i += 1) {\n const file = selectedFiles.item(i);\n\n // Returning a FormData[] array instead of FileList so we can filter out incorrect files\n const formData = new FormData();\n\n if (file) {\n const { name } = file;\n const id = generateFileId(file);\n\n const allowedFileTypes = Array.isArray(fileTypes) ? fileTypes.join(',') : fileTypes;\n\n // Check if file type is valid\n if (!isTypeValid(file, allowedFileTypes)) {\n handleFileUploadFailure(file, formatMessage(MESSAGES.fileTypeNotSupported));\n continue;\n }\n\n // Check if the filesize is valid\n // Convert to rough bytes\n if (!isSizeValid(file, sizeLimit * 1000)) {\n const failureMessage = sizeLimitErrorMessage || formatMessage(MESSAGES.fileIsTooLarge);\n handleFileUploadFailure(file, failureMessage);\n continue;\n }\n\n if (areMaximumFilesUploadedAlready()) {\n const failureMessage =\n maxFilesErrorMessage ||\n formatMessage(MESSAGES.maximumFilesAlreadyUploaded, { maxFilesAllowed: maxFiles });\n handleFileUploadFailure(file, failureMessage);\n continue;\n }\n\n formData.append(fileInputName, file);\n const pendingFile = {\n id,\n filename: name,\n status: Status.PENDING,\n };\n\n addFileToList(pendingFile);\n\n // Start uploading the file\n onUploadFile(formData)\n .then(({ id, url, error }: UploadResponse) => {\n // Replace the temporary id with the final one received from the API, and also set any errors\n modifyFileInList(pendingFile, { id, url, error, status: Status.SUCCEEDED });\n })\n .catch((error) => {\n modifyFileInList(pendingFile, { error: error as UploadError, status: Status.FAILED });\n });\n\n if (!multiple) {\n // Only upload a single file\n break;\n }\n }\n }\n };\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n useEffect(() => {\n if (onFilesChange && mounted) {\n onFilesChange([...uploadedFiles]);\n }\n }, [onFilesChange, uploadedFiles]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <>\n <div className={classNames('np-upload-input', className, { disabled: isModern && disabled })}>\n {uploadedFiles.map((file) => (\n <UploadItem\n key={file.id}\n file={file}\n singleFileUpload={!multiple}\n canDelete={\n (!!onDeleteFile || file.status === Status.FAILED) &&\n (!file.status || !PROGRESS_STATUSES.has(file.status))\n }\n onDelete={\n file.status === Status.FAILED\n ? () => removeFile(file)\n : () => setMarkedFileForDelete(file)\n }\n onDownload={onDownload}\n />\n ))}\n {(multiple || (!multiple && !uploadedFiles.length)) && (\n <UploadButton\n id={id}\n uploadButtonTitle={uploadButtonTitle}\n disabled={areMaximumFilesUploadedAlready() || disabled}\n multiple={multiple}\n fileTypes={fileTypes}\n sizeLimit={sizeLimit}\n description={description}\n maxFiles={maxFiles}\n multipleFileInputWithFilesAdded={multiple && uploadedFiles.length > 0}\n onChange={addFiles}\n />\n )}\n </div>\n <Modal\n title={\n deleteConfirm?.title !== undefined\n ? deleteConfirm.title\n : formatMessage(MESSAGES.deleteModalTitle)\n }\n body={\n deleteConfirm?.body !== undefined\n ? deleteConfirm.body\n : formatMessage(MESSAGES.deleteModalBody)\n }\n open={!!markedFileForDelete}\n footer={\n <>\n <Button\n block\n onClick={() => {\n setMarkedFileForDelete(null);\n }}\n >\n {deleteConfirm?.cancelText || formatMessage(MESSAGES.deleteModalCancelButtonText)}\n </Button>\n <Button\n block\n priority={Priority.SECONDARY}\n type={ControlType.NEGATIVE}\n onClick={() => {\n if (markedFileForDelete) {\n removeFile(markedFileForDelete);\n }\n setMarkedFileForDelete(null);\n }}\n >\n {deleteConfirm?.confirmText || formatMessage(MESSAGES.deleteModalConfirmButtonText)}\n </Button>\n </>\n }\n onClose={() => {\n setMarkedFileForDelete(null);\n }}\n />\n </>\n );\n};\n\nexport default UploadInput;\n","import { useContext } from 'react';\n\nimport { SnackbarContext } from './SnackbarContext';\n\nfunction useSnackbar() {\n const { createSnackbar } = useContext(SnackbarContext);\n\n return createSnackbar;\n}\n\nexport default useSnackbar;\n","import cs from './cs.json';\nimport de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport hu from './hu.json';\nimport id from './id.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport ro from './ro.json';\nimport ru from './ru.json';\nimport th from './th.json';\nimport tr from './tr.json';\nimport uk from './uk.json';\nimport zhCN from './zh-CN.json';\nimport zhHK from './zh-HK.json';\n\nconst translations: Record<string, Record<string, string>> = {\n cs,\n de,\n en,\n 'en-US': en,\n es,\n fr,\n hu,\n id,\n it,\n ja,\n pl,\n pt,\n ro,\n ru,\n th,\n tr,\n uk,\n 'zh-CN': zhCN,\n 'zh-HK': zhHK,\n};\n\nexport default translations;\n"],"names":["Typography","DEFAULT_TYPE","BODY_DEFAULT","bodyTypes","Set","BODY_DEFAULT_BOLD","BODY_LARGE","BODY_LARGE_BOLD","Body","forwardRef","as","Element","type","className","props","reference","isTypeSupported","has","_jsx","ref","classNames","HistoryNavigator","history","currIndex","historyLimit","constructor","length","reset","newHistory","add","element","push","redo","historyLength","undo","isIosDevice","sampleTouchDevices","matchString","map","device","join","regex","RegExp","navigator","test","userAgent","addClickClassToDocumentOnIos","document","documentElement","classList","removeClickClassFromDocumentOnIos","remove","isServerSide","window","isBrowser","stopPropagation","event","preventDefault","nativeEvent","stopImmediatePropagation","getSimpleRandomId","prefix","random","Math","ceil","NO_SCROLL_CLASS","addNoScrollClass","removeNoScrollClass","Theme","Direction","ControlType","Priority","Breakpoint","Size","Width","Type","DateMode","MonthFormat","Position","Layout","Status","Sentiment","ProfileType","Variant","Scroll","MarkdownNodeType","FileType","DEFAULT_LANG","DEFAULT_LOCALE","RTL_LANGUAGES","SUPPORTED_LANGUAGES","adjustLocale","locale","localeTrimmed","trim","Intl","Locale","replace","baseName","error","console","getLangFromLocale","adjustedLocale","language","includes","getCountryFromLocale","region","getDirectionFromLocale","RTL","LTR","CONTAINER_SIZE","EXTRA_SMALL","SMALL","MEDIUM","ExtraSmallChevron","role","children","width","height","viewBox","fill","focusable","fillRule","d","Chevron","orientation","BOTTOM","size","disabled","classNameValue","sizeValue","ChevronUp","Option","media","title","content","component","button","decision","complex","inverseMediaCircle","showMediaAtAllSizes","showMediaCircle","isContainerAligned","rest","_jsxs","AccordionItem","ariaLabel","id","subtitle","onClick","open","icon","theme","iconElement","cloneElement","fallbackId","useId","accordionId","TOP","Accordion","indexOpen","items","itemsOpen","setItemsOpen","useState","value","index","handleOnClick","newItems","_Fragment","item","ActionButton","undefined","priority","PRIMARY","text","SECONDARY","ActionOption","action","sharedProps","getAriaLabel","labels","defineMessages","CloseButton","filled","isDisabled","testId","intl","useIntl","formatMessage","messages","Icon","CrossCircleFill","Cross","LARGE","opensInNewTab","Link","href","target","isBlank","rel","NavigateAwayIcon","iconTypeMap","positive","Check","neutral","Info","warning","Alert","negative","pending","ClockBorderless","info","success","StatusIcon","sentiment","iconColor","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","mapping","HeaderTag","logActionRequired","message","process","env","NODE_ENV","warn","logActionRequiredIf","conditional","reader","commonmark","Parser","writer","HtmlRenderer","safe","NODE_TYPE_LIST","Object","values","Markdown","allowList","blockList","config","linkTarget","link","paragraphClass","paragraph","parser","nodes","parsed","parse","toExclude","filter","stripNodes","createMarkup","render","dangerouslySetInnerHTML","__html","walker","next","node","entering","firstChild","insertBefore","unlink","STRONG","InlineMarkdown","propTypes","PropTypes","string","isRequired","defaultProps","AlertArrowPosition","resolveType","arrow","dismissible","onDismiss","variant","useEffect","resolvedType","shouldFire","setShouldFire","closeButtonReference","useRef","alertArrowClassNames","onTouchStart","onTouchEnd","Node","current","contains","top","location","assign","onTouchMove","NEGATIVE","LINK_LARGE","AvatarType","avatarColors","hashSeed","seed","base","modulo","hashValue","basePow","i","charCodeAt","getAvatarColorFromSeed","backwardsCompatibleSize","Avatar","backgroundColor","backgroundColorSeed","outlined","sizeFromProps","LIGHT","backgroundColorFromSeed","useMemo","classnames","Boolean","style","Badge","badge","border","classes","OptionalBadge","url","altText","statusIcon","src","alt","AvatarWrapper","profileType","profileId","badgeUrl","badgeAltText","badgeStatusIcon","name","avatarProps","badgeProps","hasImageLoadError","setImageLoadError","isBusinessProfile","BUSINESS","getAvatarProps","THUMBNAIL","onError","ICON","BriefcaseIcon","ProfileIcon","INITIALS","getInitials","toString","allInitials","split","part","toUpperCase","slice","radius","xxs","xs","sm","xl","ANIMATION_DURATION_IN_MS","ProcessIndicator","Component","state","status","interval","timeout","componentDidMount","setInterval","statusFromState","sizeFromState","statusFromProps","setState","runCallBack","shouldComponentUpdate","nextProps","nextState","isSameStatus","isSameSize","componentWillUnmount","clearInterval","clearTimeout","onAnimationCompleted","timeouts","setTimeout","dataTestId","FAILED","HIDDEN","SUCCEEDED","xmlns","cx","cy","r","fillOpacity","oneOf","func","PROCESSING","loadingAriaLabel","typeClassMap","ACCENT","POSITIVE","priorityClassMap","TERTIARY","deprecatedTypeMap","LINK","PAY","DANGER","oldTypePriorityMap","deprecatedTypeMapMessage","deprecatedTypes","keys","establishNewType","originalType","establishNewPriority","originalPriority","logDeprecationNotices","Button","block","loading","newType","newPriority","processIndicatorSize","htmlType","restProps","Card","isExpanded","details","isOpen","hasChildren","requiredIf","bool","CheckboxButton","checked","onChange","Checkbox","required","readOnly","label","secondary","onFocus","onBlur","isModern","useTheme","checkbox","innerDisabled","CheckboxOption","Chip","onRemove","onKeyPress","ariaChecked","closeButton","isActionable","defaultRole","tabIndex","previousCloseButtonShown","focus","Chips","chips","selected","multiple","isSelected","Array","isArray","handleOnChange","selectedValue","isCurrentlyEnabled","isEnabled","chip","chipSelected","choice","CircularButton","Number","FocusBoundary","wrapperReference","preventScroll","FocusScope","contain","restoreFocus","withNextPortalWrapper","mounted","setMounted","createPortal","body","DimmerManager","dimmers","dimmer","dimmerIndex","indexOf","splice","isTop","EXIT_ANIMATION","dimmerManager","handleTouchMove","isTouchedElementDimmer","Dimmer","disableClickToClose","contentPosition","fadeContentOnEnter","fadeContentOnExit","scrollable","transparent","onClose","hasNotExited","setHasNotExited","dimmerReference","closeOnClick","handleClick","handleKeyDown","useCallback","key","onEnter","onExited","localReferenceCopy","addEventListener","passive","removeEventListener","DimmerWrapper","CSSTransition","nodeRef","in","appear","enter","exit","enterDone","unmountOnExit","DimmerContentWrapper","scrollBody","screenMode","ThemeProvider","isNotRootProvider","withNextPortal","useConditionalListener","attachListener","callback","eventType","parent","isUndefined","DirectionContext","createContext","DirectionProvider","direction","Provider","useDirection","useContext","isRTL","ObserverParams","threshold","useHasIntersected","elRef","hasIntersected","setHasIntersected","isValidReference","handleOnIntersect","entries","observer","forEach","entry","isIntersecting","unobserve","didCancel","IntersectionObserver","observe","useMedia","query","useSyncExternalStore","onStoreChange","mediaQueryList","matchMedia","matches","useScreenSize","useLayout","screenXs","screenSm","screenMd","screenLg","screenXl","EXTRA_LARGE","isMobile","isExtraSmall","isSmall","isMedium","isLarge","isExtraLarge","SlidingPanel","position","showSlidingPanelBorder","slidingPanelPositionFixed","localReference","useImperativeHandle","_createElement","Drawer","footerContent","headerTitle","titleId","RIGHT","INITIAL_Y_POSITION","CONTENT_SCROLL_THRESHOLD","MOVE_OFFSET_THRESHOLD","BottomSheet","bottomSheetReference","topBarReference","contentReference","pressed","setPressed","animationId","moveOffset","initialYCoordinate","isContentScrollPositionAtTop","move","newHeight","transform","close","removeProperty","onSwipeStart","touches","clientY","onSwipeMove","offset","calculateOffsetAfterMove","requestAnimationFrame","onSwipeEnd","cancelAnimationFrame","scrollTop","afterMoveYCoordinate","setContentMaxHeight","safeZoneHeight","topbarHeight","windowHight","innerHeight","screenHeight","maxHeight","is400Zoom","ZOOM_400","onMouseDown","onMouseMove","onMouseUp","e","CriticalCommsBanner","AlertCircleFill","DangerIcon","getDayNames","format","days","date","Date","formatDate","weekday","setDate","getDate","moveToWithinRange","min","max","isWithinRange","getMonthNames","months","monthFormat","month","setMonth","getMonth","isDateValid","validDateObject","validDateString","dateString","dateObject","isNaN","getTime","isMonthAndYearFormat","MDY","YMD","monthLabel","dayLabel","yearLabel","dayPlaceholder","yearPlaceholder","convertToLocalMidnight","utcDate","getUTCFullYear","getUTCMonth","getUTCDate","DateInput","ariaLabelledBy","dayAutoComplete","yearAutoComplete","LONG","mode","DAY_MONTH_YEAR","placeholders","selectProps","getDateObject","getInitialDate","unit","getFullYear","day","setDay","year","setYear","lastBroadcastedValue","setLastBroadcastedValue","monthNames","getDateAsString","MONTH_YEAR","getSelectElement","SelectInput","placeholder","from","_","renderValue","SelectInputOptionContent","handleMonthChange","handleInternalValue","newDay","newMonth","newYear","broadcastNewValue","dateValue","handleDayChange","checkedDay","checkDate","parseInt","selectedMonth","handleYearChange","newValue","slicedYear","maxDay","checkedMonth","checkedYear","monthYearOnly","monthWidth","getDay","Input","inputMode","pattern","autoComplete","getYear","monthBeforeDay","yearFirst","shouldPropagateOnFocus","shouldPropagateOnBlur","relatedTarget","targetParent","closest","relatedParent","blurElementParent","focusElement","activeElement","focusElementParent","POPOVER_OFFSET","fallbackPlacements","LEFT","Panel","flip","altAxis","anchorRef","anchorWidth","arrowElement","setArrowElement","popperElement","setPopperElement","modifiers","options","tether","padding","styles","attributes","forceUpdate","usePopper","placement","contentStyle","clientWidth","popper","ResponsivePanel","DateTrigger","selectedDate","onClear","previous","twentyYears","goTo20YearView","buttonClasses","DateHeader","onLabelClick","onPreviousClick","onNextClick","dateMode","getFocusableTime","timeSpan","find","time","isActive","isNow","getStartOfDay","TableLink","longTitle","active","today","autofocus","buttonRef","onCalendarClick","calculateAriaLabel","SHORT_DAY_FORMAT","DayCalendarTable","PureComponent","getTableStructure","viewMonth","viewYear","firstDayOfMonth","daysInMonth","week","weeks","daysShort","daysLong","selectDay","onSelect","isToday","getAutofocusDay","flatMap","autoFocusDay","weekIndex","dayIndex","injectIntl","DayCalendar","selectPreviousMonth","onViewDateUpdate","selectNextMonth","ROWS","COLS","MONTH_ONLY_FORMAT","MonthCalendarTable","getLink","autofocusMonth","isThisMonth","colSpan","rowIndex","colIndex","MonthCalendar","onMonthSelect","selectPreviousYear","selectNextYear","YEAR_ONLY_FORMAT","YearCalendarTable","startYear","isThisYear","autofocusYear","years","YearCalendar","onYearSelect","selectPreviousYears","selectNextYears","DateLookup","clearable","createRef","dropdown","originalDate","getDerivedStateFromProps","propsSelected","propsMin","propsMax","hasSelectedChanged","hasMinChanged","hasMaxChanged","viewDateThatIsWithinRange","componentDidUpdate","previousProps","focusOn","mediaQuery","discard","adjustDate","daysToAdd","monthsToAdd","yearsToAdd","preferredElement","fallbackElement","querySelector","switchMode","switchToDays","switchToMonths","switchToYears","handleSelectedDateUpdate","handleViewDateUpdate","getCalendar","handleClear","onKeyDown","NavigationOption","Tile","description","DecisionPresentation","DecisionType","Decision","presentation","LIST","NAVIGATION","showMediaCircleInList","renderedOptions","list","LIST_BLOCK","LIST_BLOCK_GRID","breakpoint","isGrid","isLayoutHorizontal","layout","HORIZONTAL_LEFT_ALIGNED","HORIZONTAL_RIGHT_ALIGNED","HORIZONTAL_JUSTIFIED","getAlignmentClasses","DefinitionList","definitions","muted","VERTICAL_ONE_COLUMN","VERTICAL_TWO_COLUMN","definition","arrayOf","shape","Display","Heading","DISPLAY_LARGE","DropFade","show","setHeight","clonedChild","React","onEntering","scrollHeight","onEntered","onExit","onExiting","ESCAPED_OPENING_CHEVRON","ESCAPED_CLOSING_CHEVRON","EmphasisHtmlTransformer","tags","whitelistedTags","tag","transformed","opening","closing","escapedRegex","unsafe","reduce","accumulator","SUPPORTED_TAGS","emphasisHtmlTransformer","Emphasis","transformedText","FlowHeader","bottomContent","HORIZONTAL","leftContent","rightContent","isVertical","VERTICAL","LogoType","LogoFlagInverse","LogoFlagPlatformInverse","LogoFlagPlatform","LogoFlag","LogoWiseInverse","LogoWisePlatformInverse","LogoWisePlatform","LogoWise","svgPaths","WISE","WISE_BUSINESS","WISE_INVERSE","WISE_BUSINESS_INVERSE","WISE_PLATFORM","WISE_PLATFORM_INVERSE","WISE_FLAG","WISE_FLAG_INVERSE","WISE_FLAG_PLATFORM","WISE_FLAG_PLATFORM_INVERSE","Logo","inverse","LogoSm","LogoMd","Tooltip","setOpen","anchorReference","tooltipId","onMouseOver","onMouseOut","supportsTouchEvents","onTouchStartIsDefined","ontouchstart","maxTouchPointsIsDefined","maxTouchPoints","documentTouchIsDefined","DocumentTouch","userAgentSuggestsTouchDevice","match","isTouchDevice","clamp","to","Stepper","steps","activeStep","activeStepIndex","stepPercentage","percentageCompleted","renderStep","step","clickable","labelButton","hoverLabel","right","left","back","AnimatedLabel","activeLabel","nextLabel","BackButton","ArrowLeftIcon","FlowNavigation","avatar","logo","done","onGoBack","newAvatar","displayGoBack","HeaderAction","Header","EmptyTransparentImage","Image","onLoad","stretch","shrink","elementReference","imageSource","imageOnLoad","InfoPresentation","TRANSITION_DURATION_IN_MILLISECONDS","Modal","footer","scroll","VIEWPORT","CENTER","disableDimmerClickToClose","otherProps","checkSpecialClasses","classToCheck","isCompact","noDivider","CONTENT","resolvePlacement","preferredPlacement","Popover","resolvedPlacement","handleOnClose","isValidElement","prevOpen","POPOVER","isModal","MODAL","buttonProps","HelpCircleIcon","InlineAlert","danger","AlertCircleIcon","useEffectEvent","Error","args","useResizeObserver","handleCallback","resizeObserver","ResizeObserver","box","disconnect","cssValueWithUnit","InputPaddingStartContext","InputPaddingEndContext","useInputPaddings","paddingStart","paddingEnd","paddingInlineStart","paddingInlineEnd","inputPaddingInitialState","initialContentWidth","inputAddonDefaultPadding","inputAddonContentWidthAddendByPadding","InputGroup","addonStart","addonEnd","setPaddingStart","setPaddingEnd","InputAddon","none","md","interactive","setInputPadding","inlineSize","borderBoxSize","targetStyle","getComputedStyle","contentRect","parseFloat","formControlClassNameBase","inputPaddings","getSymbolsInPatternWithPosition","patternWithSymbolsPosition","patternArray","symbol","formatWithPattern","valueArray","patternSymbol","last","pop","unformatWithPattern","getSymbolsInPattern","getCountOfSymbolsInSelection","selectionStart","selectionEnd","getDistanceToNextSymbol","applicablePattern","countConsecutiveSymbols","getDistanceToPreviousSymbol","reverse","cursor","groupSize","condition","getCursorPositionAfterActionStroke","pastedLength","cursorPosition","WithDisplayFormat","displayPattern","unformattedValue","historyNavigator","prevDisplayPattern","triggerType","triggerEvent","unFormattedValue","getUserAction","charCode","String","fromCharCode","which","toLowerCase","ctrlKey","metaKey","shiftKey","resetEvent","detectUndoRedo","handleOnKeyDown","persist","currentTarget","newFormattedValue","handleOnPaste","clipboardData","getData","handleOnCut","isKeyAllowed","symbolsInPattern","character","handleDelete","handleCursorPositioning","broadcastValue","handleOnBlur","handleOnFocus","newStack","startPosition","toDelete","count","getCursorPositionAfterKeystroke","setSelectionRange","minLength","maxLength","renderProps","onPaste","onCut","InputWithDisplayFormat","SearchInput","Search","PolymorphicWithOverrides","__overrides","restOverrides","noResultsFound","PreventScroll","usePreventScroll","renderTrigger","initialFocusRef","onCloseEnd","refs","context","useFloating","onOpenChange","dismiss","useDismiss","useRole","getReferenceProps","getFloatingProps","useInteractions","floatingKey","setFloatingKey","setReference","getInteractionProps","FloatingPortal","Transition","beforeEnter","prev","afterLeave","Child","enterFrom","leave","leaveTo","FloatingFocusManager","initialFocus","setFloating","ButtonInput","floatingPadding","floatingStyles","middleware","crossAxis","shift","floatingSize","apply","elements","rects","availableHeight","floating","setProperty","whileElementsMounted","autoUpdate","searchableString","normalize","inferSearchableStrings","innerValue","SelectInputTriggerButtonPropsContext","SelectInputOptionContentWithinTriggerContext","dedupeSelectInputOptionItem","existingValues","dedupeSelectInputItems","option","filterSelectInputOptionItem","needle","filterMatchers","some","haystack","filterSelectInputItems","defaultRenderTrigger","placeholderShown","clear","SelectInputClearButton","ChevronDown","SelectInputTriggerButton","dateTriggerMessages","noop","defaultValue","controlledValue","compareValues","renderFooter","filterable","filterPlaceholder","onFilterChange","initialized","handleClose","filterQuery","_setFilterQuery","setFilterQuery","queryNormalized","triggerRef","OptionsOverlay","searchInputRef","listboxRef","controllerRef","ListboxBase","by","uiDisabled","mergeProps","SelectInputOptions","interactionProps","SelectInputOptionsContainer","ariaOrientation","ariaActiveDescendant","onAriaActiveDescendantChange","handleAriaActiveDescendantChange","resultsEmpty","listboxContainerRef","offsetHeight","showStatus","statusId","listboxId","Options","static","setAttribute","removeAttribute","dispatchEvent","KeyboardEvent","bubbles","CrossCircle","SelectInputItemView","SelectInputOption","SelectInputGroupItemView","headerId","note","withinTrigger","TextArea","InstructionsList","dos","donts","sort","dosInstructions","doThis","Instruction","dontsInstructions","dont","orderedInstructions","isInstructionNode","DoIcon","DontIcon","ListItem","Loader","small","displayInstantly","hasDebounced","setHasDebounced","cancelled","legacySize","supportedSize","getSupportedSize","Money","amount","currency","formatMoney","selectPlaceholder","currencyDecimals","BIF","BYR","CLP","DJF","GNF","JPY","KMF","KRW","MGA","PYG","RWF","VND","VUV","XAF","XOF","XPF","HUF","BHD","JOD","KWD","OMR","TND","DEFAULT_CURRENCY_DECIMALS","isNumberLocaleSupported","number","numberString","toLocaleString","getValidLocale","noUnderscoreLocale","NumberFormat","getCurrencyDecimals","upperCaseCurrency","getDecimalSeparator","parseAmount","validLocale","precision","groupSeparator","decimalSeparator","numberWithStandardDecimalSeparator","parsedAmount","toFixed","abs","isNumberOrNull","v","isNumber","isNull","formatAmountIfSet","maxLengthOverride","formatAmount","parseNumber","allowedInputKeys","MoneyInput","amountFocused","searchQuery","formattedAmount","selectedCurrency","UNSAFE_componentWillReceiveProps","isInputAllowedForKeyEvent","isNumberKey","handlePaste","paste","isEmpty","onAmountChange","onAmountBlur","setAmount","onAmountFocus","getSelectOptions","selectOptions","filterCurrenciesForQuery","currencies","formattedOptions","currentGroupOptions","header","searchable","previousState","handleSelectChange","handleSearchChange","onCurrencyChange","handleCustomAction","onCustomAction","onSearchChange","filteredOptions","addon","hasSingleCurrency","firstItem","customActionLabel","isFixedCurrency","Flag","code","intrinsicSize","searchPlaceholder","removeDuplicateValueOptions","currencyOptionFitsQuery","sortOptionsLabelsToFirst","uniqueValues","property","first","second","firstContains","secondContains","NavigationOptionList","Children","child","STORAGE_NAME","getLocalStorage","storageItem","localStorage","getItem","storage","JSON","Nudge","mediaName","persistDismissal","isPreviouslyDismissed","isDismissed","setIsDismissed","isMounted","setIsMounted","handleOnDismiss","dismissedNudgesStorage","setItem","stringify","Illustration","disablePadding","OverlayHeader","selectInputPlaceholder","countries","iso2","iso3","phone","phoneFormat","longestMatchingPrefix","matchingCodes","a","b","findCountryByCode","country","DEFAULT_PHONE_CODE","setDefaultPrefix","countryCode","isValidPhoneNumber","phoneNumber","findCountryByPrefix","startsWith","explodeNumberModel","suffix","DIGITS_MATCH","cleanNumber","sortArrayByProperty","arrayToSort","localeCompare","groupCountriesByPrefix","countriesByPrefix","Map","set","get","filterCountriesByIso3","iso3Codes","iso3CodesSet","excludeCountries","disabledCountries","ALLOWED_PHONE_CHARS","defaultSelectProps","defaultDisabledCountries","PhoneNumberInput","initialValue","internalValue","setInternalValue","cleanValue","broadcastedValue","setBroadcastedValue","onSuffixChange","pastedValue","pastedNumber","internalPhoneNumber","broadcastedPhoneNumber","Progress","progress","setValue","ProgressBar","textEnd","htmlFor","defaultPromoCardContext","PromoCardContext","usePromoCardContext","PromoCardIndicator","testid","isIconString","IconComponent","check","ArrowRight","download","Download","PromoCard","defaultChecked","hrefLang","headingLevel","imageAlt","imageClass","indicatorLabel","indicatorIcon","isChecked","useDisplayFont","contextIsDisabled","setChecked","componentId","getIconType","commonClasses","commonProps","anchorProps","checkedProps","getTitle","titleContent","titleProps","DISPLAY_SMALL","memo","PromoCardGroup","containerRole","setContainerRole","contextValue","types","allTypesAreTheSame","every","LanguageContext","LanguageProvider","i18n","defaultRichTextElements","intlConfig","en","IntlProvider","defaultLocale","RadioButton","Radio","RadioGroup","radios","uncontrolledValue","setUncontrolledValue","nextValue","RadioOption","Section","withHorizontalPadding","SegmentedControl","segments","animate","setAnimate","segmentsRef","segmentsWithRefs","segment","updateSegmentPosition","selectedSegmentRef","offsetWidth","offsetLeft","handleWindowSizeChange","controls","titleAndNoteElement","secondaryElementClassNames","secondaryElement","SearchBox","focusedOptionId","SearchIcon","spellCheck","DEFAULT_SEARCH_VALUE","DEFAULT_OPTIONS_PAGE_SIZE","includesString","string1","string2","defaultFilterFunction","searchValue","isPlaceholderOption","searchStrings","isActionableOption","separator","isHeaderOption","isSeparatorOption","DEFAULT_SELECTED_OPTION","isSearchableOption","getUniqueIdForOption","parentId","uniqueOptionId","Select","dropdownWidth","search","defaultOptions","initSearchValue","classNamesProp","dropdownUp","dropdownProps","s","setSearchValue","keyboardFocusedOptionIndex","setKeyboardFocusedOptionIndex","keyboardFocusedReference","previousKeyboardFocusedOptionIndex","numberOfOptionsShown","setNumberOfOptionsShown","searchBoxReference","selectReference","dropdownButtonReference","optionsListReference","isSearchEnabled","isDropdownAutoWidth","fallbackButtonId","selectableOptions","focusedOption","computedId","searchBoxId","scrollIntoView","handleTouchStart","handleCloseOptions","elementReceivingFocus","select","moveFocusWithDifference","selectKeyboardFocusedOption","selectOption","difference","selectedOptionIndex","optionIndex","isOptionSelected","previousFocusedIndex","indexToStartMovingFrom","unClampedNewIndex","newIndex","createSelectHandlerForOption","renderOptionsList","dropdownClass","showPlaceholder","PlaceHolderOption","renderOption","ShowMoreOption","placeholderOption","SeparatorOption","HeaderOption","separatorOption","headerOption","isFocusedWithKeyboard","getIndexWithoutHeadersForIndexWithHeaders","sum","currentIndex","hasActiveOptions","dropdownRight","any","oneOfType","objectOf","object","CSS_TRANSITION_DURATION","Snackbar","bodyRef","transitionTimeout","visible","timestamp","setLeaveTimeout","contextType","SnackbarContext","createSnackbar","SnackbarConsumer","Consumer","SnackbarProvider","now","SnackbarPortal","Sticky","statusNotDone","statusPending","statusDone","BadgeIcons","DONE","CheckCircleIcon","PENDING","PendingCircleIcon","statusLabels","NOT_DONE","statusMapping","Summary","help","illustration","iconSize","Switch","returnIcon","CheckCircleFill","ariaLabelledby","SwitchOption","toggle","Tab","panelId","focusTab","firstUpdate","checkFocus","TabList","array","TabPanel","tabId","MIN_SWIPE_DISTANCE","MIN_SWIPE_VELOCITY","swipedSignificantDistance","swipedWithSignificantVelocity","velocity","getSwipeVelocity","start","end","timePassed","getSwipeDifference","axis","swipedLeftToRight","x","swipedRightToLeft","swipeShouldChangeTab","getVelocity","coords","relevant","getElasticDragDifference","innerWidth","E","MIN_INDEX","enabledTabsFilter","tab","SpacerWidth","default","lg","Tabs","containerReference","translateX","translateFrom","translateTo","translateLineX","isAnimating","isSwiping","isScrolling","lastSwipeVelocity","fullWidthTabs","headerWidth","BLOCK","container","containerWidth","tabRefs","filteredTabsLength","tabs","MAX_INDEX","setTabWidth","switchTab","animateToTab","disableScroll","handleResize","currentSelected","previousSelected","currentSelectedTab","currentSelectedTabIsDisabled","previousSelectedTab","previousSelectedTabIsDisabled","currentTabsLength","previousTabsLength","currentDisabledTabsLength","previousDisabledTabsLength","currentHeaderWidth","previousFullHeaderWidth","animatePanelsOnClick","instantOnClick","setContainerWidth","selectedTabIndex","setContainerRefAndWidth","getBoundingClientRect","isTabDisabled","getAllTabsWidth","getDistanceToSelectedTab","idx","allTabsWidth","AUTO","getTabLineWidth","getTabToSelect","nextSelected","swipedOverHalfOfContainer","calculateApplicableDragDifference","elasticDrag","onTabSelect","getTabIndexWithoutDisabledTabs","instant","animateLine","animatePanel","currentTranslateTo","handleTabClick","clientX","y","currentSwipe","currentSelectedFromProps","changedTouches","yAxisDifference","dragDifference","handleTouchEnd","changeTabOnSwipe","transitionSpacing","spacer","tabsLength","distanceSwiped","remainingContainerToTravel","restrictedVelocity","hidePanelOverflow","sliderWidth","Spacer","display","overflow","Spring","onRest","animated","div","Fragment","SpacerSizes","NONE","TextareaWithDisplayFormat","DEFAULT_INPUT_MIN_WIDTH","TypeaheadInput","inputRef","sizerRef","inputWidth","autoFocus","recalculateWidth","scrollWidth","renderInput","typeaheadId","dropdownOpen","hasPlaceholder","renderChip","highlight","highlightStart","highlightEnd","DEFAULT_MIN_QUERY_LENGTH","SEARCH_DELAY","Typeahead","allowNew","autoFillOnBlur","chipSeparators","inputAutoComplete","minQueryLength","searchDelay","showSuggestions","showNewEntry","validateChip","handleSearchDebounced","debounce","handleSearch","initialQuery","errorState","optionsShown","isFocused","cancel","showMenu","onOptionSelected","selectItem","onInputChange","updateSelectedValue","pastedChips","chipsMode","moveFocusedOption","keepFocusOnSelect","hideMenu","clearQueryOnSelect","onSearch","handleDocumentClick","removeChip","selectedOption","valid","renderMenu","optionsToRender","TypeaheadOption","alert","clearButton","menu","alertType","NEUTRAL","hasError","ERROR","displayAlert","hasWarning","WARNING","hasInfo","CrossIcon","UploadStep","csButtonText","csFailureText","csSuccessText","csTooLargeMessage","csWrongTypeMessage","psButtonText","psProcessingText","usButtonText","usDropMessage","usPlaceholder","UploadImageStep","uploadInputRef","onManualUpload","fileDropped","file","files","getImage","usHelpImage","usLabel","UploadIcon","isComplete","usAccept","usDisabled","accept","postData","httpOptions","data","fetcher","fetch","method","then","response","ok","statusText","catch","asyncFileRead","Promise","resolve","reject","FileReader","readAsDataURL","result","isSizeValid","maxSize","isInteger","getFileType","file64","typeFromEncoded","isTypeValid","rule","allowedTypes","fileType","splittedRule","typeAllowed","extensionAllowed","SUPPORTED_MIME_TYPES","getSupportedSpotMimeTypes","mimeTypes","mimeTypesArray","mimeMapping","mapSupportedMimeTypes","requestMedia","mediaRequest","microapps","fileByteArray","base64ToByteArray","bytes","blob","Blob","mimeType","base64String","byteCharacters","atob","byteCharactersLength","byteArray","Uint8Array","MediaUploadStep","getMediaFile","allowedMimeTypes","ProcessingStep","isError","isSuccess","psButtonDisabled","processStatus","Small","CompleteStep","fileName","isImage","uploadedImage","DocumentIcon","PROCESS_STATE","ANIMATION_FIX","MAX_SIZE_DEFAULT","UPLOAD_STEP_COMPONENTS","UPLOAD_IMAGE_STEP","MEDIA_UPLOAD_STEP","Upload","dragCounter","isProcessing","getErrorMessage","onDragLeave","isDroppable","onDragEnter","onDrop","dataTransfer","animationDelay","onSuccess","onFailure","asyncPost","fileInputName","formData","FormData","append","prepareHttpOptions","asyncResponse","handleOnClear","onCancel","showDataImage","dataUrl","onStart","uploadStep","UploadStepComponent","droppable","onDragOver","PlusIcon","headers","fileIsTooLarge","fileTypeNotSupported","deleteModalTitle","deleteModalBody","deleteModalCancelButtonText","deleteModalConfirmButtonText","maximumFilesAlreadyUploaded","uploadFile","uploadFiles","instructions","allFileTypes","dropFile","DEFAULT_SIZE_LIMIT","imageFileTypes","PDF","JPG","PNG","getAllowedFileTypes","fileTypes","fileTypeDefinition","extension","TEST_IDS","DEFAULT_FILE_INPUT_ID","UploadButton","sizeLimit","maxFiles","uploadButtonTitle","multipleFileInputWithFilesAdded","inputReference","isDropping","setIsDropping","filesSelected","getFileTypesDescription","getDescription","fileTypesDescription","derivedFileDescription","MESSAGES","round","getAcceptedTypes","areAllFilesAllowed","renderDescription","renderButtonTitle","uploadInput","mediaBody","uploadingFailed","uploaded","uploading","deleting","uploadedFile","removeFile","UploadItemBody","onDownload","singleFileUpload","UploadItem","canDelete","onDelete","filename","isSucceeded","getIcon","AlertCircle","processIndicator","onDownloadFile","uploadItem","generateFileId","uploadTimeStamp","UploadInput","deleteConfirm","onUploadFile","onDeleteFile","onValidationError","onFilesChange","maxFilesErrorMessage","sizeLimitErrorMessage","markedFileForDelete","setMarkedFileForDelete","PROGRESS_STATUSES","uploadedFiles","setUploadedFiles","uploadedFilesListReference","addFileToList","recentUploadedFile","addToList","listToAddTo","removeFileFromList","filterOutFrom","listToFilterFrom","fileInList","modifyFileInList","updates","updateListItem","listToUpdate","handleFileUploadFailure","failureMessage","failedUpload","getNumberOfFilesUploaded","uploadInitiatedStatus","validFiles","areMaximumFilesUploadedAlready","numberOfValidFiles","addFiles","selectedFiles","allowedFileTypes","maxFilesAllowed","pendingFile","cancelText","confirmText","useSnackbar","translations","cs","de","es","fr","hu","it","ja","pl","pt","ro","ru","th","tr","uk","zhCN","zhHK"],"mappings":"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"}