{"version":3,"file":"assets/js/WidgetSetup.091cf69f02643c1bd153.min.js","mappings":"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","sources":["webpack://payex-web/./src/icons/flywire-header-logo.svg","webpack://payex-web/./src/components/Widget/Widget.tsx","webpack://payex-web/./src/components/WidgetSetup/WidgetSetup.tsx"],"sourcesContent":["var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nconst SvgFlywireHeaderLogo = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 39,\n width: 116,\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 19 76 27\"\n}, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#1274C4\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.06 39.063 3.148-20.02h2.556l-3.148 20.02H16.06m15.615-.385c-.605 3.897-2.86 5.93-6.405 5.93-2.172 0-3.876-.808-5.03-2.172l1.43-1.782c.99 1.17 2.17 1.726 3.572 1.726 2.145 0 3.464-1.252 3.877-3.702l.163-.974h-.055c-1.154 1.086-2.5 1.67-3.986 1.67-2.748 0-4.068-1.392-4.068-4.036 0-.5.055-1.03.138-1.614l1.29-8.236h2.528l-1.262 8.236c-.083.445-.11.807-.11 1.14 0 1.504.66 2.256 2.144 2.256 1.54 0 2.914-.947 3.85-2.59l1.426-9.042h2.557l-2.06 13.19m28.768-10.741.54-2.5h-2.52l-2.144 13.66h2.557l1.135-7.332c.502-2.69 2.47-4.022 4.555-4.022.254 0 .44 0 .643.02l.38-2.43c-2.41-.378-4.218.863-5.146 2.604m-9.637-2.449-4.193 9.45-1.492-9.45h-2.48l-4.313 9.45-1.422-9.45H34.32l2.176 13.66h2.625l4.22-9.468 1.47 9.47h2.6l6.08-13.662h-2.685m.892 13.662 2.144-13.662H56.4l-2.145 13.66h-2.557\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.918 30.835c.413-2.313 1.818-3.587 3.96-3.587 1.568 0 2.58.754 2.58 1.922 0 1.433-1.003 2.1-3.16 2.1h-3.46l.08-.435zm2.14 6.257c-.936.02-1.655-.258-2.13-.822-.497-.593-.63-1.568-.416-2.9h3.736c1.127 0 2.65-.152 3.87-.903 1.196-.737 1.803-1.863 1.803-3.348 0-1.03-.437-2.04-1.2-2.774-.887-.852-2.157-1.302-3.672-1.302-5.542 0-6.218 3.98-6.762 7.18l-.193 1.22c-.234 1.704.08 3.08.958 4.206.818 1.047 2.217 1.623 3.94 1.623 5.58 0 6.085-4.75 6.085-4.75h-2.35s-.11 2.498-3.666 2.57zm-59.52-7.826.25-1.495H.66l.375-2.377h9.123l.177-1.138c.523-3.31 2.715-5.216 6.042-5.212h1.827l-.36 2.317-1.71-.002c-1.85-.002-2.908.925-3.242 2.992l-.163 1.043h3.526l-.374 2.378H12.36l-1.925 11.52c-.523 3.31-2.75 5.204-6.095 5.2h-.192l.39-2.512h.125c1.883 0 2.896-.806 3.228-2.864l1.25-7.47H0l.375-2.378h9.163zm47.514-6.519c0 .82-.657 1.482-1.467 1.482s-1.467-.664-1.467-1.483c0-.818.657-1.48 1.467-1.48s1.467.662 1.467 1.48\"\n}))));\nexport { SvgFlywireHeaderLogo as ReactComponent };\nexport default __webpack_public_path__ + \"assets/media/flywire-header-logo.1adf23ad62abb9d5f118716034d3ee70.svg\";","import type { ConnectedProps } from 'react-redux';\nimport { connect } from 'react-redux';\n\nimport { setFieldValue } from 'actions';\nimport { Autocomplete } from 'components/Autocomplete/Autocomplete';\nimport { MoneyInput } from 'components/FieldList/Field/MoneyInputField/MoneyInput';\nimport flywire from 'icons/flywire-header-logo.svg';\nimport type { RootState } from 'reducers/types';\nimport {\n getCurrentCountry,\n getCurrentCurrency,\n getGatewayUrl,\n getItems,\n getRecipientCountries,\n getWidgetMessage,\n} from 'selectors';\nimport { useTranslations } from 'utils';\n\ntype WidgetProps = ConnectedProps;\n\nconst toOptions = (countries: { name: string; code: string }[]) =>\n countries.map(country => ({\n label: country.name,\n value: country.code,\n }));\n\nconst countryFieldName = 'sender_country';\n\nconst WidgetComponent = ({\n countries = [],\n country,\n currency,\n items,\n gatewayURL,\n setFieldValue,\n widgetMessage,\n}: WidgetProps) => {\n const i18n = useTranslations();\n const hasOneItem = items.length === 1;\n const hasWidgetMessage = widgetMessage && widgetMessage.length > 0;\n const countryOptions = toOptions(countries);\n\n const handleCountryChange = (value: string) => {\n setFieldValue(countryFieldName, value);\n };\n\n return (\n
\n \"flywire\"\n {hasWidgetMessage &&

{widgetMessage}

}\n \n \n \n \n\n {hasOneItem && (\n \n )}\n

{i18n.t('widget.continue.hint')}

\n \n {i18n.t('widget.continue.button')}\n \n
\n );\n};\n\nconst mapStateToProps = (state: RootState) => ({\n countries: getRecipientCountries(state),\n country: getCurrentCountry(state),\n currency: getCurrentCurrency(state),\n gatewayURL: getGatewayUrl(state),\n items: getItems(state),\n widgetMessage: getWidgetMessage(state),\n});\n\nconst mapDispatchToProps = {\n setFieldValue,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\nconst Widget = connector(WidgetComponent);\n\nexport { Widget };\n","import { useEffect, useMemo, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useSearchParams } from 'react-router-dom';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport { useDispatch } from 'store/configureStore';\n\nimport {\n fetchCountries,\n fetchRecipientByCode,\n fetchRecipientCountries,\n} from 'actions';\nimport { InvalidRecipient } from 'components/InvalidRecipient/InvalidRecipient';\nimport { Spinner } from 'components/Spinner/Spinner';\nimport { Widget } from 'components/Widget/Widget';\nimport type { RootState } from 'reducers/types';\nimport {\n entityHasErrors,\n getCountries,\n getRecipientCountries,\n getRecipientId,\n} from 'selectors';\n\nfunction WidgetSetup() {\n const [isFetching, setIsFetching] = useState(true);\n const [searchParams] = useSearchParams();\n const dispatch = useDispatch();\n\n const countries = useSelector((state: RootState) => getCountries(state));\n const recipientCountries = useSelector((state: RootState) =>\n getRecipientCountries(state),\n );\n const recipientCode = useSelector((state: RootState) =>\n getRecipientId(state),\n );\n const hasRecipientErrors = useSelector((state: RootState) =>\n entityHasErrors(state, 'recipient'),\n );\n\n const subdomain = searchParams.get('subdomain');\n const recipient =\n searchParams.get('recipient') || searchParams.get('destination');\n\n const areCountriesFetched = useMemo(() => !isEmpty(countries), [countries]);\n const areRecipientCountriesFetched = useMemo(\n () => !isEmpty(recipientCountries),\n [recipientCountries],\n );\n\n function addWidgetStyles() {\n // @ts-expect-error not sure\n import('./WidgetSetup.scss');\n }\n\n useEffect(() => {\n if (areCountriesFetched && areRecipientCountriesFetched && isFetching) {\n setIsFetching(false);\n }\n\n if (recipientCode && isFetching) {\n dispatch(fetchRecipientCountries(recipientCode));\n }\n }, [\n areCountriesFetched,\n areRecipientCountriesFetched,\n recipientCode,\n dispatch,\n isFetching,\n ]);\n\n useEffect(() => {\n addWidgetStyles();\n dispatch(fetchCountries('en'));\n\n if (subdomain) {\n dispatch(fetchRecipientByCode(subdomain));\n } else if (recipient) {\n dispatch(fetchRecipientByCode(recipient));\n }\n }, []); // eslint-disable-line\n\n if (hasRecipientErrors) {\n return ;\n }\n if (isFetching) {\n return ;\n }\n\n return ;\n}\n\nexport { WidgetSetup };\n"],"names":["_g","_extends","Object","assign","bind","n","e","arguments","length","t","r","hasOwnProperty","call","apply","SvgFlywireHeaderLogo","props","height","width","xmlns","viewBox","fill","fillRule","d","countryFieldName","mapDispatchToProps","setFieldValue","Widget","connect","state","countries","getRecipientCountries","country","getCurrentCountry","currency","getCurrentCurrency","gatewayURL","getGatewayUrl","items","getItems","widgetMessage","getWidgetMessage","connector","_ref","i18n","useTranslations","hasOneItem","hasWidgetMessage","countryOptions","map","label","name","value","code","toOptions","_jsxs","className","children","_jsx","alt","src","flywire","Autocomplete","onChange","options","selected","Input","placeholder","Options","MoneyInput","currencySymbol","symbol","decimalMark","maxLength","id","subunitToUnit","symbolFirst","thousandsSeparator","defaultValue","href","rel","target","WidgetSetup","isFetching","setIsFetching","useState","searchParams","useSearchParams","dispatch","useDispatch","useSelector","getCountries","recipientCountries","recipientCode","getRecipientId","hasRecipientErrors","entityHasErrors","subdomain","get","recipient","areCountriesFetched","useMemo","isEmpty","areRecipientCountriesFetched","useEffect","fetchRecipientCountries","fetchCountries","fetchRecipientByCode","InvalidRecipient","Spinner"],"sourceRoot":""}