@basiq/connect-auth 1.1.15 → 1.1.16-alpha

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.
package/dist/index.js CHANGED
@@ -791,7 +791,7 @@ var import_react8 = __toESM(require("react"));
791
791
  var import_react_i18next4 = require("react-i18next");
792
792
 
793
793
  // src/actions/actions.ts
794
- var verifySmsCode = (_0) => __async(void 0, [_0], function* ({ authRequestId, smsCode, test }) {
794
+ var verifySmsCode = (_0) => __async(null, [_0], function* ({ authRequestId, smsCode, test }) {
795
795
  const body = {
796
796
  "sms-code": smsCode
797
797
  };
@@ -828,7 +828,7 @@ var verifySmsCode = (_0) => __async(void 0, [_0], function* ({ authRequestId, sm
828
828
  ok: false
829
829
  };
830
830
  });
831
- var authUser = (_0) => __async(void 0, [_0], function* ({ authRequestId, method, test }) {
831
+ var authUser = (_0) => __async(null, [_0], function* ({ authRequestId, method, test }) {
832
832
  const reqData = {
833
833
  headers: {
834
834
  "Content-Type": "application/json"
@@ -909,7 +909,7 @@ function StartScreen(props) {
909
909
  window.removeEventListener("keydown", (e) => handleUserKeyPress(e, onContinue));
910
910
  };
911
911
  }, []);
912
- const handleContinue = () => __async(this, null, function* () {
912
+ const handleContinue = () => __async(null, null, function* () {
913
913
  setLoading(true);
914
914
  if (authRequestId && !smsSent) {
915
915
  const response = yield authUser({ authRequestId, test });
@@ -955,7 +955,7 @@ function AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }
955
955
  const [loading, setLoading] = (0, import_react9.useState)(false);
956
956
  const [tooManyAttempts, setTooManyAttempts] = (0, import_react9.useState)(false);
957
957
  const handleCodeApply = (0, import_react9.useCallback)(
958
- (e) => __async(this, null, function* () {
958
+ (e) => __async(null, null, function* () {
959
959
  var _a;
960
960
  if (smsCode.length === 6 && error.length === 0 && (!e || (e == null ? void 0 : e.key) === "Enter")) {
961
961
  setLoading(true);
@@ -981,7 +981,7 @@ function AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }
981
981
  disabled: smsCode.length < 6 || !!error
982
982
  }
983
983
  ];
984
- const handleResend = () => __async(this, null, function* () {
984
+ const handleResend = () => __async(null, null, function* () {
985
985
  setError("");
986
986
  setSmsCode("");
987
987
  setResend(false);
@@ -1053,7 +1053,7 @@ function App(props) {
1053
1053
  setCurrentScreen(3);
1054
1054
  };
1055
1055
  (0, import_react10.useEffect)(() => {
1056
- const getData = () => __async(this, null, function* () {
1056
+ const getData = () => __async(null, null, function* () {
1057
1057
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1058
1058
  const id = (_b = (_a = window.location.pathname) == null ? void 0 : _a.substring(1)) == null ? void 0 : _b.split("?")[0];
1059
1059
  const searchString = (_c = window.location.search) == null ? void 0 : _c.split("?")[1];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/components/BasiqConnect.tsx","../src/App.tsx","../src/styledComponents/ui/basic.ts","../src/styledComponents/ui/button.ts","../src/styledComponents/ui/modals.ts","../src/helpers/hookUtils.ts","../src/helpers/utils.ts","../src/helpers/constants.ts","../src/styledComponents/theme.ts","../src/styledComponents/pages/basic.ts","../src/styledComponents/breakpoints.ts","../src/styledComponents/pages/auth.ts","../src/styledComponents/pages/start.ts","../src/styledComponents/pages/notFound.ts","../src/styledComponents/base.ts","../src/styledComponents/styles.ts","../src/components/pages/Page.tsx","../src/components/ui/Button.tsx","../src/components/pages/NotFound.tsx","../src/components/ui/icon.tsx","../src/components/pages/StartScreen.tsx","../src/actions/actions.ts","../src/components/modals/LoadingModal.tsx","../src/components/ui/Modal.tsx","../src/components/pages/AuthScreen.tsx","../src/locales/i18n.ts","../src/locales/en/translation.json"],"sourcesContent":["export {BasiqConnect} from './components/BasiqConnect'\n","import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport App from '../App';\nimport '../locales/i18n';\nimport { theme } from '../styledComponents';\n\nexport interface IBCProps{\n\ttest?:boolean;\n}\n\nexport function BasiqConnect(props: IBCProps) {\n\tconst {test} = props;\nreturn(\n\t<React.StrictMode>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<App test={test} />\n\t\t\t</ThemeProvider>\n\t</React.StrictMode>\n\t\t);\n\n}\n\n","import React, { createRef, SyntheticEvent, useEffect, useState } from 'react';\nimport { AppContainer, AppContainerPage, AppContainerWrapper, PageHeader, Root } from './styledComponents';\nimport GlobalStyles from './styledComponents/styles';\nimport { detectScrollToBottom } from './helpers';\nimport {AuthScreen, NotFound, Page, StartScreen} from './components/pages';\nimport { authUser } from './actions/actions';\nimport { LoadingModal } from './components/modals';\nimport {IBCProps} from \"./components/BasiqConnect\";\n\nfunction App(props:IBCProps) {\n\tconst {test} = props;\n\tconst ref = createRef<HTMLDivElement>();\n\tconst [shadow, setShadow] = useState(false);\n\tconst [currentScreen, setCurrentScreen] = useState(0);\n\tconst [loading, setLoading] = useState(true);\n\tconst [authId, setAuthId] = useState('');\n\tconst [queryString, setQueryString] = useState('');\n\tconst [mobile, setMobile] = useState('');\n\tconst [logo, setLogo] = useState('');\n\tconst [appName, setAppName] = useState('');\n\tconst [errorCode, setErrorCode] = useState('');\n\tconst [smsSent, setSmsSent] = useState(false);\n\n\tconst handleConnectionsScroll = (event: SyntheticEvent<HTMLDivElement>) => {\n\t\tsetShadow(detectScrollToBottom(event));\n\t};\n\tconst showErrorScreen = (code: string) => {\n\t\tsetErrorCode(code);\n\t\tsetCurrentScreen(3);\n\t};\n\tuseEffect(() => {\n\t\tconst getData = async () => {\n\t\t\tconst id = window.location.pathname?.substring(1)?.split('?')[0];\n\t\t\tconst searchString = window.location.search?.split('?')[1];\n\t\t\tsetQueryString(searchString);\n\t\t\tif (id?.length > 0) {\n\t\t\t\tsetAuthId(id);\n\t\t\t\tsetLoading(true);\n\t\t\t\tconst response = await authUser({authRequestId:id, method:'GET', test});\n\t\t\t\tif (response?.ok) {\n\t\t\t\t\tsetCurrentScreen(1);\n\t\t\t\t\tsetMobile(response?.data?.mobile);\n\t\t\t\t\tif (response?.data?.appName) {\n\t\t\t\t\t\tsetAppName(response?.data?.appName);\n\t\t\t\t\t}\n\t\t\t\t\tif (response?.data?.partner?.logoUrl) {\n\t\t\t\t\t\tsetLogo(response?.data?.partner?.logoUrl);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tshowErrorScreen(response?.statusCode.toString());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tshowErrorScreen('404');\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\tgetData();\n\t}, []);\n\n\n\tconst getScreen = () => {\n\t\tswitch (currentScreen) {\n\t\t\tcase 0:\n\t\t\t\treturn <Page shadow={shadow}><LoadingModal isOpen={loading} disableTransparency /></Page>;\n\t\t\tcase 1:\n\t\t\t\treturn (\n\t\t\t\t\t<StartScreen\n\t\t\t\t\t\tappName={appName}\n\t\t\t\t\t\tshadow={shadow}\n\t\t\t\t\t\tshowErrorScreen={showErrorScreen}\n\t\t\t\t\t\tonContinue={() => setCurrentScreen(2)}\n\t\t\t\t\t\tauthRequestId={authId}\n\t\t\t\t\t\tsmsSent={smsSent}\n\t\t\t\t\t\tsetSmsSent={setSmsSent}\n\t\t\t\t\t\ttest={test}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 2:\n\t\t\t\treturn <AuthScreen number={mobile} onBack={() => setCurrentScreen(1)} shadow={shadow} authRequestId={authId} test={test} queryString={queryString}/>;\n\t\t\tcase 3:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t\tdefault:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Root>\n\t\t\t<GlobalStyles />\n\t\t\t<AppContainerWrapper>\n\t\t\t\t<AppContainer onScroll={handleConnectionsScroll} ref={ref}>\n\t\t\t\t\t{logo && (\n\t\t\t\t\t\t<PageHeader>\n\t\t\t\t\t\t\t<img src={logo} alt=\"logo\" />\n\t\t\t\t\t\t</PageHeader>\n\t\t\t\t\t)}\n\t\t\t\t\t<AppContainerPage>{getScreen()}</AppContainerPage>\n\t\t\t\t</AppContainer>\n\t\t\t</AppContainerWrapper>\n\t\t</Root>\n\t);\n}\n\nexport default App;\n","import styled, { css, keyframes } from 'styled-components';\n\ninterface IIconWrapper {\n\trotating: boolean;\n}\n\nexport const rotate = keyframes`\n from {\n -ms-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -webkit-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -ms-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -webkit-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\nexport const SimpleButton = styled.button`\n\tborder-radius: 2px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tborder: none;\n\tcursor: pointer;\n\tmargin-bottom: 8px;\n\tpadding: 10px;\n`;\n\nexport const Input = styled.input`\n\theight: 48px;\n\tbackground: ${({ theme }) => theme.color.porcelainSecond};\n\tborder-radius: 2px;\n\tborder: none;\n\twidth: 100%;\n\tbox-sizing: border-box;\n\tpadding: 0 16px;\n\tcolor: ${({ theme }) => theme.color.ebony};\n\tmargin-bottom: 16px;\n\tfont-size: 16px;\n\n\t&::placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t\topacity: 1;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&::-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&:focus-visible {\n\t\toutline: none;\n\t\tbackground-color: ${({ theme }) => theme.color.spindle};\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\nexport const H4Styled = styled.h4`\n\tcursor: pointer;\n\tuser-select: none;\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const Spacer = styled.div`\n\tdisplay: flex;\n\twidth: 100%;\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n\theight: 1px;\n\tbackground-color: ${({ theme }) => theme.color.porcelain};\n`;\nexport const IconWrapper = styled.span<IIconWrapper>`\n display: flex;\n width: 22px;\n ${({ rotating }) =>\n\t\trotating &&\n\t\tcss`\n\t\t\tanimation: ${rotate} 2s linear infinite;\n\t\t`}\n };\n svg, img {\n width: 100%;\n }\n`;\n","import styled, { css } from 'styled-components';\nimport { SimpleButton } from './basic';\nimport { ButtonType } from '../../components/ui/Button';\n\nexport const ButtonLabel = styled.span`\n\tfont-size: 18px;\n`;\n\ninterface IButtonStyled {\n\tbuttonType?: ButtonType;\n\tdisabled: boolean;\n\tonClick: () => void;\n}\nexport const ButtonStyled = styled(SimpleButton)<IButtonStyled>`\n\tmin-height: 40px;\n\tjustify-content: center;\n\tbackground-color: ${(props) => props.theme.color.endeavour};\n\ttext-align: center;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: ${({ theme }) => theme.color.white};\n\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\t&:hover {\n\t\tbackground-color: ${({ theme }) => theme.color.bostonBlue};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }) => theme.color.congressBlue};\n\t}\n\t${({ buttonType, theme }) => {\n\t\tswitch (buttonType) {\n\t\t\tcase 'secondary':\n\t\t\t\treturn css`\n\t\t\t\t\tcolor: ${theme.color.ebony};\n\t\t\t\t\tbackground-color: ${theme.color.porcelainSecond};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: ${theme.color.porcelainSecondLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.ironSecond};\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tcase 'tiny':\n\t\t\t\treturn css`\n\t\t\t\t\twidth: auto;\n\t\t\t\t\tmin-height: 32px;\n\t\t\t\t\tpadding: 6px 16px;\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tcolor: ${theme.color.cyprus};\n\t\t\t\t\tbackground-color: ${theme.color.hokeyPokey};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground-color: ${theme.color.hokeyPokeyLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.anzac};\n\t\t\t\t\t}\n\t\t\t\t`;\n\n\t\t\tcase 'back':\n\t\t\t\treturn css`\n\t\t\t\t\tbackground: none;\n\t\t\t\t\tjustify-content: initial;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmin-height: unset;\n\t\t\t\t\tcolor: ${theme.color.casper};\n\t\t\t\t\twidth: auto;\n\t\t\t\t\timg {\n\t\t\t\t\t\twidth: 25px;\n\t\t\t\t\t\tfilter: invert(68%) sepia(13%) saturate(348%) hue-rotate(155deg) brightness(91%) contrast(94%);\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(31%) sepia(10%) saturate(313%) hue-rotate(155deg) brightness(96%) contrast(87%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tcolor: ${theme.color.jumbo};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(49%) sepia(0%) saturate(5%) hue-rotate(29deg) brightness(99%) contrast(83%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:disabled {\n\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\tbackground-color: unset !important;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}}\n\timg {\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tmargin-right: 3px;\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\n","import styled from 'styled-components';\nimport { hexToRGBa } from '../../helpers';\nimport { IconWrapper } from './basic';\n\ninterface IModalStyled {\n\tdisableTransparency: boolean;\n}\n\nexport const ModalStyled = styled.div<IModalStyled>`\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ${({ theme, disableTransparency }) => (disableTransparency ? theme.color.jumbo : hexToRGBa(theme.color.blackPearl, 0.7))};\n\tz-index: 1000000000;\n\tpadding: 16px;\n\n\ta {\n\t\tmargin-bottom: 8px;\n\t}\n`;\nexport const LoadingModalStyled = styled.div<IModalStyled>`\n\tbox-shadow: ${({ theme, disableTransparency }) => (disableTransparency ? 'none' : `0 1px 2px ${hexToRGBa(theme.color.blueBayoux, 0.3)}`)};\n\tborder-radius: 2px;\n\tpadding: 16px 12px;\n\tfont-size: 16px;\n\tline-height: 16px;\n\tcolor: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\n\t${IconWrapper} {\n\t\tfilter: invert(1);\n\t\tmargin-bottom: 15px;\n\t\twidth: 48px;\n\t}\n`;\nexport const LoadingModalText = styled.span`\n\tfont-size: 18px;\n\twhite-space: pre-line;\n\ttext-align: center;\n\tline-height: 30px;\n`;\n","import { useRef } from 'react';\n\nexport const useFocus = () => {\n\tconst htmlElRef = useRef<HTMLInputElement>(null);\n\tconst setFocus = () => htmlElRef.current && htmlElRef.current.focus();\n\n\treturn [htmlElRef, setFocus];\n};\n","import { SyntheticEvent } from 'react';\n\nexport function detectScrollToBottom(event: SyntheticEvent<HTMLDivElement>) {\n\tconst { scrollHeight, scrollTop, clientHeight } = event.currentTarget;\n\treturn scrollHeight - scrollTop > clientHeight;\n}\n\nexport const hexToRGBa = (hex: string, opacity: number) => {\n\tconst hexToRGBA = hex.match(/[A-Za-z0-9]{2}/g)?.map((v) => parseInt(v, 16));\n\tconst opp = opacity > 1 && opacity < 0 ? 1 : opacity;\n\treturn `rgba(${hexToRGBA?.concat(opp).join()})`;\n};\nexport const handleUserKeyPress = (e: KeyboardEvent, onEnter:()=>void) =>{\n\tconst { keyCode } = e;\n\tif(keyCode===13){\n\t\tonEnter()\n\t}\n}\nexport const buildRedirectUrl = (token:string, queryString:string):string => `https://consent.basiq.io/home?token=${token}${queryString ? '&'+queryString : ''}`;\n"," export const DASHBOARD_API_URL_TEST = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';\nexport const DASHBOARD_API_URL = 'https://p4c8zn20r9.execute-api.ap-southeast-2.amazonaws.com/Production_v1/';\n","export const theme = {\n\tcolor: {\n\t\twhite: '#fff',\n\t\tporcelain: '#e2E8Ea',\n\t\tporcelainSecond: '#f5F7F8',\n\t\tporcelainLight: '#e5Eaec',\n\t\tporcelainSecondLight: '#f7F9F9',\n\t\tiron: '#cbd1D3',\n\t\tironSecond: '#dcdedf',\n\t\tcasper: '#90a4Ae',\n\t\tmercury: '#e5E5E5',\n\t\tdodgerBlue: '#4c6Cff',\n\t\tdodgerBlueLight: '#5e7Bff',\n\t\troyalBlue: '#4461e6',\n\t\tbostonBlue: '#367ab9',\n\t\tendeavour: '#0459a8',\n\t\tcongressBlue: '#045097',\n\t\tbrilliantBlue: '#0075dc',\n\t\tcuriousBlue: '#2784da',\n\t\ticeberg: '#cdf2ed',\n\t\tlinkWater: '#cddeee',\n\t\tspindle: '#b4Cde5',\n\t\tcyprus: '#002d3C',\n\t\tgossamer: '#06bea6',\n\t\temerald: '#4fc35A',\n\t\thokeyPokey: '#fabe34',\n\t\thokeyPokeyLight: '#f9C858',\n\t\tanzac: '#e1B141',\n\t\tcerise: '#d63F5a',\n\t\tsunsetOrange: '#fe493f',\n\t\twePeep: '#f7d9de',\n\t\tebony: '#130f26',\n\t\tabbey: '#4e5457',\n\t\tosloGrey: '#7f888c',\n\t\tloblolly: '#c1c8cc',\n\t\tjumbo: '#7d7d84',\n\t\tblackPearl: '#061D24',\n\t\tblueBayoux: '#4b6a75'\n\t},\n\tmixin: {\n\t\tsubtitle: () => ` margin-top: 32px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;`,\n\n\t\ttitle: () => ` font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 0;\n color: #130f26;\n white-space: pre-line;\n `\n\t}\n};\nexport type ThemeType = typeof theme;\n","import styled, { css } from 'styled-components';\nimport { ButtonStyled } from '../ui';\nimport { hexToRGBa } from '../../helpers';\nimport { devices } from '../breakpoints';\n\ninterface IPageStyledProps {\n\tbuttonCount?: number;\n\thorizontal?: boolean;\n}\n\ninterface IStatusMessage {\n\terror?: boolean;\n}\n\ninterface IPageControlsSectionProps {\n\tnotEmpty: boolean;\n}\ninterface IHorizontalProps {\n\thorizontal?: boolean;\n}\nexport const PageStyled = styled.div<IPageStyledProps>`\n\twidth: 100%;\n\theight: 100%;\n\t${({ buttonCount, horizontal }) =>\n\t\tbuttonCount && buttonCount > 0\n\t\t\t? horizontal\n\t\t\t\t? 'padding-bottom: 96px;'\n\t\t\t\t: `padding-bottom: ${46 + 50 * buttonCount}px;`\n\t\t\t: 'padding-bottom: 16px;'}\n`;\nexport const PageSubtitle = styled.div`\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const PageMainContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n`;\nexport const PageControlsSection = styled.div<IPageControlsSectionProps>`\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\t${({ notEmpty }) => `padding: ${notEmpty ? '16px' : '0'}`};\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tborder-top: 1px solid ${({ theme }) => theme.color.porcelainLight};\n`;\nexport const PageShadowWrapper = styled.div<IHorizontalProps>`\n\twidth: 100%;\n\t${({ horizontal }) =>\n\t\thorizontal &&\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\n\t\t\t${ButtonStyled} {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-right: 16px;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-right: unset;\n\t\t\t\t}\n\t\t\t}\n\t\t`}\n`;\nexport const PageShadow = styled.div`\n\tposition: absolute;\n\theight: 71px;\n\tleft: 0;\n\tright: 0;\n\ttop: -71px;\n\tbackground: linear-gradient(180deg, #cecece 0%, ${hexToRGBa('#cecece', 0)} 100%);\n\topacity: 0.8;\n\ttransform: rotate(-180deg);\n\tpointer-events: none;\n`;\nexport const PageHeader = styled.header`\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: unset;\n\tpadding: 16px 0;\n\tbox-sizing: border-box;\n\tmax-height: 150px;\n\theight: 100%;\n\t${devices.phone} {\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tmargin-bottom: 0;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t${devices.phone} {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n`;\n\nexport const PageContent = styled.div`\n\twidth: 100%;\n`;\nexport const StatusMessage = styled.div<IStatusMessage>`\n\twidth: 100%;\n\tbackground: ${({ theme, error }) => (error ? theme.color.wePeep : theme.color.iceberg)};\n\tborder-radius: 4px;\n\tpadding: 11px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: 400;\n\tfont-size: 14px;\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.gossamer)};\n\tmargin-bottom: 16px;\n`;\n","const breakpoints = {\n\tmobileS: '320px',\n\tmobileL: '480px',\n\ttabletMinus: '767px',\n\ttabletH: '781px',\n\ttablet: '768px',\n\ttabletL: '992px',\n\tlaptop: '1024px',\n\tlaptopH: '1080px',\n\tlaptopXS: '1110px',\n\tlaptopS: '1280px',\n\tlaptopM: '1366px',\n\tlaptopL: '1440px',\n\tlaptopXL: '1540px',\n\tdesktopS: '1800px',\n\tdesktop: '2560px'\n};\nexport const devices = {\n\tfold: `@media only screen and (max-width: ${breakpoints.mobileS})`,\n\tphoneXs: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\tphone: `@media only screen and (max-width: ${breakpoints.tabletMinus})`,\n\tphoneLandscape: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\ttabletOnly: `@media only screen and (min-width: ${breakpoints.tablet}) and (max-width: ${breakpoints.tabletL})`,\n\tiPadProLandscape: `@media only screen and (height: ${breakpoints.laptop}) and (width: ${breakpoints.laptopM})`,\n\tiPadProPortrait: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.laptopM})`,\n\tiPad: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.tablet}) `,\n\ttablet: `@media only screen and (max-width: ${breakpoints.tabletL}) `,\n\tdesktop: `@media only screen and (min-height: ${breakpoints.tabletH} ) and (min-width: ${breakpoints.laptopS} ) `,\n\tlaptop: `@media only screen and (max-width: ${breakpoints.laptopS}) `,\n\tlaptopRegularScreenWidth: `@media only screen (max-height: ${breakpoints.laptopXS}) and and (max-width: ${breakpoints.laptopXL}) `,\n\tbigDesktop: `@media only screen and (min-width: ${breakpoints.desktopS}) and (min-height: ${breakpoints.laptopH})) `\n};\n","import styled from 'styled-components';\n\ninterface IInputStyled {\n\tfilled: boolean;\n\terror: boolean;\n}\ninterface IDivAsLink {\n\tdisabled: boolean;\n}\n\nexport const PageConnectFooterControl = styled.div`\n\tposition: absolute;\n\tbottom: 80px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tleft: 0;\n\tflex-direction: column;\n\tbox-sizing: border-box;\n\tpadding: 16px;\n`;\nexport const PageConnectFooterText = styled.span`\n\tcolor: ${({ theme }) => theme.color.abbey};\n\tfont-size: 12px;\n`;\n\nexport const InputStyled = styled.input<IInputStyled>`\n\twidth: 100%;\n\theight: 64px;\n\tbackground: ${({ theme, filled, error }) => (error ? theme.color.wePeep : filled ? theme.color.linkWater : theme.color.porcelainSecond)};\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.endeavour)};\n\tborder-radius: 2px;\n\ttext-align: center;\n\tfont-size: 32px;\n\tborder: none;\n\tbox-shadow: none;\n\tletter-spacing: 20px;\n\ttext-indent: 20px;\n`;\n\nexport const InputContainer = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\nexport const DivAsLink = styled.div<IDivAsLink>`\n\tcolor: ${({ theme, disabled }) => disabled? theme.color.casper : theme.color.endeavour};\n\tdisplay: inherit;\n\tcursor: ${({ disabled }) => disabled? 'not-allowed': 'pointer'};\n`;\n","import styled from 'styled-components';\n\nexport const InnerContainer = styled.div`\n\twidth: 100%;\n`;\n","import styled from 'styled-components';\nimport { IconWrapper } from '../ui';\nimport { PageContent, PageMainContainer } from './basic';\n\ninterface IStatusScreenCircleContainer {\n\ttype: 'success' | 'warning' | 'error';\n}\n\nexport const PageStatusScreenMain = styled(PageMainContainer)`\n\theight: 100%;\n`;\nexport const PageStatusScreenContent = styled(PageContent)`\n\theight: inherit;\n\twidth: 100%;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: center;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\nexport const StatusScreenCircleContainer = styled.div<IStatusScreenCircleContainer>`\n\twidth: 64px;\n\theight: 64px;\n\tbackground-color: ${({ theme, type }) => {\n\t\tswitch (type) {\n\t\t\tcase 'success':\n\t\t\t\treturn theme.color.emerald;\n\t\t\tcase 'error':\n\t\t\t\treturn theme.color.sunsetOrange;\n\t\t\tcase 'warning':\n\t\t\t\treturn theme.color.hokeyPokey;\n\t\t\tdefault:\n\t\t\t\treturn theme.color.porcelain;\n\t\t}\n\t}};\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 24px;\n\n\t${IconWrapper} {\n\t\twidth: 40px;\n\t\tcolor: ${({ theme }) => theme.color.white};\n\t}\n`;\nexport const StatusScreenErrorCode = styled.span`\n\tfont-size: 12px;\n\tmargin-top: 16px;\n\tcolor: ${({ theme }) => theme.color.osloGrey};\n`;\nexport const PageSuccessImgContainer = styled.div`\n\tmargin-bottom: 24px;\n\twidth: 64px;\n\theight: 64px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\toverflow: hidden;\n\timg {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n`;\n","import styled from 'styled-components';\nimport { devices } from './breakpoints';\n\nexport const Root = styled.div`\n\twhite-space: pre-line;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: fixed;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\ttransform: translate(0, -50%);\n\theight: 100%;\n\tmax-height: 812px;\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: ${({ theme }) => theme.color.endeavour};\n\t}\n\th3 {\n\t\tfont-weight: normal;\n\t\t${({ theme }) => theme.mixin.title()};\n\t\tstrong {\n\t\t\t${({ theme }) => theme.mixin.title()};\n\t\t}\n\t}\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-height: none;\n\t\tpadding: 0;\n\t}\n`;\nexport const AppContainer = styled.div`\n\twidth: 539px;\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 100%;\n\n\t${devices.phone} {\n\t\twidth: 100%;\n\t}\n\n\t&::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\t-ms-overflow-style: none;\n\tscrollbar-width: none;\n\toverflow-y: scroll;\n`;\nexport const AppContainerWrapper = styled.div`\n\theight: 100%;\n\tposition: relative;\n\tborder: 1px solid ${({ theme }) => theme.color.porcelain};\n\tborder-radius: 8px;\n\toverflow: hidden;\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\tborder-radius: unset;\n\t\tborder: unset;\n\t}\n`;\nexport const AppContainerPage = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport MarkW1GBook from '../fonts/Mark-W1G-Book.otf';\nimport MarkW1GBold from '../fonts/Mark-W1G-Bold.otf';\n\nexport default createGlobalStyle`\n \n@font-face {\n font-family: MarkW1G;\n src: url(${MarkW1GBook}) format('opentype');\n }\n @font-face {\n font-family: MarkW1G;\n font-weight: bold;\n src: url(${MarkW1GBold}) format('opentype');\n }\n\nbody{\n font-family: 'MarkW1G', sans-serif;\n}\nbody * {\n font-family: 'MarkW1G', sans-serif;\n font-size: 14px;\n font-style: normal;\n}\n`;\n","import React, { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '../ui';\nimport { PageControlsSection, PageMainContainer, PageShadow, PageShadowWrapper, PageStyled, PageSubtitle } from '../../styledComponents';\nimport { ButtonType } from '../ui/Button';\n\ninterface IProps {\n\tbuttons?: IButton[];\n\tchildren: ReactElement;\n\ttitle?: string | ReactElement;\n\tsubTitle?: string;\n\tshadow: boolean;\n\tonBack?: () => void;\n\tbackDisabled?: boolean;\n}\n\nexport interface IButton {\n\tlabel: string;\n\tonClick: () => void;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Page(props: IProps) {\n\tconst { buttons, children, title, subTitle, shadow, onBack, backDisabled } = props;\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<PageStyled buttonCount={buttons?.length}>\n\t\t\t{onBack && <Button onClick={onBack} label={t('back')} buttonType=\"back\" disabled={backDisabled}/>}\n\t\t\t{title && <h3>{title}</h3>}\n\t\t\t{subTitle && <PageSubtitle>{subTitle}</PageSubtitle>}\n\t\t\t<PageMainContainer>{children}</PageMainContainer>\n\t\t\t<PageControlsSection notEmpty={(buttons?.length ?? 0) > 0}>\n\t\t\t\t<PageShadowWrapper>\n\t\t\t\t\t{shadow && <PageShadow />}\n\t\t\t\t\t{buttons?.map((b, index) => (\n\t\t\t\t\t\t<Button key={index} onClick={b.onClick} label={b.label} buttonType={b.buttonType} disabled={b.disabled} />\n\t\t\t\t\t))}\n\t\t\t\t</PageShadowWrapper>\n\t\t\t</PageControlsSection>\n\t\t</PageStyled>\n\t);\n}\n\nexport default Page;\n","import React from 'react';\nimport { ButtonLabel, ButtonStyled } from '../../styledComponents';\nimport back from '../../images/back.svg';\n\nexport type ButtonType = 'secondary' | 'tiny' | 'link' | 'back';\n\ninterface Props {\n\tonClick: () => void;\n\tlabel: string;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Button(props: Props) {\n\tconst { onClick, label, buttonType, disabled } = props;\n\treturn (\n\t\t<ButtonStyled buttonType={buttonType} disabled={disabled || false} onClick={onClick}>\n\t\t\t{buttonType === 'back' && <img src={back} alt=\"\" />}\n\t\t\t<ButtonLabel> {label || ''}</ButtonLabel>\n\t\t</ButtonStyled>\n\t);\n}\n\nexport default Button;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tPageControlsSection,\n\tPageShadowWrapper,\n\tPageStatusScreenContent,\n\tPageStatusScreenMain,\n\tPageStyled,\n\tStatusScreenCircleContainer,\n\tStatusScreenErrorCode\n} from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport Page from './Page';\nimport err from '../../images/error.svg';\n\ninterface IProps {\n\tmessageCode?: string;\n}\n\nfunction NotFound({ messageCode = '404' }: IProps) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t<Page shadow={false}>\n\t\t\t<PageStyled>\n\t\t\t\t<PageStatusScreenMain>\n\t\t\t\t\t<PageStyled>\n\t\t\t\t\t\t<PageStatusScreenContent>\n\t\t\t\t\t\t\t<StatusScreenCircleContainer type=\"warning\">\n\t\t\t\t\t\t\t\t<Icon img={err} rotating={false} />\n\t\t\t\t\t\t\t</StatusScreenCircleContainer>\n\t\t\t\t\t\t\t<span>{t('page_not_found')}</span>\n\t\t\t\t\t\t\t<StatusScreenErrorCode>{`${t('error')}: ${messageCode}`}</StatusScreenErrorCode>\n\t\t\t\t\t\t</PageStatusScreenContent>\n\t\t\t\t\t</PageStyled>\n\t\t\t\t</PageStatusScreenMain>\n\t\t\t\t<PageControlsSection notEmpty={false}>\n\t\t\t\t\t<PageShadowWrapper />\n\t\t\t\t</PageControlsSection>\n\t\t\t</PageStyled>\n\t\t</Page>\n\t);\n}\n\nexport default NotFound;\n","import React from 'react';\nimport { IconWrapper } from '../../styledComponents';\n\ninterface IProps {\n\trotating: boolean;\n\timg: string;\n}\n\nfunction Icon(props: IProps) {\n\tconst { rotating, img } = props;\n\treturn (\n\t\t<IconWrapper rotating={rotating}>\n\t\t\t<img src={img} alt=\"\" />\n\t\t</IconWrapper>\n\t);\n}\n\nexport default Icon;\n","import React, {useEffect, useState} from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { H4Styled, Spacer, InnerContainer } from '../../styledComponents';\nimport { authUser } from '../../actions/actions';\nimport { LoadingModal } from '../modals';\nimport {handleUserKeyPress} from \"../../helpers\";\n\ninterface IProps {\n\tonContinue: () => void;\n\tshowErrorScreen: (code:string) => void;\n\tshadow: boolean;\n\tappName: string;\n\tauthRequestId?: string;\n\tsmsSent:boolean\n\tsetSmsSent: (code: boolean) => void;\n\ttest?: boolean;\n}\n\nfunction StartScreen(props: IProps) {\n\tconst { onContinue, appName, shadow, authRequestId, showErrorScreen, smsSent, setSmsSent, test } = props;\n\tconst [loading, setLoading] = useState(false);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\t\t};\n\t}, []);\n\tconst handleContinue = async () => {\n\t\tsetLoading(true);\n\t\tif(authRequestId && !smsSent) {\n\t\t\tconst response = await authUser({authRequestId, test});\n\t\t\tif (response?.ok) {\n\t\t\t\tsetSmsSent(true);\n\t\t\t\tsetLoading(false);\n\t\t\t\tonContinue();\n\t\t\t} else {\n\t\t\t\tshowErrorScreen(response?.statusCode.toString())\n\t\t\t}\n\t\t} else if(smsSent) {\n\t\t\tsetLoading(false);\n\t\t\tonContinue();\n\t\t}\n\n\t};\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleContinue()\n\t\t}\n\t];\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tappName ? (\n\t\t\t\t\t<Trans t={t} i18nKey=\"use_basiq_to_connect_your_accounts\" values={{ name: appName }} components={{ bold: <strong /> }} />\n\t\t\t\t) : (\n\t\t\t\t\t<Trans t={t} i18nKey=\"we_use_basiq_to_connect_your_accounts\" components={{ bold: <strong /> }} />\n\t\t\t\t)\n\t\t\t}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<Spacer />\n\t\t\t\t<H4Styled>{t('to_do_this_we_will_ask_you_to')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"verify_your_mobile_number_bold\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"consent_to_share_your_data_with_us\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"share_your_financial_data\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<H4Styled>{t('things_you_should_know')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>{t('we_dont_share_your_data_without_your_consent')}</li>\n\t\t\t\t\t<li>{t('you_can_easily_stop_sharing_your_data_at_any_time')}</li>\n\t\t\t\t\t<li>{t('you_can_choose_to_delete_shared_data_when_we_no_longer_need_it')}</li>\n\t\t\t\t</ul>\n\t\t\t\t<Spacer />\n\t\t\t\t<span>\n\t\t\t\t\t<>\n\t\t\t\t\t{t('by_proceeding_you_agree_to_the')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/415750-basiq-terms-of-service\" rel=\"noreferrer\" target=\"_blank\">{t('terms_of_service')}</a> {t('and')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/382581-basiq-privacy-policy\" rel=\"noreferrer\" target=\"_blank\">{t('privacy_notice')}</a>\n\t\t\t\t\t</>\n\t\t\t\t</span>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default StartScreen;\n","import {DASHBOARD_API_URL, DASHBOARD_API_URL_TEST} from '../helpers';\n\nexport const verifySmsCode = async ({authRequestId, smsCode, test}:{authRequestId: string, smsCode: string, test?:boolean}) => {\n\tconst body = {\n\t\t'sms-code': smsCode\n\t};\n\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\tAuthorization: `Basic SMS_CODE:${authRequestId}`\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: JSON.stringify(body)\n\t};\n\n\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}/token`, reqData);\n\n\tif (result.status >= 200 && result.status < 300) {\n\t\tconst json = result.status === 204 ? null : await result.json();\n\t\treturn {\n\t\t\tdata: json,\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\tok:true\n\t\t};\n\t}\n\tif (result.status >= 400) {\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n\treturn {\n\t\theaders: result.headers,\n\t\tstatusCode: result.status,\n\t\terror: result.statusText || 'Something went wrong',\n\t\tok:false\n\t};\n};\n\nexport const authUser = async ({authRequestId, method, test}:{authRequestId: string, method?: 'POST' | 'GET', test?:boolean}) => {\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: method || 'POST'\n\t};\n\ttry{\n\t\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}`, reqData);\n\n\t\tif (result.status >= 200 && result.status < 300) {\n\t\t\tconst json = result.status === 204 ? null : await result.json();\n\t\t\treturn {\n\t\t\t\tdata: json,\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\tok: true\n\t\t\t};\n\t\t}\n\t\tif (result.status >= 400) {\n\t\t\tconst json = [403, 404].includes(result.status) ? null : await result.json();\n\t\t\treturn {\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\terror: json?.message || result.statusText || 'Something went wrong',\n\t\t\t\tok: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok: false\n\t\t};\n\t}catch (e){\n\t\treturn {\n\t\t\tstatusCode: 500,\n\t\t\terror: 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from '../ui/Modal';\nimport { LoadingModalStyled, LoadingModalText } from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport loadingIndicator from '../../images/loading_indicator.svg';\n\ninterface IProps {\n\tisOpen: boolean;\n\tdisableTransparency?: boolean;\n\tloadingText?: string;\n}\n\nfunction LoadingModal(props: IProps) {\n\tconst { isOpen, disableTransparency, loadingText } = props;\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} disableTransparency={!!disableTransparency}>\n\t\t\t<LoadingModalStyled disableTransparency={!!disableTransparency}>\n\t\t\t\t<Icon img={loadingIndicator} rotating />\n\t\t\t\t<LoadingModalText>{loadingText || t('loading')}</LoadingModalText>\n\t\t\t</LoadingModalStyled>\n\t\t</Modal>\n\t);\n}\n\nexport default LoadingModal;\n","import React, { ReactElement, SyntheticEvent } from 'react';\nimport { ModalStyled } from '../../styledComponents';\n\ninterface IProps {\n\tchildren: ReactElement;\n\tonClose?: () => void;\n\tisOpen: boolean;\n\tdisableTransparency: boolean;\n}\n\nfunction Modal(props: IProps) {\n\tconst { children, onClose, isOpen, disableTransparency } = props;\n\tconst handleOutsideClick = (e: SyntheticEvent<HTMLElement>) => {\n\t\tif (onClose && (e.target as HTMLElement).id === 'ui-modal') {\n\t\t\tonClose();\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t{isOpen ? (\n\t\t\t\t<ModalStyled id=\"ui-modal\" disableTransparency={disableTransparency} onClick={handleOutsideClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</ModalStyled>\n\t\t\t) : null}\n\t\t</>\n\t);\n}\n\nexport default Modal;\n","import React, {ChangeEvent, useCallback, useState} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { DivAsLink, InputContainer, InputStyled, PageConnectFooterControl, PageConnectFooterText, StatusMessage } from '../../styledComponents';\nimport { InnerContainer } from '../../styledComponents';\nimport { LoadingModal } from '../modals';\nimport { authUser, verifySmsCode } from '../../actions/actions';\nimport {buildRedirectUrl} from \"../../helpers\";\n\ninterface IProps {\n\tshadow: boolean;\n\tonBack: () => void;\n\tnumber: string;\n\tqueryString: string;\n\tauthRequestId: string;\n\ttest?:boolean;\n}\n\nfunction AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }: IProps) {\n\tconst { t } = useTranslation();\n\tconst [error, setError] = useState('');\n\tconst [smsCode, setSmsCode] = useState('');\n\tconst [resend, setResend] = useState(false);\n\tconst [resendLoading, setResendLoading] = useState(false);\n\tconst [loading, setLoading] = useState(false);\n\tconst [tooManyAttempts, setTooManyAttempts] = useState(false);\n\n\tconst handleCodeApply = useCallback(\n\t\t\tasync (e?:React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\tif(smsCode.length===6 && error.length===0 && (!e || e?.key === 'Enter')){\n\t\t\t\t\tsetLoading(true);\n\t\t\t\t\tconst response = await verifySmsCode({authRequestId, smsCode, test});\n\t\t\t\t\tif (response?.data?.access_token) {\n\t\t\t\t\t\twindow.open(buildRedirectUrl(response.data.access_token, queryString), \"_self\");\n\t\t\t\t\t} else if (response?.statusCode === 204) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetTooManyAttempts(true);\n\t\t\t\t\t\tsetError(t('too_many_attempts'));\n\t\t\t\t\t } else if (response?.error) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetError(t('this_code_doesnt_appear_to_be_valid'));\n\t\t\t\t\t }\n\n\t\t\t\t}\n\t\t\t},\n\t\t[smsCode, error, authRequestId, queryString, test]\n\t);\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleCodeApply(),\n\t\t\tdisabled: smsCode.length<6 || !!error\n\t\t}\n\t];\n\n\tconst handleResend = async () => {\n\t\tsetError('');\n\t\tsetSmsCode('');\n\t\tsetResend(false);\n\t\tsetResendLoading(true);\n\t\tconst response = await authUser({authRequestId, test});\n\t\tsetResendLoading(false);\n\t\tif (response.error) {\n\t\t\tsetError(t('failed_to_send_sms'));\n\t\t} else {\n\t\t\tsetResend(true);\n\t\t}\n\t};\n\tconst handleInput = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetError('');\n\t\tsetResend(false);\n\t\tif(/^([0-9]+)$/.test(e.target.value) || e.target.value===''){\n\t\t\tsetSmsCode(e.target.value);\n\t\t}\n\t};\n\treturn (\n\t\t<Page\n\t\t\ttitle={t('verify_your_mobile_number')}\n\t\t\tsubTitle={t('please_enter_the_sms_code_sent_to_your_mobile_number', { number })}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t\tonBack={onBack}\n\t\t\tbackDisabled={tooManyAttempts}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputStyled\n\t\t\t\t\t\tpattern=\"\\d{6}\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tautoComplete=\"one-time-code\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tmaxLength={6}\n\t\t\t\t\t\tonChange={handleInput}\n\t\t\t\t\t\tvalue={smsCode}\n\t\t\t\t\t\tfilled={smsCode.length === 6}\n\t\t\t\t\t\terror={tooManyAttempts || !!error}\n \tdisabled={tooManyAttempts}\n\t\t\t\t\t\tonKeyDown={handleCodeApply}\n\t\t\t\t\t/>\n\t\t\t\t</InputContainer>\n\t\t\t\t<PageConnectFooterControl>\n\t\t\t\t\t{resend && <StatusMessage>{t('new_sms_code_has_been_sent')}</StatusMessage>}\n\t\t\t\t\t{!!error && <StatusMessage error>{error}</StatusMessage>}\n\t\t\t\t\t<PageConnectFooterText>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('didnt_receive_the_code')} <DivAsLink disabled={tooManyAttempts || resendLoading} onClick={() => !tooManyAttempts && !resendLoading && handleResend()}>{t('resend_sms')}</DivAsLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</PageConnectFooterText>\n\t\t\t\t</PageConnectFooterControl>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default AuthScreen;\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './en/translation.json';\n\nexport const defaultNS = 'ns1';\n\n// the translations\nexport const resources = {\n\ten: {\n\t\tns1: translationEN\n\t}\n} as const;\n\ni18n.use(initReactI18next) // passes i18n down to react-i18next\n\t.init({\n\t\tresources,\n\t\tlng: 'en',\n\t\tns: ['ns1'],\n\t\tinterpolation: {\n\t\t\tescapeValue: false, // react already safes from xss\n\t\t\tprefix: '${',\n\t\t\tsuffix: '}'\n\t\t}\n\t});\n\nexport default i18n;\n","{\n\t\"back\": \"Back\",\n\t\"error\": \"Error\",\n\t\"loading\": \"Loading\",\n\t\"continue\": \"Continue\",\n\t\"to_do_this_we_will_ask_you_to\": \"To do this we will ask you to\",\n\t\"verify_your_mobile_number_bold\": \"<strong>Verify</strong> your mobile number\",\n\t\"verify_your_mobile_number\": \"Verify your mobile number\",\n\t\"consent_to_share_your_data_with_us\": \"<strong>Consent</strong> to share your data with us\",\n\t\"share_your_financial_data\": \"<strong>Share</strong> your financial data\",\n\t\"things_you_should_know\": \"Things you should know\",\n\t\"we_dont_share_your_data_without_your_consent\": \"We don’t share your data without your consent\",\n\t\"you_can_easily_stop_sharing_your_data_at_any_time\": \"You can easily stop sharing your data at any time\",\n\t\"you_can_choose_to_delete_shared_data_when_we_no_longer_need_it\": \"You can choose to delete shared data when we no longer need it\",\n\t\"by_proceeding_you_agree_to_the\": \"By proceeding, you agree to the\",\n\t\"terms_of_service\": \"Terms of service\",\n\t\"privacy_notice\": \"Privacy notice\",\n\t\"and\": \"and\",\n\t\"use_basiq_to_connect_your_accounts\": \"${name} use <strong>Basiq</strong> to connect your accounts\",\n\t\"we_use_basiq_to_connect_your_accounts\": \"We use <strong>Basiq</strong> to connect your accounts\",\n\t\"please_enter_the_sms_code_sent_to_your_mobile_number\": \"Please enter the SMS code sent to your mobile number (ending in xxx${number}).\",\n\t\"new_sms_code_has_been_sent\": \"New SMS code has been sent.\",\n\t\"this_code_doesnt_appear_to_be_valid\": \"This code doesn't appear to be valid.\",\n\t\"didnt_receive_the_code\": \"Didn’t receive the code?\",\n\t\"resend_sms\": \"Resend SMS\",\n\t\"failed_to_send_sms\": \"Failed to send SMS.\",\n\t\"page_not_found\": \"Page not found\",\n\t\"missing_authentication_token\": \"Missing Authentication Token\",\n\t\"too_many_attempts\": \"Too many attempts. Please use a new link to try again.\"\n}\n"],"mappings":"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","names":["import_react","import_styled_components","import_react","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","import_react","import_react","React","React","import_react","import_react_i18next","import_react","React","React","import_react","import_react_i18next","import_react","import_react_i18next","import_react","React","React","React","import_react","import_react_i18next","React","React","import_react_i18next","i18n","React"]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/components/BasiqConnect.tsx","../src/App.tsx","../src/styledComponents/ui/basic.ts","../src/styledComponents/ui/button.ts","../src/styledComponents/ui/modals.ts","../src/helpers/hookUtils.ts","../src/helpers/utils.ts","../src/helpers/constants.ts","../src/styledComponents/theme.ts","../src/styledComponents/pages/basic.ts","../src/styledComponents/breakpoints.ts","../src/styledComponents/pages/auth.ts","../src/styledComponents/pages/start.ts","../src/styledComponents/pages/notFound.ts","../src/styledComponents/base.ts","../src/styledComponents/styles.ts","../src/components/pages/Page.tsx","../src/components/ui/Button.tsx","../src/components/pages/NotFound.tsx","../src/components/ui/icon.tsx","../src/components/pages/StartScreen.tsx","../src/actions/actions.ts","../src/components/modals/LoadingModal.tsx","../src/components/ui/Modal.tsx","../src/components/pages/AuthScreen.tsx","../src/locales/i18n.ts","../src/locales/en/translation.json"],"sourcesContent":["export {BasiqConnect} from './components/BasiqConnect'\n","import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport App from '../App';\nimport '../locales/i18n';\nimport { theme } from '../styledComponents';\n\nexport interface IBCProps{\n\ttest?:boolean;\n}\n\nexport function BasiqConnect(props: IBCProps) {\n\tconst {test} = props;\nreturn(\n\t<React.StrictMode>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<App test={test} />\n\t\t\t</ThemeProvider>\n\t</React.StrictMode>\n\t\t);\n\n}\n\n","import React, { createRef, SyntheticEvent, useEffect, useState } from 'react';\nimport { AppContainer, AppContainerPage, AppContainerWrapper, PageHeader, Root } from './styledComponents';\nimport GlobalStyles from './styledComponents/styles';\nimport { detectScrollToBottom } from './helpers';\nimport {AuthScreen, NotFound, Page, StartScreen} from './components/pages';\nimport { authUser } from './actions/actions';\nimport { LoadingModal } from './components/modals';\nimport {IBCProps} from \"./components/BasiqConnect\";\n\nfunction App(props:IBCProps) {\n\tconst {test} = props;\n\tconst ref = createRef<HTMLDivElement>();\n\tconst [shadow, setShadow] = useState(false);\n\tconst [currentScreen, setCurrentScreen] = useState(0);\n\tconst [loading, setLoading] = useState(true);\n\tconst [authId, setAuthId] = useState('');\n\tconst [queryString, setQueryString] = useState('');\n\tconst [mobile, setMobile] = useState('');\n\tconst [logo, setLogo] = useState('');\n\tconst [appName, setAppName] = useState('');\n\tconst [errorCode, setErrorCode] = useState('');\n\tconst [smsSent, setSmsSent] = useState(false);\n\n\tconst handleConnectionsScroll = (event: SyntheticEvent<HTMLDivElement>) => {\n\t\tsetShadow(detectScrollToBottom(event));\n\t};\n\tconst showErrorScreen = (code: string) => {\n\t\tsetErrorCode(code);\n\t\tsetCurrentScreen(3);\n\t};\n\tuseEffect(() => {\n\t\tconst getData = async () => {\n\t\t\tconst id = window.location.pathname?.substring(1)?.split('?')[0];\n\t\t\tconst searchString = window.location.search?.split('?')[1];\n\t\t\tsetQueryString(searchString);\n\t\t\tif (id?.length > 0) {\n\t\t\t\tsetAuthId(id);\n\t\t\t\tsetLoading(true);\n\t\t\t\tconst response = await authUser({authRequestId:id, method:'GET', test});\n\t\t\t\tif (response?.ok) {\n\t\t\t\t\tsetCurrentScreen(1);\n\t\t\t\t\tsetMobile(response?.data?.mobile);\n\t\t\t\t\tif (response?.data?.appName) {\n\t\t\t\t\t\tsetAppName(response?.data?.appName);\n\t\t\t\t\t}\n\t\t\t\t\tif (response?.data?.partner?.logoUrl) {\n\t\t\t\t\t\tsetLogo(response?.data?.partner?.logoUrl);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tshowErrorScreen(response?.statusCode.toString());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tshowErrorScreen('404');\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\tgetData();\n\t}, []);\n\n\n\tconst getScreen = () => {\n\t\tswitch (currentScreen) {\n\t\t\tcase 0:\n\t\t\t\treturn <Page shadow={shadow}><LoadingModal isOpen={loading} disableTransparency /></Page>;\n\t\t\tcase 1:\n\t\t\t\treturn (\n\t\t\t\t\t<StartScreen\n\t\t\t\t\t\tappName={appName}\n\t\t\t\t\t\tshadow={shadow}\n\t\t\t\t\t\tshowErrorScreen={showErrorScreen}\n\t\t\t\t\t\tonContinue={() => setCurrentScreen(2)}\n\t\t\t\t\t\tauthRequestId={authId}\n\t\t\t\t\t\tsmsSent={smsSent}\n\t\t\t\t\t\tsetSmsSent={setSmsSent}\n\t\t\t\t\t\ttest={test}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 2:\n\t\t\t\treturn <AuthScreen number={mobile} onBack={() => setCurrentScreen(1)} shadow={shadow} authRequestId={authId} test={test} queryString={queryString}/>;\n\t\t\tcase 3:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t\tdefault:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Root>\n\t\t\t<GlobalStyles />\n\t\t\t<AppContainerWrapper>\n\t\t\t\t<AppContainer onScroll={handleConnectionsScroll} ref={ref}>\n\t\t\t\t\t{logo && (\n\t\t\t\t\t\t<PageHeader>\n\t\t\t\t\t\t\t<img src={logo} alt=\"logo\" />\n\t\t\t\t\t\t</PageHeader>\n\t\t\t\t\t)}\n\t\t\t\t\t<AppContainerPage>{getScreen()}</AppContainerPage>\n\t\t\t\t</AppContainer>\n\t\t\t</AppContainerWrapper>\n\t\t</Root>\n\t);\n}\n\nexport default App;\n","import styled, { css, keyframes } from 'styled-components';\n\ninterface IIconWrapper {\n\trotating: boolean;\n}\n\nexport const rotate = keyframes`\n from {\n -ms-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -webkit-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -ms-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -webkit-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\nexport const SimpleButton = styled.button`\n\tborder-radius: 2px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tborder: none;\n\tcursor: pointer;\n\tmargin-bottom: 8px;\n\tpadding: 10px;\n`;\n\nexport const Input = styled.input`\n\theight: 48px;\n\tbackground: ${({ theme }) => theme.color.porcelainSecond};\n\tborder-radius: 2px;\n\tborder: none;\n\twidth: 100%;\n\tbox-sizing: border-box;\n\tpadding: 0 16px;\n\tcolor: ${({ theme }) => theme.color.ebony};\n\tmargin-bottom: 16px;\n\tfont-size: 16px;\n\n\t&::placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t\topacity: 1;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&::-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&:focus-visible {\n\t\toutline: none;\n\t\tbackground-color: ${({ theme }) => theme.color.spindle};\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\nexport const H4Styled = styled.h4`\n\tcursor: pointer;\n\tuser-select: none;\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const Spacer = styled.div`\n\tdisplay: flex;\n\twidth: 100%;\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n\theight: 1px;\n\tbackground-color: ${({ theme }) => theme.color.porcelain};\n`;\nexport const IconWrapper = styled.span<IIconWrapper>`\n display: flex;\n width: 22px;\n ${({ rotating }) =>\n\t\trotating &&\n\t\tcss`\n\t\t\tanimation: ${rotate} 2s linear infinite;\n\t\t`}\n };\n svg, img {\n width: 100%;\n }\n`;\n","import styled, { css } from 'styled-components';\nimport { SimpleButton } from './basic';\nimport { ButtonType } from '../../components/ui/Button';\n\nexport const ButtonLabel = styled.span`\n\tfont-size: 18px;\n`;\n\ninterface IButtonStyled {\n\tbuttonType?: ButtonType;\n\tdisabled: boolean;\n\tonClick: () => void;\n}\nexport const ButtonStyled = styled(SimpleButton)<IButtonStyled>`\n\tmin-height: 40px;\n\tjustify-content: center;\n\tbackground-color: ${(props) => props.theme.color.endeavour};\n\ttext-align: center;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: ${({ theme }) => theme.color.white};\n\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\t&:hover {\n\t\tbackground-color: ${({ theme }) => theme.color.bostonBlue};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }) => theme.color.congressBlue};\n\t}\n\t${({ buttonType, theme }) => {\n\t\tswitch (buttonType) {\n\t\t\tcase 'secondary':\n\t\t\t\treturn css`\n\t\t\t\t\tcolor: ${theme.color.ebony};\n\t\t\t\t\tbackground-color: ${theme.color.porcelainSecond};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: ${theme.color.porcelainSecondLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.ironSecond};\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tcase 'tiny':\n\t\t\t\treturn css`\n\t\t\t\t\twidth: auto;\n\t\t\t\t\tmin-height: 32px;\n\t\t\t\t\tpadding: 6px 16px;\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tcolor: ${theme.color.cyprus};\n\t\t\t\t\tbackground-color: ${theme.color.hokeyPokey};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground-color: ${theme.color.hokeyPokeyLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.anzac};\n\t\t\t\t\t}\n\t\t\t\t`;\n\n\t\t\tcase 'back':\n\t\t\t\treturn css`\n\t\t\t\t\tbackground: none;\n\t\t\t\t\tjustify-content: initial;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmin-height: unset;\n\t\t\t\t\tcolor: ${theme.color.casper};\n\t\t\t\t\twidth: auto;\n\t\t\t\t\timg {\n\t\t\t\t\t\twidth: 25px;\n\t\t\t\t\t\tfilter: invert(68%) sepia(13%) saturate(348%) hue-rotate(155deg) brightness(91%) contrast(94%);\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(31%) sepia(10%) saturate(313%) hue-rotate(155deg) brightness(96%) contrast(87%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tcolor: ${theme.color.jumbo};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(49%) sepia(0%) saturate(5%) hue-rotate(29deg) brightness(99%) contrast(83%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:disabled {\n\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\tbackground-color: unset !important;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}}\n\timg {\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tmargin-right: 3px;\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\n","import styled from 'styled-components';\nimport { hexToRGBa } from '../../helpers';\nimport { IconWrapper } from './basic';\n\ninterface IModalStyled {\n\tdisableTransparency: boolean;\n}\n\nexport const ModalStyled = styled.div<IModalStyled>`\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ${({ theme, disableTransparency }) => (disableTransparency ? theme.color.jumbo : hexToRGBa(theme.color.blackPearl, 0.7))};\n\tz-index: 1000000000;\n\tpadding: 16px;\n\n\ta {\n\t\tmargin-bottom: 8px;\n\t}\n`;\nexport const LoadingModalStyled = styled.div<IModalStyled>`\n\tbox-shadow: ${({ theme, disableTransparency }) => (disableTransparency ? 'none' : `0 1px 2px ${hexToRGBa(theme.color.blueBayoux, 0.3)}`)};\n\tborder-radius: 2px;\n\tpadding: 16px 12px;\n\tfont-size: 16px;\n\tline-height: 16px;\n\tcolor: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\n\t${IconWrapper} {\n\t\tfilter: invert(1);\n\t\tmargin-bottom: 15px;\n\t\twidth: 48px;\n\t}\n`;\nexport const LoadingModalText = styled.span`\n\tfont-size: 18px;\n\twhite-space: pre-line;\n\ttext-align: center;\n\tline-height: 30px;\n`;\n","import { useRef } from 'react';\n\nexport const useFocus = () => {\n\tconst htmlElRef = useRef<HTMLInputElement>(null);\n\tconst setFocus = () => htmlElRef.current && htmlElRef.current.focus();\n\n\treturn [htmlElRef, setFocus];\n};\n","import { SyntheticEvent } from 'react';\n\nexport function detectScrollToBottom(event: SyntheticEvent<HTMLDivElement>) {\n\tconst { scrollHeight, scrollTop, clientHeight } = event.currentTarget;\n\treturn scrollHeight - scrollTop > clientHeight;\n}\n\nexport const hexToRGBa = (hex: string, opacity: number) => {\n\tconst hexToRGBA = hex.match(/[A-Za-z0-9]{2}/g)?.map((v) => parseInt(v, 16));\n\tconst opp = opacity > 1 && opacity < 0 ? 1 : opacity;\n\treturn `rgba(${hexToRGBA?.concat(opp).join()})`;\n};\nexport const handleUserKeyPress = (e: KeyboardEvent, onEnter:()=>void) =>{\n\tconst { keyCode } = e;\n\tif(keyCode===13){\n\t\tonEnter()\n\t}\n}\nexport const buildRedirectUrl = (token:string, queryString:string):string => `https://consent.basiq.io/home?token=${token}${queryString ? '&'+queryString : ''}`;\n"," export const DASHBOARD_API_URL_TEST = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';\nexport const DASHBOARD_API_URL = 'https://p4c8zn20r9.execute-api.ap-southeast-2.amazonaws.com/Production_v1/';\n","export const theme = {\n\tcolor: {\n\t\twhite: '#fff',\n\t\tporcelain: '#e2E8Ea',\n\t\tporcelainSecond: '#f5F7F8',\n\t\tporcelainLight: '#e5Eaec',\n\t\tporcelainSecondLight: '#f7F9F9',\n\t\tiron: '#cbd1D3',\n\t\tironSecond: '#dcdedf',\n\t\tcasper: '#90a4Ae',\n\t\tmercury: '#e5E5E5',\n\t\tdodgerBlue: '#4c6Cff',\n\t\tdodgerBlueLight: '#5e7Bff',\n\t\troyalBlue: '#4461e6',\n\t\tbostonBlue: '#367ab9',\n\t\tendeavour: '#0459a8',\n\t\tcongressBlue: '#045097',\n\t\tbrilliantBlue: '#0075dc',\n\t\tcuriousBlue: '#2784da',\n\t\ticeberg: '#cdf2ed',\n\t\tlinkWater: '#cddeee',\n\t\tspindle: '#b4Cde5',\n\t\tcyprus: '#002d3C',\n\t\tgossamer: '#06bea6',\n\t\temerald: '#4fc35A',\n\t\thokeyPokey: '#fabe34',\n\t\thokeyPokeyLight: '#f9C858',\n\t\tanzac: '#e1B141',\n\t\tcerise: '#d63F5a',\n\t\tsunsetOrange: '#fe493f',\n\t\twePeep: '#f7d9de',\n\t\tebony: '#130f26',\n\t\tabbey: '#4e5457',\n\t\tosloGrey: '#7f888c',\n\t\tloblolly: '#c1c8cc',\n\t\tjumbo: '#7d7d84',\n\t\tblackPearl: '#061D24',\n\t\tblueBayoux: '#4b6a75'\n\t},\n\tmixin: {\n\t\tsubtitle: () => ` margin-top: 32px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;`,\n\n\t\ttitle: () => ` font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 0;\n color: #130f26;\n white-space: pre-line;\n `\n\t}\n};\nexport type ThemeType = typeof theme;\n","import styled, { css } from 'styled-components';\nimport { ButtonStyled } from '../ui';\nimport { hexToRGBa } from '../../helpers';\nimport { devices } from '../breakpoints';\n\ninterface IPageStyledProps {\n\tbuttonCount?: number;\n\thorizontal?: boolean;\n}\n\ninterface IStatusMessage {\n\terror?: boolean;\n}\n\ninterface IPageControlsSectionProps {\n\tnotEmpty: boolean;\n}\ninterface IHorizontalProps {\n\thorizontal?: boolean;\n}\nexport const PageStyled = styled.div<IPageStyledProps>`\n\twidth: 100%;\n\theight: 100%;\n\t${({ buttonCount, horizontal }) =>\n\t\tbuttonCount && buttonCount > 0\n\t\t\t? horizontal\n\t\t\t\t? 'padding-bottom: 96px;'\n\t\t\t\t: `padding-bottom: ${46 + 50 * buttonCount}px;`\n\t\t\t: 'padding-bottom: 16px;'}\n`;\nexport const PageSubtitle = styled.div`\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const PageMainContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n`;\nexport const PageControlsSection = styled.div<IPageControlsSectionProps>`\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\t${({ notEmpty }) => `padding: ${notEmpty ? '16px' : '0'}`};\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tborder-top: 1px solid ${({ theme }) => theme.color.porcelainLight};\n`;\nexport const PageShadowWrapper = styled.div<IHorizontalProps>`\n\twidth: 100%;\n\t${({ horizontal }) =>\n\t\thorizontal &&\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\n\t\t\t${ButtonStyled} {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-right: 16px;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-right: unset;\n\t\t\t\t}\n\t\t\t}\n\t\t`}\n`;\nexport const PageShadow = styled.div`\n\tposition: absolute;\n\theight: 71px;\n\tleft: 0;\n\tright: 0;\n\ttop: -71px;\n\tbackground: linear-gradient(180deg, #cecece 0%, ${hexToRGBa('#cecece', 0)} 100%);\n\topacity: 0.8;\n\ttransform: rotate(-180deg);\n\tpointer-events: none;\n`;\nexport const PageHeader = styled.header`\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: unset;\n\tpadding: 16px 0;\n\tbox-sizing: border-box;\n\tmax-height: 150px;\n\theight: 100%;\n\t${devices.phone} {\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tmargin-bottom: 0;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t${devices.phone} {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n`;\n\nexport const PageContent = styled.div`\n\twidth: 100%;\n`;\nexport const StatusMessage = styled.div<IStatusMessage>`\n\twidth: 100%;\n\tbackground: ${({ theme, error }) => (error ? theme.color.wePeep : theme.color.iceberg)};\n\tborder-radius: 4px;\n\tpadding: 11px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: 400;\n\tfont-size: 14px;\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.gossamer)};\n\tmargin-bottom: 16px;\n`;\n","const breakpoints = {\n\tmobileS: '320px',\n\tmobileL: '480px',\n\ttabletMinus: '767px',\n\ttabletH: '781px',\n\ttablet: '768px',\n\ttabletL: '992px',\n\tlaptop: '1024px',\n\tlaptopH: '1080px',\n\tlaptopXS: '1110px',\n\tlaptopS: '1280px',\n\tlaptopM: '1366px',\n\tlaptopL: '1440px',\n\tlaptopXL: '1540px',\n\tdesktopS: '1800px',\n\tdesktop: '2560px'\n};\nexport const devices = {\n\tfold: `@media only screen and (max-width: ${breakpoints.mobileS})`,\n\tphoneXs: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\tphone: `@media only screen and (max-width: ${breakpoints.tabletMinus})`,\n\tphoneLandscape: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\ttabletOnly: `@media only screen and (min-width: ${breakpoints.tablet}) and (max-width: ${breakpoints.tabletL})`,\n\tiPadProLandscape: `@media only screen and (height: ${breakpoints.laptop}) and (width: ${breakpoints.laptopM})`,\n\tiPadProPortrait: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.laptopM})`,\n\tiPad: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.tablet}) `,\n\ttablet: `@media only screen and (max-width: ${breakpoints.tabletL}) `,\n\tdesktop: `@media only screen and (min-height: ${breakpoints.tabletH} ) and (min-width: ${breakpoints.laptopS} ) `,\n\tlaptop: `@media only screen and (max-width: ${breakpoints.laptopS}) `,\n\tlaptopRegularScreenWidth: `@media only screen (max-height: ${breakpoints.laptopXS}) and and (max-width: ${breakpoints.laptopXL}) `,\n\tbigDesktop: `@media only screen and (min-width: ${breakpoints.desktopS}) and (min-height: ${breakpoints.laptopH})) `\n};\n","import styled from 'styled-components';\n\ninterface IInputStyled {\n\tfilled: boolean;\n\terror: boolean;\n}\ninterface IDivAsLink {\n\tdisabled: boolean;\n}\n\nexport const PageConnectFooterControl = styled.div`\n\tposition: absolute;\n\tbottom: 80px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tleft: 0;\n\tflex-direction: column;\n\tbox-sizing: border-box;\n\tpadding: 16px;\n`;\nexport const PageConnectFooterText = styled.span`\n\tcolor: ${({ theme }) => theme.color.abbey};\n\tfont-size: 12px;\n`;\n\nexport const InputStyled = styled.input<IInputStyled>`\n\twidth: 100%;\n\theight: 64px;\n\tbackground: ${({ theme, filled, error }) => (error ? theme.color.wePeep : filled ? theme.color.linkWater : theme.color.porcelainSecond)};\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.endeavour)};\n\tborder-radius: 2px;\n\ttext-align: center;\n\tfont-size: 32px;\n\tborder: none;\n\tbox-shadow: none;\n\tletter-spacing: 20px;\n\ttext-indent: 20px;\n`;\n\nexport const InputContainer = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\nexport const DivAsLink = styled.div<IDivAsLink>`\n\tcolor: ${({ theme, disabled }) => disabled? theme.color.casper : theme.color.endeavour};\n\tdisplay: inherit;\n\tcursor: ${({ disabled }) => disabled? 'not-allowed': 'pointer'};\n`;\n","import styled from 'styled-components';\n\nexport const InnerContainer = styled.div`\n\twidth: 100%;\n`;\n","import styled from 'styled-components';\nimport { IconWrapper } from '../ui';\nimport { PageContent, PageMainContainer } from './basic';\n\ninterface IStatusScreenCircleContainer {\n\ttype: 'success' | 'warning' | 'error';\n}\n\nexport const PageStatusScreenMain = styled(PageMainContainer)`\n\theight: 100%;\n`;\nexport const PageStatusScreenContent = styled(PageContent)`\n\theight: inherit;\n\twidth: 100%;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: center;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\nexport const StatusScreenCircleContainer = styled.div<IStatusScreenCircleContainer>`\n\twidth: 64px;\n\theight: 64px;\n\tbackground-color: ${({ theme, type }) => {\n\t\tswitch (type) {\n\t\t\tcase 'success':\n\t\t\t\treturn theme.color.emerald;\n\t\t\tcase 'error':\n\t\t\t\treturn theme.color.sunsetOrange;\n\t\t\tcase 'warning':\n\t\t\t\treturn theme.color.hokeyPokey;\n\t\t\tdefault:\n\t\t\t\treturn theme.color.porcelain;\n\t\t}\n\t}};\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 24px;\n\n\t${IconWrapper} {\n\t\twidth: 40px;\n\t\tcolor: ${({ theme }) => theme.color.white};\n\t}\n`;\nexport const StatusScreenErrorCode = styled.span`\n\tfont-size: 12px;\n\tmargin-top: 16px;\n\tcolor: ${({ theme }) => theme.color.osloGrey};\n`;\nexport const PageSuccessImgContainer = styled.div`\n\tmargin-bottom: 24px;\n\twidth: 64px;\n\theight: 64px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\toverflow: hidden;\n\timg {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n`;\n","import styled from 'styled-components';\nimport { devices } from './breakpoints';\n\nexport const Root = styled.div`\n\twhite-space: pre-line;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: fixed;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\ttransform: translate(0, -50%);\n\theight: 100%;\n\tmax-height: 812px;\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: ${({ theme }) => theme.color.endeavour};\n\t}\n\th3 {\n\t\tfont-weight: normal;\n\t\t${({ theme }) => theme.mixin.title()};\n\t\tstrong {\n\t\t\t${({ theme }) => theme.mixin.title()};\n\t\t}\n\t}\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-height: none;\n\t\tpadding: 0;\n\t}\n`;\nexport const AppContainer = styled.div`\n\twidth: 539px;\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 100%;\n\n\t${devices.phone} {\n\t\twidth: 100%;\n\t}\n\n\t&::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\t-ms-overflow-style: none;\n\tscrollbar-width: none;\n\toverflow-y: scroll;\n`;\nexport const AppContainerWrapper = styled.div`\n\theight: 100%;\n\tposition: relative;\n\tborder: 1px solid ${({ theme }) => theme.color.porcelain};\n\tborder-radius: 8px;\n\toverflow: hidden;\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\tborder-radius: unset;\n\t\tborder: unset;\n\t}\n`;\nexport const AppContainerPage = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport MarkW1GBook from '../fonts/Mark-W1G-Book.otf';\nimport MarkW1GBold from '../fonts/Mark-W1G-Bold.otf';\n\nexport default createGlobalStyle`\n \n@font-face {\n font-family: MarkW1G;\n src: url(${MarkW1GBook}) format('opentype');\n }\n @font-face {\n font-family: MarkW1G;\n font-weight: bold;\n src: url(${MarkW1GBold}) format('opentype');\n }\n\nbody{\n font-family: 'MarkW1G', sans-serif;\n}\nbody * {\n font-family: 'MarkW1G', sans-serif;\n font-size: 14px;\n font-style: normal;\n}\n`;\n","import React, { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '../ui';\nimport { PageControlsSection, PageMainContainer, PageShadow, PageShadowWrapper, PageStyled, PageSubtitle } from '../../styledComponents';\nimport { ButtonType } from '../ui/Button';\n\ninterface IProps {\n\tbuttons?: IButton[];\n\tchildren: ReactElement;\n\ttitle?: string | ReactElement;\n\tsubTitle?: string;\n\tshadow: boolean;\n\tonBack?: () => void;\n\tbackDisabled?: boolean;\n}\n\nexport interface IButton {\n\tlabel: string;\n\tonClick: () => void;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Page(props: IProps) {\n\tconst { buttons, children, title, subTitle, shadow, onBack, backDisabled } = props;\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<PageStyled buttonCount={buttons?.length}>\n\t\t\t{onBack && <Button onClick={onBack} label={t('back')} buttonType=\"back\" disabled={backDisabled}/>}\n\t\t\t{title && <h3>{title}</h3>}\n\t\t\t{subTitle && <PageSubtitle>{subTitle}</PageSubtitle>}\n\t\t\t<PageMainContainer>{children}</PageMainContainer>\n\t\t\t<PageControlsSection notEmpty={(buttons?.length ?? 0) > 0}>\n\t\t\t\t<PageShadowWrapper>\n\t\t\t\t\t{shadow && <PageShadow />}\n\t\t\t\t\t{buttons?.map((b, index) => (\n\t\t\t\t\t\t<Button key={index} onClick={b.onClick} label={b.label} buttonType={b.buttonType} disabled={b.disabled} />\n\t\t\t\t\t))}\n\t\t\t\t</PageShadowWrapper>\n\t\t\t</PageControlsSection>\n\t\t</PageStyled>\n\t);\n}\n\nexport default Page;\n","import React from 'react';\nimport { ButtonLabel, ButtonStyled } from '../../styledComponents';\nimport back from '../../images/back.svg';\n\nexport type ButtonType = 'secondary' | 'tiny' | 'link' | 'back';\n\ninterface Props {\n\tonClick: () => void;\n\tlabel: string;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Button(props: Props) {\n\tconst { onClick, label, buttonType, disabled } = props;\n\treturn (\n\t\t<ButtonStyled buttonType={buttonType} disabled={disabled || false} onClick={onClick}>\n\t\t\t{buttonType === 'back' && <img src={back} alt=\"\" />}\n\t\t\t<ButtonLabel> {label || ''}</ButtonLabel>\n\t\t</ButtonStyled>\n\t);\n}\n\nexport default Button;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tPageControlsSection,\n\tPageShadowWrapper,\n\tPageStatusScreenContent,\n\tPageStatusScreenMain,\n\tPageStyled,\n\tStatusScreenCircleContainer,\n\tStatusScreenErrorCode\n} from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport Page from './Page';\nimport err from '../../images/error.svg';\n\ninterface IProps {\n\tmessageCode?: string;\n}\n\nfunction NotFound({ messageCode = '404' }: IProps) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t<Page shadow={false}>\n\t\t\t<PageStyled>\n\t\t\t\t<PageStatusScreenMain>\n\t\t\t\t\t<PageStyled>\n\t\t\t\t\t\t<PageStatusScreenContent>\n\t\t\t\t\t\t\t<StatusScreenCircleContainer type=\"warning\">\n\t\t\t\t\t\t\t\t<Icon img={err} rotating={false} />\n\t\t\t\t\t\t\t</StatusScreenCircleContainer>\n\t\t\t\t\t\t\t<span>{t('page_not_found')}</span>\n\t\t\t\t\t\t\t<StatusScreenErrorCode>{`${t('error')}: ${messageCode}`}</StatusScreenErrorCode>\n\t\t\t\t\t\t</PageStatusScreenContent>\n\t\t\t\t\t</PageStyled>\n\t\t\t\t</PageStatusScreenMain>\n\t\t\t\t<PageControlsSection notEmpty={false}>\n\t\t\t\t\t<PageShadowWrapper />\n\t\t\t\t</PageControlsSection>\n\t\t\t</PageStyled>\n\t\t</Page>\n\t);\n}\n\nexport default NotFound;\n","import React from 'react';\nimport { IconWrapper } from '../../styledComponents';\n\ninterface IProps {\n\trotating: boolean;\n\timg: string;\n}\n\nfunction Icon(props: IProps) {\n\tconst { rotating, img } = props;\n\treturn (\n\t\t<IconWrapper rotating={rotating}>\n\t\t\t<img src={img} alt=\"\" />\n\t\t</IconWrapper>\n\t);\n}\n\nexport default Icon;\n","import React, {useEffect, useState} from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { H4Styled, Spacer, InnerContainer } from '../../styledComponents';\nimport { authUser } from '../../actions/actions';\nimport { LoadingModal } from '../modals';\nimport {handleUserKeyPress} from \"../../helpers\";\n\ninterface IProps {\n\tonContinue: () => void;\n\tshowErrorScreen: (code:string) => void;\n\tshadow: boolean;\n\tappName: string;\n\tauthRequestId?: string;\n\tsmsSent:boolean\n\tsetSmsSent: (code: boolean) => void;\n\ttest?: boolean;\n}\n\nfunction StartScreen(props: IProps) {\n\tconst { onContinue, appName, shadow, authRequestId, showErrorScreen, smsSent, setSmsSent, test } = props;\n\tconst [loading, setLoading] = useState(false);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\t\t};\n\t}, []);\n\tconst handleContinue = async () => {\n\t\tsetLoading(true);\n\t\tif(authRequestId && !smsSent) {\n\t\t\tconst response = await authUser({authRequestId, test});\n\t\t\tif (response?.ok) {\n\t\t\t\tsetSmsSent(true);\n\t\t\t\tsetLoading(false);\n\t\t\t\tonContinue();\n\t\t\t} else {\n\t\t\t\tshowErrorScreen(response?.statusCode.toString())\n\t\t\t}\n\t\t} else if(smsSent) {\n\t\t\tsetLoading(false);\n\t\t\tonContinue();\n\t\t}\n\n\t};\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleContinue()\n\t\t}\n\t];\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tappName ? (\n\t\t\t\t\t<Trans t={t} i18nKey=\"use_basiq_to_connect_your_accounts\" values={{ name: appName }} components={{ bold: <strong /> }} />\n\t\t\t\t) : (\n\t\t\t\t\t<Trans t={t} i18nKey=\"we_use_basiq_to_connect_your_accounts\" components={{ bold: <strong /> }} />\n\t\t\t\t)\n\t\t\t}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<Spacer />\n\t\t\t\t<H4Styled>{t('to_do_this_we_will_ask_you_to')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"verify_your_mobile_number_bold\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"consent_to_share_your_data_with_us\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"share_your_financial_data\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<H4Styled>{t('things_you_should_know')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>{t('we_dont_share_your_data_without_your_consent')}</li>\n\t\t\t\t\t<li>{t('you_can_easily_stop_sharing_your_data_at_any_time')}</li>\n\t\t\t\t\t<li>{t('you_can_choose_to_delete_shared_data_when_we_no_longer_need_it')}</li>\n\t\t\t\t</ul>\n\t\t\t\t<Spacer />\n\t\t\t\t<span>\n\t\t\t\t\t<>\n\t\t\t\t\t{t('by_proceeding_you_agree_to_the')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/415750-basiq-terms-of-service\" rel=\"noreferrer\" target=\"_blank\">{t('terms_of_service')}</a> {t('and')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/382581-basiq-privacy-policy\" rel=\"noreferrer\" target=\"_blank\">{t('privacy_notice')}</a>\n\t\t\t\t\t</>\n\t\t\t\t</span>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default StartScreen;\n","import {DASHBOARD_API_URL, DASHBOARD_API_URL_TEST} from '../helpers';\n\nexport const verifySmsCode = async ({authRequestId, smsCode, test}:{authRequestId: string, smsCode: string, test?:boolean}) => {\n\tconst body = {\n\t\t'sms-code': smsCode\n\t};\n\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\tAuthorization: `Basic SMS_CODE:${authRequestId}`\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: JSON.stringify(body)\n\t};\n\n\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}/token`, reqData);\n\n\tif (result.status >= 200 && result.status < 300) {\n\t\tconst json = result.status === 204 ? null : await result.json();\n\t\treturn {\n\t\t\tdata: json,\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\tok:true\n\t\t};\n\t}\n\tif (result.status >= 400) {\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n\treturn {\n\t\theaders: result.headers,\n\t\tstatusCode: result.status,\n\t\terror: result.statusText || 'Something went wrong',\n\t\tok:false\n\t};\n};\n\nexport const authUser = async ({authRequestId, method, test}:{authRequestId: string, method?: 'POST' | 'GET', test?:boolean}) => {\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: method || 'POST'\n\t};\n\ttry{\n\t\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}`, reqData);\n\n\t\tif (result.status >= 200 && result.status < 300) {\n\t\t\tconst json = result.status === 204 ? null : await result.json();\n\t\t\treturn {\n\t\t\t\tdata: json,\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\tok: true\n\t\t\t};\n\t\t}\n\t\tif (result.status >= 400) {\n\t\t\tconst json = [403, 404].includes(result.status) ? null : await result.json();\n\t\t\treturn {\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\terror: json?.message || result.statusText || 'Something went wrong',\n\t\t\t\tok: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok: false\n\t\t};\n\t}catch (e){\n\t\treturn {\n\t\t\tstatusCode: 500,\n\t\t\terror: 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from '../ui/Modal';\nimport { LoadingModalStyled, LoadingModalText } from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport loadingIndicator from '../../images/loading_indicator.svg';\n\ninterface IProps {\n\tisOpen: boolean;\n\tdisableTransparency?: boolean;\n\tloadingText?: string;\n}\n\nfunction LoadingModal(props: IProps) {\n\tconst { isOpen, disableTransparency, loadingText } = props;\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} disableTransparency={!!disableTransparency}>\n\t\t\t<LoadingModalStyled disableTransparency={!!disableTransparency}>\n\t\t\t\t<Icon img={loadingIndicator} rotating />\n\t\t\t\t<LoadingModalText>{loadingText || t('loading')}</LoadingModalText>\n\t\t\t</LoadingModalStyled>\n\t\t</Modal>\n\t);\n}\n\nexport default LoadingModal;\n","import React, { ReactElement, SyntheticEvent } from 'react';\nimport { ModalStyled } from '../../styledComponents';\n\ninterface IProps {\n\tchildren: ReactElement;\n\tonClose?: () => void;\n\tisOpen: boolean;\n\tdisableTransparency: boolean;\n}\n\nfunction Modal(props: IProps) {\n\tconst { children, onClose, isOpen, disableTransparency } = props;\n\tconst handleOutsideClick = (e: SyntheticEvent<HTMLElement>) => {\n\t\tif (onClose && (e.target as HTMLElement).id === 'ui-modal') {\n\t\t\tonClose();\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t{isOpen ? (\n\t\t\t\t<ModalStyled id=\"ui-modal\" disableTransparency={disableTransparency} onClick={handleOutsideClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</ModalStyled>\n\t\t\t) : null}\n\t\t</>\n\t);\n}\n\nexport default Modal;\n","import React, {ChangeEvent, useCallback, useState} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { DivAsLink, InputContainer, InputStyled, PageConnectFooterControl, PageConnectFooterText, StatusMessage } from '../../styledComponents';\nimport { InnerContainer } from '../../styledComponents';\nimport { LoadingModal } from '../modals';\nimport { authUser, verifySmsCode } from '../../actions/actions';\nimport {buildRedirectUrl} from \"../../helpers\";\n\ninterface IProps {\n\tshadow: boolean;\n\tonBack: () => void;\n\tnumber: string;\n\tqueryString: string;\n\tauthRequestId: string;\n\ttest?:boolean;\n}\n\nfunction AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }: IProps) {\n\tconst { t } = useTranslation();\n\tconst [error, setError] = useState('');\n\tconst [smsCode, setSmsCode] = useState('');\n\tconst [resend, setResend] = useState(false);\n\tconst [resendLoading, setResendLoading] = useState(false);\n\tconst [loading, setLoading] = useState(false);\n\tconst [tooManyAttempts, setTooManyAttempts] = useState(false);\n\n\tconst handleCodeApply = useCallback(\n\t\t\tasync (e?:React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\tif(smsCode.length===6 && error.length===0 && (!e || e?.key === 'Enter')){\n\t\t\t\t\tsetLoading(true);\n\t\t\t\t\tconst response = await verifySmsCode({authRequestId, smsCode, test});\n\t\t\t\t\tif (response?.data?.access_token) {\n\t\t\t\t\t\twindow.open(buildRedirectUrl(response.data.access_token, queryString), \"_self\");\n\t\t\t\t\t} else if (response?.statusCode === 204) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetTooManyAttempts(true);\n\t\t\t\t\t\tsetError(t('too_many_attempts'));\n\t\t\t\t\t } else if (response?.error) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetError(t('this_code_doesnt_appear_to_be_valid'));\n\t\t\t\t\t }\n\n\t\t\t\t}\n\t\t\t},\n\t\t[smsCode, error, authRequestId, queryString, test]\n\t);\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleCodeApply(),\n\t\t\tdisabled: smsCode.length<6 || !!error\n\t\t}\n\t];\n\n\tconst handleResend = async () => {\n\t\tsetError('');\n\t\tsetSmsCode('');\n\t\tsetResend(false);\n\t\tsetResendLoading(true);\n\t\tconst response = await authUser({authRequestId, test});\n\t\tsetResendLoading(false);\n\t\tif (response.error) {\n\t\t\tsetError(t('failed_to_send_sms'));\n\t\t} else {\n\t\t\tsetResend(true);\n\t\t}\n\t};\n\tconst handleInput = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetError('');\n\t\tsetResend(false);\n\t\tif(/^([0-9]+)$/.test(e.target.value) || e.target.value===''){\n\t\t\tsetSmsCode(e.target.value);\n\t\t}\n\t};\n\treturn (\n\t\t<Page\n\t\t\ttitle={t('verify_your_mobile_number')}\n\t\t\tsubTitle={t('please_enter_the_sms_code_sent_to_your_mobile_number', { number })}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t\tonBack={onBack}\n\t\t\tbackDisabled={tooManyAttempts}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputStyled\n\t\t\t\t\t\tpattern=\"\\d{6}\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tautoComplete=\"one-time-code\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tmaxLength={6}\n\t\t\t\t\t\tonChange={handleInput}\n\t\t\t\t\t\tvalue={smsCode}\n\t\t\t\t\t\tfilled={smsCode.length === 6}\n\t\t\t\t\t\terror={tooManyAttempts || !!error}\n \tdisabled={tooManyAttempts}\n\t\t\t\t\t\tonKeyDown={handleCodeApply}\n\t\t\t\t\t/>\n\t\t\t\t</InputContainer>\n\t\t\t\t<PageConnectFooterControl>\n\t\t\t\t\t{resend && <StatusMessage>{t('new_sms_code_has_been_sent')}</StatusMessage>}\n\t\t\t\t\t{!!error && <StatusMessage error>{error}</StatusMessage>}\n\t\t\t\t\t<PageConnectFooterText>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('didnt_receive_the_code')} <DivAsLink disabled={tooManyAttempts || resendLoading} onClick={() => !tooManyAttempts && !resendLoading && handleResend()}>{t('resend_sms')}</DivAsLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</PageConnectFooterText>\n\t\t\t\t</PageConnectFooterControl>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default AuthScreen;\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './en/translation.json';\n\nexport const defaultNS = 'ns1';\n\n// the translations\nexport const resources = {\n\ten: {\n\t\tns1: translationEN\n\t}\n} as const;\n\ni18n.use(initReactI18next) // passes i18n down to react-i18next\n\t.init({\n\t\tresources,\n\t\tlng: 'en',\n\t\tns: ['ns1'],\n\t\tinterpolation: {\n\t\t\tescapeValue: false, // react already safes from xss\n\t\t\tprefix: '${',\n\t\t\tsuffix: '}'\n\t\t}\n\t});\n\nexport default i18n;\n","{\n\t\"back\": \"Back\",\n\t\"error\": \"Error\",\n\t\"loading\": \"Loading\",\n\t\"continue\": \"Continue\",\n\t\"to_do_this_we_will_ask_you_to\": \"To do this we will ask you to\",\n\t\"verify_your_mobile_number_bold\": \"<strong>Verify</strong> your mobile number\",\n\t\"verify_your_mobile_number\": \"Verify your mobile number\",\n\t\"consent_to_share_your_data_with_us\": \"<strong>Consent</strong> to share your data with us\",\n\t\"share_your_financial_data\": \"<strong>Share</strong> your financial data\",\n\t\"things_you_should_know\": \"Things you should know\",\n\t\"we_dont_share_your_data_without_your_consent\": \"We don’t share your data without your consent\",\n\t\"you_can_easily_stop_sharing_your_data_at_any_time\": \"You can easily stop sharing your data at any time\",\n\t\"you_can_choose_to_delete_shared_data_when_we_no_longer_need_it\": \"You can choose to delete shared data when we no longer need it\",\n\t\"by_proceeding_you_agree_to_the\": \"By proceeding, you agree to the\",\n\t\"terms_of_service\": \"Terms of service\",\n\t\"privacy_notice\": \"Privacy notice\",\n\t\"and\": \"and\",\n\t\"use_basiq_to_connect_your_accounts\": \"${name} use <strong>Basiq</strong> to connect your accounts\",\n\t\"we_use_basiq_to_connect_your_accounts\": \"We use <strong>Basiq</strong> to connect your accounts\",\n\t\"please_enter_the_sms_code_sent_to_your_mobile_number\": \"Please enter the SMS code sent to your mobile number (ending in xxx${number}).\",\n\t\"new_sms_code_has_been_sent\": \"New SMS code has been sent.\",\n\t\"this_code_doesnt_appear_to_be_valid\": \"This code doesn't appear to be valid.\",\n\t\"didnt_receive_the_code\": \"Didn’t receive the code?\",\n\t\"resend_sms\": \"Resend SMS\",\n\t\"failed_to_send_sms\": \"Failed to send SMS.\",\n\t\"page_not_found\": \"Page not found\",\n\t\"missing_authentication_token\": \"Missing Authentication Token\",\n\t\"too_many_attempts\": \"Too many attempts. Please use a new link to try again.\"\n}\n"],"mappings":"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","names":["import_react","import_styled_components","import_react","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","styled","import_styled_components","styled","theme","import_styled_components","styled","theme","import_styled_components","import_react","import_react","React","React","import_react","import_react_i18next","import_react","React","React","import_react","import_react_i18next","import_react","import_react_i18next","import_react","React","React","React","import_react","import_react_i18next","React","React","import_react_i18next","i18n","React"]}
package/dist/index.mjs CHANGED
@@ -756,7 +756,7 @@ import React7, { useEffect, useState } from "react";
756
756
  import { Trans, useTranslation as useTranslation4 } from "react-i18next";
757
757
 
758
758
  // src/actions/actions.ts
759
- var verifySmsCode = (_0) => __async(void 0, [_0], function* ({ authRequestId, smsCode, test }) {
759
+ var verifySmsCode = (_0) => __async(null, [_0], function* ({ authRequestId, smsCode, test }) {
760
760
  const body = {
761
761
  "sms-code": smsCode
762
762
  };
@@ -793,7 +793,7 @@ var verifySmsCode = (_0) => __async(void 0, [_0], function* ({ authRequestId, sm
793
793
  ok: false
794
794
  };
795
795
  });
796
- var authUser = (_0) => __async(void 0, [_0], function* ({ authRequestId, method, test }) {
796
+ var authUser = (_0) => __async(null, [_0], function* ({ authRequestId, method, test }) {
797
797
  const reqData = {
798
798
  headers: {
799
799
  "Content-Type": "application/json"
@@ -874,7 +874,7 @@ function StartScreen(props) {
874
874
  window.removeEventListener("keydown", (e) => handleUserKeyPress(e, onContinue));
875
875
  };
876
876
  }, []);
877
- const handleContinue = () => __async(this, null, function* () {
877
+ const handleContinue = () => __async(null, null, function* () {
878
878
  setLoading(true);
879
879
  if (authRequestId && !smsSent) {
880
880
  const response = yield authUser({ authRequestId, test });
@@ -920,7 +920,7 @@ function AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }
920
920
  const [loading, setLoading] = useState2(false);
921
921
  const [tooManyAttempts, setTooManyAttempts] = useState2(false);
922
922
  const handleCodeApply = useCallback(
923
- (e) => __async(this, null, function* () {
923
+ (e) => __async(null, null, function* () {
924
924
  var _a;
925
925
  if (smsCode.length === 6 && error.length === 0 && (!e || (e == null ? void 0 : e.key) === "Enter")) {
926
926
  setLoading(true);
@@ -946,7 +946,7 @@ function AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }
946
946
  disabled: smsCode.length < 6 || !!error
947
947
  }
948
948
  ];
949
- const handleResend = () => __async(this, null, function* () {
949
+ const handleResend = () => __async(null, null, function* () {
950
950
  setError("");
951
951
  setSmsCode("");
952
952
  setResend(false);
@@ -1018,7 +1018,7 @@ function App(props) {
1018
1018
  setCurrentScreen(3);
1019
1019
  };
1020
1020
  useEffect2(() => {
1021
- const getData = () => __async(this, null, function* () {
1021
+ const getData = () => __async(null, null, function* () {
1022
1022
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1023
1023
  const id = (_b = (_a = window.location.pathname) == null ? void 0 : _a.substring(1)) == null ? void 0 : _b.split("?")[0];
1024
1024
  const searchString = (_c = window.location.search) == null ? void 0 : _c.split("?")[1];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/BasiqConnect.tsx","../src/App.tsx","../src/styledComponents/ui/basic.ts","../src/styledComponents/ui/button.ts","../src/styledComponents/ui/modals.ts","../src/helpers/hookUtils.ts","../src/helpers/utils.ts","../src/helpers/constants.ts","../src/styledComponents/theme.ts","../src/styledComponents/pages/basic.ts","../src/styledComponents/breakpoints.ts","../src/styledComponents/pages/auth.ts","../src/styledComponents/pages/start.ts","../src/styledComponents/pages/notFound.ts","../src/styledComponents/base.ts","../src/styledComponents/styles.ts","../src/components/pages/Page.tsx","../src/components/ui/Button.tsx","../src/components/pages/NotFound.tsx","../src/components/ui/icon.tsx","../src/components/pages/StartScreen.tsx","../src/actions/actions.ts","../src/components/modals/LoadingModal.tsx","../src/components/ui/Modal.tsx","../src/components/pages/AuthScreen.tsx","../src/locales/i18n.ts","../src/locales/en/translation.json"],"sourcesContent":["import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport App from '../App';\nimport '../locales/i18n';\nimport { theme } from '../styledComponents';\n\nexport interface IBCProps{\n\ttest?:boolean;\n}\n\nexport function BasiqConnect(props: IBCProps) {\n\tconst {test} = props;\nreturn(\n\t<React.StrictMode>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<App test={test} />\n\t\t\t</ThemeProvider>\n\t</React.StrictMode>\n\t\t);\n\n}\n\n","import React, { createRef, SyntheticEvent, useEffect, useState } from 'react';\nimport { AppContainer, AppContainerPage, AppContainerWrapper, PageHeader, Root } from './styledComponents';\nimport GlobalStyles from './styledComponents/styles';\nimport { detectScrollToBottom } from './helpers';\nimport {AuthScreen, NotFound, Page, StartScreen} from './components/pages';\nimport { authUser } from './actions/actions';\nimport { LoadingModal } from './components/modals';\nimport {IBCProps} from \"./components/BasiqConnect\";\n\nfunction App(props:IBCProps) {\n\tconst {test} = props;\n\tconst ref = createRef<HTMLDivElement>();\n\tconst [shadow, setShadow] = useState(false);\n\tconst [currentScreen, setCurrentScreen] = useState(0);\n\tconst [loading, setLoading] = useState(true);\n\tconst [authId, setAuthId] = useState('');\n\tconst [queryString, setQueryString] = useState('');\n\tconst [mobile, setMobile] = useState('');\n\tconst [logo, setLogo] = useState('');\n\tconst [appName, setAppName] = useState('');\n\tconst [errorCode, setErrorCode] = useState('');\n\tconst [smsSent, setSmsSent] = useState(false);\n\n\tconst handleConnectionsScroll = (event: SyntheticEvent<HTMLDivElement>) => {\n\t\tsetShadow(detectScrollToBottom(event));\n\t};\n\tconst showErrorScreen = (code: string) => {\n\t\tsetErrorCode(code);\n\t\tsetCurrentScreen(3);\n\t};\n\tuseEffect(() => {\n\t\tconst getData = async () => {\n\t\t\tconst id = window.location.pathname?.substring(1)?.split('?')[0];\n\t\t\tconst searchString = window.location.search?.split('?')[1];\n\t\t\tsetQueryString(searchString);\n\t\t\tif (id?.length > 0) {\n\t\t\t\tsetAuthId(id);\n\t\t\t\tsetLoading(true);\n\t\t\t\tconst response = await authUser({authRequestId:id, method:'GET', test});\n\t\t\t\tif (response?.ok) {\n\t\t\t\t\tsetCurrentScreen(1);\n\t\t\t\t\tsetMobile(response?.data?.mobile);\n\t\t\t\t\tif (response?.data?.appName) {\n\t\t\t\t\t\tsetAppName(response?.data?.appName);\n\t\t\t\t\t}\n\t\t\t\t\tif (response?.data?.partner?.logoUrl) {\n\t\t\t\t\t\tsetLogo(response?.data?.partner?.logoUrl);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tshowErrorScreen(response?.statusCode.toString());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tshowErrorScreen('404');\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\tgetData();\n\t}, []);\n\n\n\tconst getScreen = () => {\n\t\tswitch (currentScreen) {\n\t\t\tcase 0:\n\t\t\t\treturn <Page shadow={shadow}><LoadingModal isOpen={loading} disableTransparency /></Page>;\n\t\t\tcase 1:\n\t\t\t\treturn (\n\t\t\t\t\t<StartScreen\n\t\t\t\t\t\tappName={appName}\n\t\t\t\t\t\tshadow={shadow}\n\t\t\t\t\t\tshowErrorScreen={showErrorScreen}\n\t\t\t\t\t\tonContinue={() => setCurrentScreen(2)}\n\t\t\t\t\t\tauthRequestId={authId}\n\t\t\t\t\t\tsmsSent={smsSent}\n\t\t\t\t\t\tsetSmsSent={setSmsSent}\n\t\t\t\t\t\ttest={test}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 2:\n\t\t\t\treturn <AuthScreen number={mobile} onBack={() => setCurrentScreen(1)} shadow={shadow} authRequestId={authId} test={test} queryString={queryString}/>;\n\t\t\tcase 3:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t\tdefault:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Root>\n\t\t\t<GlobalStyles />\n\t\t\t<AppContainerWrapper>\n\t\t\t\t<AppContainer onScroll={handleConnectionsScroll} ref={ref}>\n\t\t\t\t\t{logo && (\n\t\t\t\t\t\t<PageHeader>\n\t\t\t\t\t\t\t<img src={logo} alt=\"logo\" />\n\t\t\t\t\t\t</PageHeader>\n\t\t\t\t\t)}\n\t\t\t\t\t<AppContainerPage>{getScreen()}</AppContainerPage>\n\t\t\t\t</AppContainer>\n\t\t\t</AppContainerWrapper>\n\t\t</Root>\n\t);\n}\n\nexport default App;\n","import styled, { css, keyframes } from 'styled-components';\n\ninterface IIconWrapper {\n\trotating: boolean;\n}\n\nexport const rotate = keyframes`\n from {\n -ms-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -webkit-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -ms-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -webkit-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\nexport const SimpleButton = styled.button`\n\tborder-radius: 2px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tborder: none;\n\tcursor: pointer;\n\tmargin-bottom: 8px;\n\tpadding: 10px;\n`;\n\nexport const Input = styled.input`\n\theight: 48px;\n\tbackground: ${({ theme }) => theme.color.porcelainSecond};\n\tborder-radius: 2px;\n\tborder: none;\n\twidth: 100%;\n\tbox-sizing: border-box;\n\tpadding: 0 16px;\n\tcolor: ${({ theme }) => theme.color.ebony};\n\tmargin-bottom: 16px;\n\tfont-size: 16px;\n\n\t&::placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t\topacity: 1;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&::-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&:focus-visible {\n\t\toutline: none;\n\t\tbackground-color: ${({ theme }) => theme.color.spindle};\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\nexport const H4Styled = styled.h4`\n\tcursor: pointer;\n\tuser-select: none;\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const Spacer = styled.div`\n\tdisplay: flex;\n\twidth: 100%;\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n\theight: 1px;\n\tbackground-color: ${({ theme }) => theme.color.porcelain};\n`;\nexport const IconWrapper = styled.span<IIconWrapper>`\n display: flex;\n width: 22px;\n ${({ rotating }) =>\n\t\trotating &&\n\t\tcss`\n\t\t\tanimation: ${rotate} 2s linear infinite;\n\t\t`}\n };\n svg, img {\n width: 100%;\n }\n`;\n","import styled, { css } from 'styled-components';\nimport { SimpleButton } from './basic';\nimport { ButtonType } from '../../components/ui/Button';\n\nexport const ButtonLabel = styled.span`\n\tfont-size: 18px;\n`;\n\ninterface IButtonStyled {\n\tbuttonType?: ButtonType;\n\tdisabled: boolean;\n\tonClick: () => void;\n}\nexport const ButtonStyled = styled(SimpleButton)<IButtonStyled>`\n\tmin-height: 40px;\n\tjustify-content: center;\n\tbackground-color: ${(props) => props.theme.color.endeavour};\n\ttext-align: center;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: ${({ theme }) => theme.color.white};\n\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\t&:hover {\n\t\tbackground-color: ${({ theme }) => theme.color.bostonBlue};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }) => theme.color.congressBlue};\n\t}\n\t${({ buttonType, theme }) => {\n\t\tswitch (buttonType) {\n\t\t\tcase 'secondary':\n\t\t\t\treturn css`\n\t\t\t\t\tcolor: ${theme.color.ebony};\n\t\t\t\t\tbackground-color: ${theme.color.porcelainSecond};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: ${theme.color.porcelainSecondLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.ironSecond};\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tcase 'tiny':\n\t\t\t\treturn css`\n\t\t\t\t\twidth: auto;\n\t\t\t\t\tmin-height: 32px;\n\t\t\t\t\tpadding: 6px 16px;\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tcolor: ${theme.color.cyprus};\n\t\t\t\t\tbackground-color: ${theme.color.hokeyPokey};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground-color: ${theme.color.hokeyPokeyLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.anzac};\n\t\t\t\t\t}\n\t\t\t\t`;\n\n\t\t\tcase 'back':\n\t\t\t\treturn css`\n\t\t\t\t\tbackground: none;\n\t\t\t\t\tjustify-content: initial;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmin-height: unset;\n\t\t\t\t\tcolor: ${theme.color.casper};\n\t\t\t\t\twidth: auto;\n\t\t\t\t\timg {\n\t\t\t\t\t\twidth: 25px;\n\t\t\t\t\t\tfilter: invert(68%) sepia(13%) saturate(348%) hue-rotate(155deg) brightness(91%) contrast(94%);\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(31%) sepia(10%) saturate(313%) hue-rotate(155deg) brightness(96%) contrast(87%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tcolor: ${theme.color.jumbo};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(49%) sepia(0%) saturate(5%) hue-rotate(29deg) brightness(99%) contrast(83%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:disabled {\n\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\tbackground-color: unset !important;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}}\n\timg {\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tmargin-right: 3px;\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\n","import styled from 'styled-components';\nimport { hexToRGBa } from '../../helpers';\nimport { IconWrapper } from './basic';\n\ninterface IModalStyled {\n\tdisableTransparency: boolean;\n}\n\nexport const ModalStyled = styled.div<IModalStyled>`\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ${({ theme, disableTransparency }) => (disableTransparency ? theme.color.jumbo : hexToRGBa(theme.color.blackPearl, 0.7))};\n\tz-index: 1000000000;\n\tpadding: 16px;\n\n\ta {\n\t\tmargin-bottom: 8px;\n\t}\n`;\nexport const LoadingModalStyled = styled.div<IModalStyled>`\n\tbox-shadow: ${({ theme, disableTransparency }) => (disableTransparency ? 'none' : `0 1px 2px ${hexToRGBa(theme.color.blueBayoux, 0.3)}`)};\n\tborder-radius: 2px;\n\tpadding: 16px 12px;\n\tfont-size: 16px;\n\tline-height: 16px;\n\tcolor: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\n\t${IconWrapper} {\n\t\tfilter: invert(1);\n\t\tmargin-bottom: 15px;\n\t\twidth: 48px;\n\t}\n`;\nexport const LoadingModalText = styled.span`\n\tfont-size: 18px;\n\twhite-space: pre-line;\n\ttext-align: center;\n\tline-height: 30px;\n`;\n","import { useRef } from 'react';\n\nexport const useFocus = () => {\n\tconst htmlElRef = useRef<HTMLInputElement>(null);\n\tconst setFocus = () => htmlElRef.current && htmlElRef.current.focus();\n\n\treturn [htmlElRef, setFocus];\n};\n","import { SyntheticEvent } from 'react';\n\nexport function detectScrollToBottom(event: SyntheticEvent<HTMLDivElement>) {\n\tconst { scrollHeight, scrollTop, clientHeight } = event.currentTarget;\n\treturn scrollHeight - scrollTop > clientHeight;\n}\n\nexport const hexToRGBa = (hex: string, opacity: number) => {\n\tconst hexToRGBA = hex.match(/[A-Za-z0-9]{2}/g)?.map((v) => parseInt(v, 16));\n\tconst opp = opacity > 1 && opacity < 0 ? 1 : opacity;\n\treturn `rgba(${hexToRGBA?.concat(opp).join()})`;\n};\nexport const handleUserKeyPress = (e: KeyboardEvent, onEnter:()=>void) =>{\n\tconst { keyCode } = e;\n\tif(keyCode===13){\n\t\tonEnter()\n\t}\n}\nexport const buildRedirectUrl = (token:string, queryString:string):string => `https://consent.basiq.io/home?token=${token}${queryString ? '&'+queryString : ''}`;\n"," export const DASHBOARD_API_URL_TEST = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';\nexport const DASHBOARD_API_URL = 'https://p4c8zn20r9.execute-api.ap-southeast-2.amazonaws.com/Production_v1/';\n","export const theme = {\n\tcolor: {\n\t\twhite: '#fff',\n\t\tporcelain: '#e2E8Ea',\n\t\tporcelainSecond: '#f5F7F8',\n\t\tporcelainLight: '#e5Eaec',\n\t\tporcelainSecondLight: '#f7F9F9',\n\t\tiron: '#cbd1D3',\n\t\tironSecond: '#dcdedf',\n\t\tcasper: '#90a4Ae',\n\t\tmercury: '#e5E5E5',\n\t\tdodgerBlue: '#4c6Cff',\n\t\tdodgerBlueLight: '#5e7Bff',\n\t\troyalBlue: '#4461e6',\n\t\tbostonBlue: '#367ab9',\n\t\tendeavour: '#0459a8',\n\t\tcongressBlue: '#045097',\n\t\tbrilliantBlue: '#0075dc',\n\t\tcuriousBlue: '#2784da',\n\t\ticeberg: '#cdf2ed',\n\t\tlinkWater: '#cddeee',\n\t\tspindle: '#b4Cde5',\n\t\tcyprus: '#002d3C',\n\t\tgossamer: '#06bea6',\n\t\temerald: '#4fc35A',\n\t\thokeyPokey: '#fabe34',\n\t\thokeyPokeyLight: '#f9C858',\n\t\tanzac: '#e1B141',\n\t\tcerise: '#d63F5a',\n\t\tsunsetOrange: '#fe493f',\n\t\twePeep: '#f7d9de',\n\t\tebony: '#130f26',\n\t\tabbey: '#4e5457',\n\t\tosloGrey: '#7f888c',\n\t\tloblolly: '#c1c8cc',\n\t\tjumbo: '#7d7d84',\n\t\tblackPearl: '#061D24',\n\t\tblueBayoux: '#4b6a75'\n\t},\n\tmixin: {\n\t\tsubtitle: () => ` margin-top: 32px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;`,\n\n\t\ttitle: () => ` font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 0;\n color: #130f26;\n white-space: pre-line;\n `\n\t}\n};\nexport type ThemeType = typeof theme;\n","import styled, { css } from 'styled-components';\nimport { ButtonStyled } from '../ui';\nimport { hexToRGBa } from '../../helpers';\nimport { devices } from '../breakpoints';\n\ninterface IPageStyledProps {\n\tbuttonCount?: number;\n\thorizontal?: boolean;\n}\n\ninterface IStatusMessage {\n\terror?: boolean;\n}\n\ninterface IPageControlsSectionProps {\n\tnotEmpty: boolean;\n}\ninterface IHorizontalProps {\n\thorizontal?: boolean;\n}\nexport const PageStyled = styled.div<IPageStyledProps>`\n\twidth: 100%;\n\theight: 100%;\n\t${({ buttonCount, horizontal }) =>\n\t\tbuttonCount && buttonCount > 0\n\t\t\t? horizontal\n\t\t\t\t? 'padding-bottom: 96px;'\n\t\t\t\t: `padding-bottom: ${46 + 50 * buttonCount}px;`\n\t\t\t: 'padding-bottom: 16px;'}\n`;\nexport const PageSubtitle = styled.div`\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const PageMainContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n`;\nexport const PageControlsSection = styled.div<IPageControlsSectionProps>`\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\t${({ notEmpty }) => `padding: ${notEmpty ? '16px' : '0'}`};\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tborder-top: 1px solid ${({ theme }) => theme.color.porcelainLight};\n`;\nexport const PageShadowWrapper = styled.div<IHorizontalProps>`\n\twidth: 100%;\n\t${({ horizontal }) =>\n\t\thorizontal &&\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\n\t\t\t${ButtonStyled} {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-right: 16px;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-right: unset;\n\t\t\t\t}\n\t\t\t}\n\t\t`}\n`;\nexport const PageShadow = styled.div`\n\tposition: absolute;\n\theight: 71px;\n\tleft: 0;\n\tright: 0;\n\ttop: -71px;\n\tbackground: linear-gradient(180deg, #cecece 0%, ${hexToRGBa('#cecece', 0)} 100%);\n\topacity: 0.8;\n\ttransform: rotate(-180deg);\n\tpointer-events: none;\n`;\nexport const PageHeader = styled.header`\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: unset;\n\tpadding: 16px 0;\n\tbox-sizing: border-box;\n\tmax-height: 150px;\n\theight: 100%;\n\t${devices.phone} {\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tmargin-bottom: 0;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t${devices.phone} {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n`;\n\nexport const PageContent = styled.div`\n\twidth: 100%;\n`;\nexport const StatusMessage = styled.div<IStatusMessage>`\n\twidth: 100%;\n\tbackground: ${({ theme, error }) => (error ? theme.color.wePeep : theme.color.iceberg)};\n\tborder-radius: 4px;\n\tpadding: 11px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: 400;\n\tfont-size: 14px;\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.gossamer)};\n\tmargin-bottom: 16px;\n`;\n","const breakpoints = {\n\tmobileS: '320px',\n\tmobileL: '480px',\n\ttabletMinus: '767px',\n\ttabletH: '781px',\n\ttablet: '768px',\n\ttabletL: '992px',\n\tlaptop: '1024px',\n\tlaptopH: '1080px',\n\tlaptopXS: '1110px',\n\tlaptopS: '1280px',\n\tlaptopM: '1366px',\n\tlaptopL: '1440px',\n\tlaptopXL: '1540px',\n\tdesktopS: '1800px',\n\tdesktop: '2560px'\n};\nexport const devices = {\n\tfold: `@media only screen and (max-width: ${breakpoints.mobileS})`,\n\tphoneXs: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\tphone: `@media only screen and (max-width: ${breakpoints.tabletMinus})`,\n\tphoneLandscape: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\ttabletOnly: `@media only screen and (min-width: ${breakpoints.tablet}) and (max-width: ${breakpoints.tabletL})`,\n\tiPadProLandscape: `@media only screen and (height: ${breakpoints.laptop}) and (width: ${breakpoints.laptopM})`,\n\tiPadProPortrait: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.laptopM})`,\n\tiPad: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.tablet}) `,\n\ttablet: `@media only screen and (max-width: ${breakpoints.tabletL}) `,\n\tdesktop: `@media only screen and (min-height: ${breakpoints.tabletH} ) and (min-width: ${breakpoints.laptopS} ) `,\n\tlaptop: `@media only screen and (max-width: ${breakpoints.laptopS}) `,\n\tlaptopRegularScreenWidth: `@media only screen (max-height: ${breakpoints.laptopXS}) and and (max-width: ${breakpoints.laptopXL}) `,\n\tbigDesktop: `@media only screen and (min-width: ${breakpoints.desktopS}) and (min-height: ${breakpoints.laptopH})) `\n};\n","import styled from 'styled-components';\n\ninterface IInputStyled {\n\tfilled: boolean;\n\terror: boolean;\n}\ninterface IDivAsLink {\n\tdisabled: boolean;\n}\n\nexport const PageConnectFooterControl = styled.div`\n\tposition: absolute;\n\tbottom: 80px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tleft: 0;\n\tflex-direction: column;\n\tbox-sizing: border-box;\n\tpadding: 16px;\n`;\nexport const PageConnectFooterText = styled.span`\n\tcolor: ${({ theme }) => theme.color.abbey};\n\tfont-size: 12px;\n`;\n\nexport const InputStyled = styled.input<IInputStyled>`\n\twidth: 100%;\n\theight: 64px;\n\tbackground: ${({ theme, filled, error }) => (error ? theme.color.wePeep : filled ? theme.color.linkWater : theme.color.porcelainSecond)};\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.endeavour)};\n\tborder-radius: 2px;\n\ttext-align: center;\n\tfont-size: 32px;\n\tborder: none;\n\tbox-shadow: none;\n\tletter-spacing: 20px;\n\ttext-indent: 20px;\n`;\n\nexport const InputContainer = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\nexport const DivAsLink = styled.div<IDivAsLink>`\n\tcolor: ${({ theme, disabled }) => disabled? theme.color.casper : theme.color.endeavour};\n\tdisplay: inherit;\n\tcursor: ${({ disabled }) => disabled? 'not-allowed': 'pointer'};\n`;\n","import styled from 'styled-components';\n\nexport const InnerContainer = styled.div`\n\twidth: 100%;\n`;\n","import styled from 'styled-components';\nimport { IconWrapper } from '../ui';\nimport { PageContent, PageMainContainer } from './basic';\n\ninterface IStatusScreenCircleContainer {\n\ttype: 'success' | 'warning' | 'error';\n}\n\nexport const PageStatusScreenMain = styled(PageMainContainer)`\n\theight: 100%;\n`;\nexport const PageStatusScreenContent = styled(PageContent)`\n\theight: inherit;\n\twidth: 100%;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: center;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\nexport const StatusScreenCircleContainer = styled.div<IStatusScreenCircleContainer>`\n\twidth: 64px;\n\theight: 64px;\n\tbackground-color: ${({ theme, type }) => {\n\t\tswitch (type) {\n\t\t\tcase 'success':\n\t\t\t\treturn theme.color.emerald;\n\t\t\tcase 'error':\n\t\t\t\treturn theme.color.sunsetOrange;\n\t\t\tcase 'warning':\n\t\t\t\treturn theme.color.hokeyPokey;\n\t\t\tdefault:\n\t\t\t\treturn theme.color.porcelain;\n\t\t}\n\t}};\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 24px;\n\n\t${IconWrapper} {\n\t\twidth: 40px;\n\t\tcolor: ${({ theme }) => theme.color.white};\n\t}\n`;\nexport const StatusScreenErrorCode = styled.span`\n\tfont-size: 12px;\n\tmargin-top: 16px;\n\tcolor: ${({ theme }) => theme.color.osloGrey};\n`;\nexport const PageSuccessImgContainer = styled.div`\n\tmargin-bottom: 24px;\n\twidth: 64px;\n\theight: 64px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\toverflow: hidden;\n\timg {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n`;\n","import styled from 'styled-components';\nimport { devices } from './breakpoints';\n\nexport const Root = styled.div`\n\twhite-space: pre-line;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: fixed;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\ttransform: translate(0, -50%);\n\theight: 100%;\n\tmax-height: 812px;\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: ${({ theme }) => theme.color.endeavour};\n\t}\n\th3 {\n\t\tfont-weight: normal;\n\t\t${({ theme }) => theme.mixin.title()};\n\t\tstrong {\n\t\t\t${({ theme }) => theme.mixin.title()};\n\t\t}\n\t}\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-height: none;\n\t\tpadding: 0;\n\t}\n`;\nexport const AppContainer = styled.div`\n\twidth: 539px;\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 100%;\n\n\t${devices.phone} {\n\t\twidth: 100%;\n\t}\n\n\t&::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\t-ms-overflow-style: none;\n\tscrollbar-width: none;\n\toverflow-y: scroll;\n`;\nexport const AppContainerWrapper = styled.div`\n\theight: 100%;\n\tposition: relative;\n\tborder: 1px solid ${({ theme }) => theme.color.porcelain};\n\tborder-radius: 8px;\n\toverflow: hidden;\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\tborder-radius: unset;\n\t\tborder: unset;\n\t}\n`;\nexport const AppContainerPage = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport MarkW1GBook from '../fonts/Mark-W1G-Book.otf';\nimport MarkW1GBold from '../fonts/Mark-W1G-Bold.otf';\n\nexport default createGlobalStyle`\n \n@font-face {\n font-family: MarkW1G;\n src: url(${MarkW1GBook}) format('opentype');\n }\n @font-face {\n font-family: MarkW1G;\n font-weight: bold;\n src: url(${MarkW1GBold}) format('opentype');\n }\n\nbody{\n font-family: 'MarkW1G', sans-serif;\n}\nbody * {\n font-family: 'MarkW1G', sans-serif;\n font-size: 14px;\n font-style: normal;\n}\n`;\n","import React, { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '../ui';\nimport { PageControlsSection, PageMainContainer, PageShadow, PageShadowWrapper, PageStyled, PageSubtitle } from '../../styledComponents';\nimport { ButtonType } from '../ui/Button';\n\ninterface IProps {\n\tbuttons?: IButton[];\n\tchildren: ReactElement;\n\ttitle?: string | ReactElement;\n\tsubTitle?: string;\n\tshadow: boolean;\n\tonBack?: () => void;\n\tbackDisabled?: boolean;\n}\n\nexport interface IButton {\n\tlabel: string;\n\tonClick: () => void;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Page(props: IProps) {\n\tconst { buttons, children, title, subTitle, shadow, onBack, backDisabled } = props;\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<PageStyled buttonCount={buttons?.length}>\n\t\t\t{onBack && <Button onClick={onBack} label={t('back')} buttonType=\"back\" disabled={backDisabled}/>}\n\t\t\t{title && <h3>{title}</h3>}\n\t\t\t{subTitle && <PageSubtitle>{subTitle}</PageSubtitle>}\n\t\t\t<PageMainContainer>{children}</PageMainContainer>\n\t\t\t<PageControlsSection notEmpty={(buttons?.length ?? 0) > 0}>\n\t\t\t\t<PageShadowWrapper>\n\t\t\t\t\t{shadow && <PageShadow />}\n\t\t\t\t\t{buttons?.map((b, index) => (\n\t\t\t\t\t\t<Button key={index} onClick={b.onClick} label={b.label} buttonType={b.buttonType} disabled={b.disabled} />\n\t\t\t\t\t))}\n\t\t\t\t</PageShadowWrapper>\n\t\t\t</PageControlsSection>\n\t\t</PageStyled>\n\t);\n}\n\nexport default Page;\n","import React from 'react';\nimport { ButtonLabel, ButtonStyled } from '../../styledComponents';\nimport back from '../../images/back.svg';\n\nexport type ButtonType = 'secondary' | 'tiny' | 'link' | 'back';\n\ninterface Props {\n\tonClick: () => void;\n\tlabel: string;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Button(props: Props) {\n\tconst { onClick, label, buttonType, disabled } = props;\n\treturn (\n\t\t<ButtonStyled buttonType={buttonType} disabled={disabled || false} onClick={onClick}>\n\t\t\t{buttonType === 'back' && <img src={back} alt=\"\" />}\n\t\t\t<ButtonLabel> {label || ''}</ButtonLabel>\n\t\t</ButtonStyled>\n\t);\n}\n\nexport default Button;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tPageControlsSection,\n\tPageShadowWrapper,\n\tPageStatusScreenContent,\n\tPageStatusScreenMain,\n\tPageStyled,\n\tStatusScreenCircleContainer,\n\tStatusScreenErrorCode\n} from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport Page from './Page';\nimport err from '../../images/error.svg';\n\ninterface IProps {\n\tmessageCode?: string;\n}\n\nfunction NotFound({ messageCode = '404' }: IProps) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t<Page shadow={false}>\n\t\t\t<PageStyled>\n\t\t\t\t<PageStatusScreenMain>\n\t\t\t\t\t<PageStyled>\n\t\t\t\t\t\t<PageStatusScreenContent>\n\t\t\t\t\t\t\t<StatusScreenCircleContainer type=\"warning\">\n\t\t\t\t\t\t\t\t<Icon img={err} rotating={false} />\n\t\t\t\t\t\t\t</StatusScreenCircleContainer>\n\t\t\t\t\t\t\t<span>{t('page_not_found')}</span>\n\t\t\t\t\t\t\t<StatusScreenErrorCode>{`${t('error')}: ${messageCode}`}</StatusScreenErrorCode>\n\t\t\t\t\t\t</PageStatusScreenContent>\n\t\t\t\t\t</PageStyled>\n\t\t\t\t</PageStatusScreenMain>\n\t\t\t\t<PageControlsSection notEmpty={false}>\n\t\t\t\t\t<PageShadowWrapper />\n\t\t\t\t</PageControlsSection>\n\t\t\t</PageStyled>\n\t\t</Page>\n\t);\n}\n\nexport default NotFound;\n","import React from 'react';\nimport { IconWrapper } from '../../styledComponents';\n\ninterface IProps {\n\trotating: boolean;\n\timg: string;\n}\n\nfunction Icon(props: IProps) {\n\tconst { rotating, img } = props;\n\treturn (\n\t\t<IconWrapper rotating={rotating}>\n\t\t\t<img src={img} alt=\"\" />\n\t\t</IconWrapper>\n\t);\n}\n\nexport default Icon;\n","import React, {useEffect, useState} from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { H4Styled, Spacer, InnerContainer } from '../../styledComponents';\nimport { authUser } from '../../actions/actions';\nimport { LoadingModal } from '../modals';\nimport {handleUserKeyPress} from \"../../helpers\";\n\ninterface IProps {\n\tonContinue: () => void;\n\tshowErrorScreen: (code:string) => void;\n\tshadow: boolean;\n\tappName: string;\n\tauthRequestId?: string;\n\tsmsSent:boolean\n\tsetSmsSent: (code: boolean) => void;\n\ttest?: boolean;\n}\n\nfunction StartScreen(props: IProps) {\n\tconst { onContinue, appName, shadow, authRequestId, showErrorScreen, smsSent, setSmsSent, test } = props;\n\tconst [loading, setLoading] = useState(false);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\t\t};\n\t}, []);\n\tconst handleContinue = async () => {\n\t\tsetLoading(true);\n\t\tif(authRequestId && !smsSent) {\n\t\t\tconst response = await authUser({authRequestId, test});\n\t\t\tif (response?.ok) {\n\t\t\t\tsetSmsSent(true);\n\t\t\t\tsetLoading(false);\n\t\t\t\tonContinue();\n\t\t\t} else {\n\t\t\t\tshowErrorScreen(response?.statusCode.toString())\n\t\t\t}\n\t\t} else if(smsSent) {\n\t\t\tsetLoading(false);\n\t\t\tonContinue();\n\t\t}\n\n\t};\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleContinue()\n\t\t}\n\t];\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tappName ? (\n\t\t\t\t\t<Trans t={t} i18nKey=\"use_basiq_to_connect_your_accounts\" values={{ name: appName }} components={{ bold: <strong /> }} />\n\t\t\t\t) : (\n\t\t\t\t\t<Trans t={t} i18nKey=\"we_use_basiq_to_connect_your_accounts\" components={{ bold: <strong /> }} />\n\t\t\t\t)\n\t\t\t}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<Spacer />\n\t\t\t\t<H4Styled>{t('to_do_this_we_will_ask_you_to')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"verify_your_mobile_number_bold\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"consent_to_share_your_data_with_us\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"share_your_financial_data\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<H4Styled>{t('things_you_should_know')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>{t('we_dont_share_your_data_without_your_consent')}</li>\n\t\t\t\t\t<li>{t('you_can_easily_stop_sharing_your_data_at_any_time')}</li>\n\t\t\t\t\t<li>{t('you_can_choose_to_delete_shared_data_when_we_no_longer_need_it')}</li>\n\t\t\t\t</ul>\n\t\t\t\t<Spacer />\n\t\t\t\t<span>\n\t\t\t\t\t<>\n\t\t\t\t\t{t('by_proceeding_you_agree_to_the')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/415750-basiq-terms-of-service\" rel=\"noreferrer\" target=\"_blank\">{t('terms_of_service')}</a> {t('and')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/382581-basiq-privacy-policy\" rel=\"noreferrer\" target=\"_blank\">{t('privacy_notice')}</a>\n\t\t\t\t\t</>\n\t\t\t\t</span>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default StartScreen;\n","import {DASHBOARD_API_URL, DASHBOARD_API_URL_TEST} from '../helpers';\n\nexport const verifySmsCode = async ({authRequestId, smsCode, test}:{authRequestId: string, smsCode: string, test?:boolean}) => {\n\tconst body = {\n\t\t'sms-code': smsCode\n\t};\n\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\tAuthorization: `Basic SMS_CODE:${authRequestId}`\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: JSON.stringify(body)\n\t};\n\n\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}/token`, reqData);\n\n\tif (result.status >= 200 && result.status < 300) {\n\t\tconst json = result.status === 204 ? null : await result.json();\n\t\treturn {\n\t\t\tdata: json,\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\tok:true\n\t\t};\n\t}\n\tif (result.status >= 400) {\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n\treturn {\n\t\theaders: result.headers,\n\t\tstatusCode: result.status,\n\t\terror: result.statusText || 'Something went wrong',\n\t\tok:false\n\t};\n};\n\nexport const authUser = async ({authRequestId, method, test}:{authRequestId: string, method?: 'POST' | 'GET', test?:boolean}) => {\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: method || 'POST'\n\t};\n\ttry{\n\t\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}`, reqData);\n\n\t\tif (result.status >= 200 && result.status < 300) {\n\t\t\tconst json = result.status === 204 ? null : await result.json();\n\t\t\treturn {\n\t\t\t\tdata: json,\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\tok: true\n\t\t\t};\n\t\t}\n\t\tif (result.status >= 400) {\n\t\t\tconst json = [403, 404].includes(result.status) ? null : await result.json();\n\t\t\treturn {\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\terror: json?.message || result.statusText || 'Something went wrong',\n\t\t\t\tok: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok: false\n\t\t};\n\t}catch (e){\n\t\treturn {\n\t\t\tstatusCode: 500,\n\t\t\terror: 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from '../ui/Modal';\nimport { LoadingModalStyled, LoadingModalText } from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport loadingIndicator from '../../images/loading_indicator.svg';\n\ninterface IProps {\n\tisOpen: boolean;\n\tdisableTransparency?: boolean;\n\tloadingText?: string;\n}\n\nfunction LoadingModal(props: IProps) {\n\tconst { isOpen, disableTransparency, loadingText } = props;\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} disableTransparency={!!disableTransparency}>\n\t\t\t<LoadingModalStyled disableTransparency={!!disableTransparency}>\n\t\t\t\t<Icon img={loadingIndicator} rotating />\n\t\t\t\t<LoadingModalText>{loadingText || t('loading')}</LoadingModalText>\n\t\t\t</LoadingModalStyled>\n\t\t</Modal>\n\t);\n}\n\nexport default LoadingModal;\n","import React, { ReactElement, SyntheticEvent } from 'react';\nimport { ModalStyled } from '../../styledComponents';\n\ninterface IProps {\n\tchildren: ReactElement;\n\tonClose?: () => void;\n\tisOpen: boolean;\n\tdisableTransparency: boolean;\n}\n\nfunction Modal(props: IProps) {\n\tconst { children, onClose, isOpen, disableTransparency } = props;\n\tconst handleOutsideClick = (e: SyntheticEvent<HTMLElement>) => {\n\t\tif (onClose && (e.target as HTMLElement).id === 'ui-modal') {\n\t\t\tonClose();\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t{isOpen ? (\n\t\t\t\t<ModalStyled id=\"ui-modal\" disableTransparency={disableTransparency} onClick={handleOutsideClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</ModalStyled>\n\t\t\t) : null}\n\t\t</>\n\t);\n}\n\nexport default Modal;\n","import React, {ChangeEvent, useCallback, useState} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { DivAsLink, InputContainer, InputStyled, PageConnectFooterControl, PageConnectFooterText, StatusMessage } from '../../styledComponents';\nimport { InnerContainer } from '../../styledComponents';\nimport { LoadingModal } from '../modals';\nimport { authUser, verifySmsCode } from '../../actions/actions';\nimport {buildRedirectUrl} from \"../../helpers\";\n\ninterface IProps {\n\tshadow: boolean;\n\tonBack: () => void;\n\tnumber: string;\n\tqueryString: string;\n\tauthRequestId: string;\n\ttest?:boolean;\n}\n\nfunction AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }: IProps) {\n\tconst { t } = useTranslation();\n\tconst [error, setError] = useState('');\n\tconst [smsCode, setSmsCode] = useState('');\n\tconst [resend, setResend] = useState(false);\n\tconst [resendLoading, setResendLoading] = useState(false);\n\tconst [loading, setLoading] = useState(false);\n\tconst [tooManyAttempts, setTooManyAttempts] = useState(false);\n\n\tconst handleCodeApply = useCallback(\n\t\t\tasync (e?:React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\tif(smsCode.length===6 && error.length===0 && (!e || e?.key === 'Enter')){\n\t\t\t\t\tsetLoading(true);\n\t\t\t\t\tconst response = await verifySmsCode({authRequestId, smsCode, test});\n\t\t\t\t\tif (response?.data?.access_token) {\n\t\t\t\t\t\twindow.open(buildRedirectUrl(response.data.access_token, queryString), \"_self\");\n\t\t\t\t\t} else if (response?.statusCode === 204) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetTooManyAttempts(true);\n\t\t\t\t\t\tsetError(t('too_many_attempts'));\n\t\t\t\t\t } else if (response?.error) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetError(t('this_code_doesnt_appear_to_be_valid'));\n\t\t\t\t\t }\n\n\t\t\t\t}\n\t\t\t},\n\t\t[smsCode, error, authRequestId, queryString, test]\n\t);\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleCodeApply(),\n\t\t\tdisabled: smsCode.length<6 || !!error\n\t\t}\n\t];\n\n\tconst handleResend = async () => {\n\t\tsetError('');\n\t\tsetSmsCode('');\n\t\tsetResend(false);\n\t\tsetResendLoading(true);\n\t\tconst response = await authUser({authRequestId, test});\n\t\tsetResendLoading(false);\n\t\tif (response.error) {\n\t\t\tsetError(t('failed_to_send_sms'));\n\t\t} else {\n\t\t\tsetResend(true);\n\t\t}\n\t};\n\tconst handleInput = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetError('');\n\t\tsetResend(false);\n\t\tif(/^([0-9]+)$/.test(e.target.value) || e.target.value===''){\n\t\t\tsetSmsCode(e.target.value);\n\t\t}\n\t};\n\treturn (\n\t\t<Page\n\t\t\ttitle={t('verify_your_mobile_number')}\n\t\t\tsubTitle={t('please_enter_the_sms_code_sent_to_your_mobile_number', { number })}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t\tonBack={onBack}\n\t\t\tbackDisabled={tooManyAttempts}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputStyled\n\t\t\t\t\t\tpattern=\"\\d{6}\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tautoComplete=\"one-time-code\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tmaxLength={6}\n\t\t\t\t\t\tonChange={handleInput}\n\t\t\t\t\t\tvalue={smsCode}\n\t\t\t\t\t\tfilled={smsCode.length === 6}\n\t\t\t\t\t\terror={tooManyAttempts || !!error}\n \tdisabled={tooManyAttempts}\n\t\t\t\t\t\tonKeyDown={handleCodeApply}\n\t\t\t\t\t/>\n\t\t\t\t</InputContainer>\n\t\t\t\t<PageConnectFooterControl>\n\t\t\t\t\t{resend && <StatusMessage>{t('new_sms_code_has_been_sent')}</StatusMessage>}\n\t\t\t\t\t{!!error && <StatusMessage error>{error}</StatusMessage>}\n\t\t\t\t\t<PageConnectFooterText>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('didnt_receive_the_code')} <DivAsLink disabled={tooManyAttempts || resendLoading} onClick={() => !tooManyAttempts && !resendLoading && handleResend()}>{t('resend_sms')}</DivAsLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</PageConnectFooterText>\n\t\t\t\t</PageConnectFooterControl>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default AuthScreen;\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './en/translation.json';\n\nexport const defaultNS = 'ns1';\n\n// the translations\nexport const resources = {\n\ten: {\n\t\tns1: translationEN\n\t}\n} as const;\n\ni18n.use(initReactI18next) // passes i18n down to react-i18next\n\t.init({\n\t\tresources,\n\t\tlng: 'en',\n\t\tns: ['ns1'],\n\t\tinterpolation: {\n\t\t\tescapeValue: false, // react already safes from xss\n\t\t\tprefix: '${',\n\t\t\tsuffix: '}'\n\t\t}\n\t});\n\nexport default i18n;\n","{\n\t\"back\": \"Back\",\n\t\"error\": \"Error\",\n\t\"loading\": \"Loading\",\n\t\"continue\": \"Continue\",\n\t\"to_do_this_we_will_ask_you_to\": \"To do this we will ask you to\",\n\t\"verify_your_mobile_number_bold\": \"<strong>Verify</strong> your mobile number\",\n\t\"verify_your_mobile_number\": \"Verify your mobile number\",\n\t\"consent_to_share_your_data_with_us\": \"<strong>Consent</strong> to share your data with us\",\n\t\"share_your_financial_data\": \"<strong>Share</strong> your financial data\",\n\t\"things_you_should_know\": \"Things you should know\",\n\t\"we_dont_share_your_data_without_your_consent\": \"We don’t share your data without your consent\",\n\t\"you_can_easily_stop_sharing_your_data_at_any_time\": \"You can easily stop sharing your data at any time\",\n\t\"you_can_choose_to_delete_shared_data_when_we_no_longer_need_it\": \"You can choose to delete shared data when we no longer need it\",\n\t\"by_proceeding_you_agree_to_the\": \"By proceeding, you agree to the\",\n\t\"terms_of_service\": \"Terms of service\",\n\t\"privacy_notice\": \"Privacy notice\",\n\t\"and\": \"and\",\n\t\"use_basiq_to_connect_your_accounts\": \"${name} use <strong>Basiq</strong> to connect your accounts\",\n\t\"we_use_basiq_to_connect_your_accounts\": \"We use <strong>Basiq</strong> to connect your accounts\",\n\t\"please_enter_the_sms_code_sent_to_your_mobile_number\": \"Please enter the SMS code sent to your mobile number (ending in xxx${number}).\",\n\t\"new_sms_code_has_been_sent\": \"New SMS code has been sent.\",\n\t\"this_code_doesnt_appear_to_be_valid\": \"This code doesn't appear to be valid.\",\n\t\"didnt_receive_the_code\": \"Didn’t receive the code?\",\n\t\"resend_sms\": \"Resend SMS\",\n\t\"failed_to_send_sms\": \"Failed to send SMS.\",\n\t\"page_not_found\": \"Page not found\",\n\t\"missing_authentication_token\": \"Missing Authentication Token\",\n\t\"too_many_attempts\": \"Too many attempts. Please use a new link to try again.\"\n}\n"],"mappings":"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","names":["React","React","useEffect","useState","theme","styled","css","styled","theme","css","styled","styled","theme","styled","css","styled","theme","css","styled","theme","styled","styled","styled","theme","styled","styled","theme","React","React","React","useTranslation","React","React","useTranslation","React","React","useTranslation","React","useTranslation","React","React","useTranslation","React","useTranslation","React","React","useState","useTranslation","useTranslation","useState","React","useState","useEffect","React","React"]}
1
+ {"version":3,"sources":["../src/components/BasiqConnect.tsx","../src/App.tsx","../src/styledComponents/ui/basic.ts","../src/styledComponents/ui/button.ts","../src/styledComponents/ui/modals.ts","../src/helpers/hookUtils.ts","../src/helpers/utils.ts","../src/helpers/constants.ts","../src/styledComponents/theme.ts","../src/styledComponents/pages/basic.ts","../src/styledComponents/breakpoints.ts","../src/styledComponents/pages/auth.ts","../src/styledComponents/pages/start.ts","../src/styledComponents/pages/notFound.ts","../src/styledComponents/base.ts","../src/styledComponents/styles.ts","../src/components/pages/Page.tsx","../src/components/ui/Button.tsx","../src/components/pages/NotFound.tsx","../src/components/ui/icon.tsx","../src/components/pages/StartScreen.tsx","../src/actions/actions.ts","../src/components/modals/LoadingModal.tsx","../src/components/ui/Modal.tsx","../src/components/pages/AuthScreen.tsx","../src/locales/i18n.ts","../src/locales/en/translation.json"],"sourcesContent":["import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport App from '../App';\nimport '../locales/i18n';\nimport { theme } from '../styledComponents';\n\nexport interface IBCProps{\n\ttest?:boolean;\n}\n\nexport function BasiqConnect(props: IBCProps) {\n\tconst {test} = props;\nreturn(\n\t<React.StrictMode>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<App test={test} />\n\t\t\t</ThemeProvider>\n\t</React.StrictMode>\n\t\t);\n\n}\n\n","import React, { createRef, SyntheticEvent, useEffect, useState } from 'react';\nimport { AppContainer, AppContainerPage, AppContainerWrapper, PageHeader, Root } from './styledComponents';\nimport GlobalStyles from './styledComponents/styles';\nimport { detectScrollToBottom } from './helpers';\nimport {AuthScreen, NotFound, Page, StartScreen} from './components/pages';\nimport { authUser } from './actions/actions';\nimport { LoadingModal } from './components/modals';\nimport {IBCProps} from \"./components/BasiqConnect\";\n\nfunction App(props:IBCProps) {\n\tconst {test} = props;\n\tconst ref = createRef<HTMLDivElement>();\n\tconst [shadow, setShadow] = useState(false);\n\tconst [currentScreen, setCurrentScreen] = useState(0);\n\tconst [loading, setLoading] = useState(true);\n\tconst [authId, setAuthId] = useState('');\n\tconst [queryString, setQueryString] = useState('');\n\tconst [mobile, setMobile] = useState('');\n\tconst [logo, setLogo] = useState('');\n\tconst [appName, setAppName] = useState('');\n\tconst [errorCode, setErrorCode] = useState('');\n\tconst [smsSent, setSmsSent] = useState(false);\n\n\tconst handleConnectionsScroll = (event: SyntheticEvent<HTMLDivElement>) => {\n\t\tsetShadow(detectScrollToBottom(event));\n\t};\n\tconst showErrorScreen = (code: string) => {\n\t\tsetErrorCode(code);\n\t\tsetCurrentScreen(3);\n\t};\n\tuseEffect(() => {\n\t\tconst getData = async () => {\n\t\t\tconst id = window.location.pathname?.substring(1)?.split('?')[0];\n\t\t\tconst searchString = window.location.search?.split('?')[1];\n\t\t\tsetQueryString(searchString);\n\t\t\tif (id?.length > 0) {\n\t\t\t\tsetAuthId(id);\n\t\t\t\tsetLoading(true);\n\t\t\t\tconst response = await authUser({authRequestId:id, method:'GET', test});\n\t\t\t\tif (response?.ok) {\n\t\t\t\t\tsetCurrentScreen(1);\n\t\t\t\t\tsetMobile(response?.data?.mobile);\n\t\t\t\t\tif (response?.data?.appName) {\n\t\t\t\t\t\tsetAppName(response?.data?.appName);\n\t\t\t\t\t}\n\t\t\t\t\tif (response?.data?.partner?.logoUrl) {\n\t\t\t\t\t\tsetLogo(response?.data?.partner?.logoUrl);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tshowErrorScreen(response?.statusCode.toString());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tshowErrorScreen('404');\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t};\n\t\tgetData();\n\t}, []);\n\n\n\tconst getScreen = () => {\n\t\tswitch (currentScreen) {\n\t\t\tcase 0:\n\t\t\t\treturn <Page shadow={shadow}><LoadingModal isOpen={loading} disableTransparency /></Page>;\n\t\t\tcase 1:\n\t\t\t\treturn (\n\t\t\t\t\t<StartScreen\n\t\t\t\t\t\tappName={appName}\n\t\t\t\t\t\tshadow={shadow}\n\t\t\t\t\t\tshowErrorScreen={showErrorScreen}\n\t\t\t\t\t\tonContinue={() => setCurrentScreen(2)}\n\t\t\t\t\t\tauthRequestId={authId}\n\t\t\t\t\t\tsmsSent={smsSent}\n\t\t\t\t\t\tsetSmsSent={setSmsSent}\n\t\t\t\t\t\ttest={test}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 2:\n\t\t\t\treturn <AuthScreen number={mobile} onBack={() => setCurrentScreen(1)} shadow={shadow} authRequestId={authId} test={test} queryString={queryString}/>;\n\t\t\tcase 3:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t\tdefault:\n\t\t\t\treturn <NotFound messageCode={errorCode} />;\n\t\t}\n\t};\n\n\treturn (\n\t\t<Root>\n\t\t\t<GlobalStyles />\n\t\t\t<AppContainerWrapper>\n\t\t\t\t<AppContainer onScroll={handleConnectionsScroll} ref={ref}>\n\t\t\t\t\t{logo && (\n\t\t\t\t\t\t<PageHeader>\n\t\t\t\t\t\t\t<img src={logo} alt=\"logo\" />\n\t\t\t\t\t\t</PageHeader>\n\t\t\t\t\t)}\n\t\t\t\t\t<AppContainerPage>{getScreen()}</AppContainerPage>\n\t\t\t\t</AppContainer>\n\t\t\t</AppContainerWrapper>\n\t\t</Root>\n\t);\n}\n\nexport default App;\n","import styled, { css, keyframes } from 'styled-components';\n\ninterface IIconWrapper {\n\trotating: boolean;\n}\n\nexport const rotate = keyframes`\n from {\n -ms-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -webkit-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -ms-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -webkit-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\nexport const SimpleButton = styled.button`\n\tborder-radius: 2px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tborder: none;\n\tcursor: pointer;\n\tmargin-bottom: 8px;\n\tpadding: 10px;\n`;\n\nexport const Input = styled.input`\n\theight: 48px;\n\tbackground: ${({ theme }) => theme.color.porcelainSecond};\n\tborder-radius: 2px;\n\tborder: none;\n\twidth: 100%;\n\tbox-sizing: border-box;\n\tpadding: 0 16px;\n\tcolor: ${({ theme }) => theme.color.ebony};\n\tmargin-bottom: 16px;\n\tfont-size: 16px;\n\n\t&::placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t\topacity: 1;\n\t}\n\n\t&:-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&::-ms-input-placeholder {\n\t\tcolor: ${({ theme }) => theme.color.osloGrey};\n\t}\n\n\t&:focus-visible {\n\t\toutline: none;\n\t\tbackground-color: ${({ theme }) => theme.color.spindle};\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\nexport const H4Styled = styled.h4`\n\tcursor: pointer;\n\tuser-select: none;\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const Spacer = styled.div`\n\tdisplay: flex;\n\twidth: 100%;\n\tmargin-top: 12px;\n\tmargin-bottom: 12px;\n\theight: 1px;\n\tbackground-color: ${({ theme }) => theme.color.porcelain};\n`;\nexport const IconWrapper = styled.span<IIconWrapper>`\n display: flex;\n width: 22px;\n ${({ rotating }) =>\n\t\trotating &&\n\t\tcss`\n\t\t\tanimation: ${rotate} 2s linear infinite;\n\t\t`}\n };\n svg, img {\n width: 100%;\n }\n`;\n","import styled, { css } from 'styled-components';\nimport { SimpleButton } from './basic';\nimport { ButtonType } from '../../components/ui/Button';\n\nexport const ButtonLabel = styled.span`\n\tfont-size: 18px;\n`;\n\ninterface IButtonStyled {\n\tbuttonType?: ButtonType;\n\tdisabled: boolean;\n\tonClick: () => void;\n}\nexport const ButtonStyled = styled(SimpleButton)<IButtonStyled>`\n\tmin-height: 40px;\n\tjustify-content: center;\n\tbackground-color: ${(props) => props.theme.color.endeavour};\n\ttext-align: center;\n\tbox-shadow: none;\n\tborder: none;\n\tcursor: pointer;\n\tcolor: ${({ theme }) => theme.color.white};\n\n\t&:last-child {\n\t\tmargin-bottom: 0;\n\t}\n\t&:hover {\n\t\tbackground-color: ${({ theme }) => theme.color.bostonBlue};\n\t}\n\t&:active {\n\t\tbackground-color: ${({ theme }) => theme.color.congressBlue};\n\t}\n\t${({ buttonType, theme }) => {\n\t\tswitch (buttonType) {\n\t\t\tcase 'secondary':\n\t\t\t\treturn css`\n\t\t\t\t\tcolor: ${theme.color.ebony};\n\t\t\t\t\tbackground-color: ${theme.color.porcelainSecond};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: ${theme.color.porcelainSecondLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.ironSecond};\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tcase 'tiny':\n\t\t\t\treturn css`\n\t\t\t\t\twidth: auto;\n\t\t\t\t\tmin-height: 32px;\n\t\t\t\t\tpadding: 6px 16px;\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tcolor: ${theme.color.cyprus};\n\t\t\t\t\tbackground-color: ${theme.color.hokeyPokey};\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground-color: ${theme.color.hokeyPokeyLight};\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: ${theme.color.anzac};\n\t\t\t\t\t}\n\t\t\t\t`;\n\n\t\t\tcase 'back':\n\t\t\t\treturn css`\n\t\t\t\t\tbackground: none;\n\t\t\t\t\tjustify-content: initial;\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\tmin-height: unset;\n\t\t\t\t\tcolor: ${theme.color.casper};\n\t\t\t\t\twidth: auto;\n\t\t\t\t\timg {\n\t\t\t\t\t\twidth: 25px;\n\t\t\t\t\t\tfilter: invert(68%) sepia(13%) saturate(348%) hue-rotate(155deg) brightness(91%) contrast(94%);\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: ${theme.color.abbey};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(31%) sepia(10%) saturate(313%) hue-rotate(155deg) brightness(96%) contrast(87%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tcolor: ${theme.color.jumbo};\n\t\t\t\t\t\tbackground-color: unset;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tfilter: invert(49%) sepia(0%) saturate(5%) hue-rotate(29deg) brightness(99%) contrast(83%);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&:disabled {\n\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\tbackground-color: unset !important;\n\t\t\t\t\t\timg {\n\t\t\t\t\t\t\tcolor: ${theme.color.porcelain};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`;\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}}\n\timg {\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tmargin-right: 3px;\n\t}\n\n\t&:disabled {\n\t\tbackground-color: ${({ theme }) => theme.color.porcelain};\n\t\tcolor: ${({ theme }) => theme.color.casper};\n\t\tcursor: not-allowed;\n\t}\n`;\n","import styled from 'styled-components';\nimport { hexToRGBa } from '../../helpers';\nimport { IconWrapper } from './basic';\n\ninterface IModalStyled {\n\tdisableTransparency: boolean;\n}\n\nexport const ModalStyled = styled.div<IModalStyled>`\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: ${({ theme, disableTransparency }) => (disableTransparency ? theme.color.jumbo : hexToRGBa(theme.color.blackPearl, 0.7))};\n\tz-index: 1000000000;\n\tpadding: 16px;\n\n\ta {\n\t\tmargin-bottom: 8px;\n\t}\n`;\nexport const LoadingModalStyled = styled.div<IModalStyled>`\n\tbox-shadow: ${({ theme, disableTransparency }) => (disableTransparency ? 'none' : `0 1px 2px ${hexToRGBa(theme.color.blueBayoux, 0.3)}`)};\n\tborder-radius: 2px;\n\tpadding: 16px 12px;\n\tfont-size: 16px;\n\tline-height: 16px;\n\tcolor: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\n\t${IconWrapper} {\n\t\tfilter: invert(1);\n\t\tmargin-bottom: 15px;\n\t\twidth: 48px;\n\t}\n`;\nexport const LoadingModalText = styled.span`\n\tfont-size: 18px;\n\twhite-space: pre-line;\n\ttext-align: center;\n\tline-height: 30px;\n`;\n","import { useRef } from 'react';\n\nexport const useFocus = () => {\n\tconst htmlElRef = useRef<HTMLInputElement>(null);\n\tconst setFocus = () => htmlElRef.current && htmlElRef.current.focus();\n\n\treturn [htmlElRef, setFocus];\n};\n","import { SyntheticEvent } from 'react';\n\nexport function detectScrollToBottom(event: SyntheticEvent<HTMLDivElement>) {\n\tconst { scrollHeight, scrollTop, clientHeight } = event.currentTarget;\n\treturn scrollHeight - scrollTop > clientHeight;\n}\n\nexport const hexToRGBa = (hex: string, opacity: number) => {\n\tconst hexToRGBA = hex.match(/[A-Za-z0-9]{2}/g)?.map((v) => parseInt(v, 16));\n\tconst opp = opacity > 1 && opacity < 0 ? 1 : opacity;\n\treturn `rgba(${hexToRGBA?.concat(opp).join()})`;\n};\nexport const handleUserKeyPress = (e: KeyboardEvent, onEnter:()=>void) =>{\n\tconst { keyCode } = e;\n\tif(keyCode===13){\n\t\tonEnter()\n\t}\n}\nexport const buildRedirectUrl = (token:string, queryString:string):string => `https://consent.basiq.io/home?token=${token}${queryString ? '&'+queryString : ''}`;\n"," export const DASHBOARD_API_URL_TEST = 'https://c9joivz12f.execute-api.ap-southeast-2.amazonaws.com/Development/';\nexport const DASHBOARD_API_URL = 'https://p4c8zn20r9.execute-api.ap-southeast-2.amazonaws.com/Production_v1/';\n","export const theme = {\n\tcolor: {\n\t\twhite: '#fff',\n\t\tporcelain: '#e2E8Ea',\n\t\tporcelainSecond: '#f5F7F8',\n\t\tporcelainLight: '#e5Eaec',\n\t\tporcelainSecondLight: '#f7F9F9',\n\t\tiron: '#cbd1D3',\n\t\tironSecond: '#dcdedf',\n\t\tcasper: '#90a4Ae',\n\t\tmercury: '#e5E5E5',\n\t\tdodgerBlue: '#4c6Cff',\n\t\tdodgerBlueLight: '#5e7Bff',\n\t\troyalBlue: '#4461e6',\n\t\tbostonBlue: '#367ab9',\n\t\tendeavour: '#0459a8',\n\t\tcongressBlue: '#045097',\n\t\tbrilliantBlue: '#0075dc',\n\t\tcuriousBlue: '#2784da',\n\t\ticeberg: '#cdf2ed',\n\t\tlinkWater: '#cddeee',\n\t\tspindle: '#b4Cde5',\n\t\tcyprus: '#002d3C',\n\t\tgossamer: '#06bea6',\n\t\temerald: '#4fc35A',\n\t\thokeyPokey: '#fabe34',\n\t\thokeyPokeyLight: '#f9C858',\n\t\tanzac: '#e1B141',\n\t\tcerise: '#d63F5a',\n\t\tsunsetOrange: '#fe493f',\n\t\twePeep: '#f7d9de',\n\t\tebony: '#130f26',\n\t\tabbey: '#4e5457',\n\t\tosloGrey: '#7f888c',\n\t\tloblolly: '#c1c8cc',\n\t\tjumbo: '#7d7d84',\n\t\tblackPearl: '#061D24',\n\t\tblueBayoux: '#4b6a75'\n\t},\n\tmixin: {\n\t\tsubtitle: () => ` margin-top: 32px;\n margin-bottom: 4px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;`,\n\n\t\ttitle: () => ` font-size: 26px;\n line-height: 30px;\n letter-spacing: -0.2px;\n margin-top: 0;\n margin-bottom: 0;\n color: #130f26;\n white-space: pre-line;\n `\n\t}\n};\nexport type ThemeType = typeof theme;\n","import styled, { css } from 'styled-components';\nimport { ButtonStyled } from '../ui';\nimport { hexToRGBa } from '../../helpers';\nimport { devices } from '../breakpoints';\n\ninterface IPageStyledProps {\n\tbuttonCount?: number;\n\thorizontal?: boolean;\n}\n\ninterface IStatusMessage {\n\terror?: boolean;\n}\n\ninterface IPageControlsSectionProps {\n\tnotEmpty: boolean;\n}\ninterface IHorizontalProps {\n\thorizontal?: boolean;\n}\nexport const PageStyled = styled.div<IPageStyledProps>`\n\twidth: 100%;\n\theight: 100%;\n\t${({ buttonCount, horizontal }) =>\n\t\tbuttonCount && buttonCount > 0\n\t\t\t? horizontal\n\t\t\t\t? 'padding-bottom: 96px;'\n\t\t\t\t: `padding-bottom: ${46 + 50 * buttonCount}px;`\n\t\t\t: 'padding-bottom: 16px;'}\n`;\nexport const PageSubtitle = styled.div`\n\t${({ theme }) => theme.mixin.subtitle()};\n`;\n\nexport const PageMainContainer = styled.div`\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n`;\nexport const PageControlsSection = styled.div<IPageControlsSectionProps>`\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\t${({ notEmpty }) => `padding: ${notEmpty ? '16px' : '0'}`};\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tborder-top: 1px solid ${({ theme }) => theme.color.porcelainLight};\n`;\nexport const PageShadowWrapper = styled.div<IHorizontalProps>`\n\twidth: 100%;\n\t${({ horizontal }) =>\n\t\thorizontal &&\n\t\tcss`\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\n\t\t\t${ButtonStyled} {\n\t\t\t\tmargin-bottom: 0;\n\t\t\t\tmargin-right: 16px;\n\n\t\t\t\t&:last-child {\n\t\t\t\t\tmargin-right: unset;\n\t\t\t\t}\n\t\t\t}\n\t\t`}\n`;\nexport const PageShadow = styled.div`\n\tposition: absolute;\n\theight: 71px;\n\tleft: 0;\n\tright: 0;\n\ttop: -71px;\n\tbackground: linear-gradient(180deg, #cecece 0%, ${hexToRGBa('#cecece', 0)} 100%);\n\topacity: 0.8;\n\ttransform: rotate(-180deg);\n\tpointer-events: none;\n`;\nexport const PageHeader = styled.header`\n\tmargin-bottom: 32px;\n\twidth: 100%;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: unset;\n\tpadding: 16px 0;\n\tbox-sizing: border-box;\n\tmax-height: 150px;\n\theight: 100%;\n\t${devices.phone} {\n\t\toverflow: initial;\n\t\theight: 150px;\n\t\tmargin-bottom: 0;\n\t}\n\timg {\n\t\tborder-radius: 4px;\n\t\twidth: auto !important;\n\t\theight: auto;\n\t\tmax-width: 100%;\n\t\tmax-height: 100%;\n\t\t${devices.phone} {\n\t\t\twidth: 100%;\n\t\t\tpadding: 16px;\n\t\t}\n\t}\n`;\n\nexport const PageContent = styled.div`\n\twidth: 100%;\n`;\nexport const StatusMessage = styled.div<IStatusMessage>`\n\twidth: 100%;\n\tbackground: ${({ theme, error }) => (error ? theme.color.wePeep : theme.color.iceberg)};\n\tborder-radius: 4px;\n\tpadding: 11px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tfont-weight: 400;\n\tfont-size: 14px;\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.gossamer)};\n\tmargin-bottom: 16px;\n`;\n","const breakpoints = {\n\tmobileS: '320px',\n\tmobileL: '480px',\n\ttabletMinus: '767px',\n\ttabletH: '781px',\n\ttablet: '768px',\n\ttabletL: '992px',\n\tlaptop: '1024px',\n\tlaptopH: '1080px',\n\tlaptopXS: '1110px',\n\tlaptopS: '1280px',\n\tlaptopM: '1366px',\n\tlaptopL: '1440px',\n\tlaptopXL: '1540px',\n\tdesktopS: '1800px',\n\tdesktop: '2560px'\n};\nexport const devices = {\n\tfold: `@media only screen and (max-width: ${breakpoints.mobileS})`,\n\tphoneXs: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\tphone: `@media only screen and (max-width: ${breakpoints.tabletMinus})`,\n\tphoneLandscape: `@media only screen and (max-width: ${breakpoints.mobileL})`,\n\ttabletOnly: `@media only screen and (min-width: ${breakpoints.tablet}) and (max-width: ${breakpoints.tabletL})`,\n\tiPadProLandscape: `@media only screen and (height: ${breakpoints.laptop}) and (width: ${breakpoints.laptopM})`,\n\tiPadProPortrait: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.laptopM})`,\n\tiPad: `@media only screen and (max-width: ${breakpoints.laptop}) and (max-height: ${breakpoints.tablet}) `,\n\ttablet: `@media only screen and (max-width: ${breakpoints.tabletL}) `,\n\tdesktop: `@media only screen and (min-height: ${breakpoints.tabletH} ) and (min-width: ${breakpoints.laptopS} ) `,\n\tlaptop: `@media only screen and (max-width: ${breakpoints.laptopS}) `,\n\tlaptopRegularScreenWidth: `@media only screen (max-height: ${breakpoints.laptopXS}) and and (max-width: ${breakpoints.laptopXL}) `,\n\tbigDesktop: `@media only screen and (min-width: ${breakpoints.desktopS}) and (min-height: ${breakpoints.laptopH})) `\n};\n","import styled from 'styled-components';\n\ninterface IInputStyled {\n\tfilled: boolean;\n\terror: boolean;\n}\ninterface IDivAsLink {\n\tdisabled: boolean;\n}\n\nexport const PageConnectFooterControl = styled.div`\n\tposition: absolute;\n\tbottom: 80px;\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tleft: 0;\n\tflex-direction: column;\n\tbox-sizing: border-box;\n\tpadding: 16px;\n`;\nexport const PageConnectFooterText = styled.span`\n\tcolor: ${({ theme }) => theme.color.abbey};\n\tfont-size: 12px;\n`;\n\nexport const InputStyled = styled.input<IInputStyled>`\n\twidth: 100%;\n\theight: 64px;\n\tbackground: ${({ theme, filled, error }) => (error ? theme.color.wePeep : filled ? theme.color.linkWater : theme.color.porcelainSecond)};\n\tcolor: ${({ theme, error }) => (error ? theme.color.cerise : theme.color.endeavour)};\n\tborder-radius: 2px;\n\ttext-align: center;\n\tfont-size: 32px;\n\tborder: none;\n\tbox-shadow: none;\n\tletter-spacing: 20px;\n\ttext-indent: 20px;\n`;\n\nexport const InputContainer = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n`;\nexport const DivAsLink = styled.div<IDivAsLink>`\n\tcolor: ${({ theme, disabled }) => disabled? theme.color.casper : theme.color.endeavour};\n\tdisplay: inherit;\n\tcursor: ${({ disabled }) => disabled? 'not-allowed': 'pointer'};\n`;\n","import styled from 'styled-components';\n\nexport const InnerContainer = styled.div`\n\twidth: 100%;\n`;\n","import styled from 'styled-components';\nimport { IconWrapper } from '../ui';\nimport { PageContent, PageMainContainer } from './basic';\n\ninterface IStatusScreenCircleContainer {\n\ttype: 'success' | 'warning' | 'error';\n}\n\nexport const PageStatusScreenMain = styled(PageMainContainer)`\n\theight: 100%;\n`;\nexport const PageStatusScreenContent = styled(PageContent)`\n\theight: inherit;\n\twidth: 100%;\n\talign-items: center;\n\tjustify-content: center;\n\tdisplay: flex;\n\tflex-direction: column;\n\ttext-align: center;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n`;\nexport const StatusScreenCircleContainer = styled.div<IStatusScreenCircleContainer>`\n\twidth: 64px;\n\theight: 64px;\n\tbackground-color: ${({ theme, type }) => {\n\t\tswitch (type) {\n\t\t\tcase 'success':\n\t\t\t\treturn theme.color.emerald;\n\t\t\tcase 'error':\n\t\t\t\treturn theme.color.sunsetOrange;\n\t\t\tcase 'warning':\n\t\t\t\treturn theme.color.hokeyPokey;\n\t\t\tdefault:\n\t\t\t\treturn theme.color.porcelain;\n\t\t}\n\t}};\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-bottom: 24px;\n\n\t${IconWrapper} {\n\t\twidth: 40px;\n\t\tcolor: ${({ theme }) => theme.color.white};\n\t}\n`;\nexport const StatusScreenErrorCode = styled.span`\n\tfont-size: 12px;\n\tmargin-top: 16px;\n\tcolor: ${({ theme }) => theme.color.osloGrey};\n`;\nexport const PageSuccessImgContainer = styled.div`\n\tmargin-bottom: 24px;\n\twidth: 64px;\n\theight: 64px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder-radius: 50%;\n\toverflow: hidden;\n\timg {\n\t\twidth: 100%;\n\t\theight: auto;\n\t}\n`;\n","import styled from 'styled-components';\nimport { devices } from './breakpoints';\n\nexport const Root = styled.div`\n\twhite-space: pre-line;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: fixed;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\ttransform: translate(0, -50%);\n\theight: 100%;\n\tmax-height: 812px;\n\n\ta {\n\t\ttext-decoration: none;\n\t\tcolor: ${({ theme }) => theme.color.endeavour};\n\t}\n\th3 {\n\t\tfont-weight: normal;\n\t\t${({ theme }) => theme.mixin.title()};\n\t\tstrong {\n\t\t\t${({ theme }) => theme.mixin.title()};\n\t\t}\n\t}\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-height: none;\n\t\tpadding: 0;\n\t}\n`;\nexport const AppContainer = styled.div`\n\twidth: 539px;\n\tbackground-color: ${({ theme }) => theme.color.white};\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n\tpadding: 16px;\n\tbox-sizing: border-box;\n\theight: 100%;\n\n\t${devices.phone} {\n\t\twidth: 100%;\n\t}\n\n\t&::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\t-ms-overflow-style: none;\n\tscrollbar-width: none;\n\toverflow-y: scroll;\n`;\nexport const AppContainerWrapper = styled.div`\n\theight: 100%;\n\tposition: relative;\n\tborder: 1px solid ${({ theme }) => theme.color.porcelain};\n\tborder-radius: 8px;\n\toverflow: hidden;\n\t${devices.phone} {\n\t\twidth: 100%;\n\t\tborder-radius: unset;\n\t\tborder: unset;\n\t}\n`;\nexport const AppContainerPage = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: center;\n`;\n","import { createGlobalStyle } from 'styled-components';\nimport MarkW1GBook from '../fonts/Mark-W1G-Book.otf';\nimport MarkW1GBold from '../fonts/Mark-W1G-Bold.otf';\n\nexport default createGlobalStyle`\n \n@font-face {\n font-family: MarkW1G;\n src: url(${MarkW1GBook}) format('opentype');\n }\n @font-face {\n font-family: MarkW1G;\n font-weight: bold;\n src: url(${MarkW1GBold}) format('opentype');\n }\n\nbody{\n font-family: 'MarkW1G', sans-serif;\n}\nbody * {\n font-family: 'MarkW1G', sans-serif;\n font-size: 14px;\n font-style: normal;\n}\n`;\n","import React, { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from '../ui';\nimport { PageControlsSection, PageMainContainer, PageShadow, PageShadowWrapper, PageStyled, PageSubtitle } from '../../styledComponents';\nimport { ButtonType } from '../ui/Button';\n\ninterface IProps {\n\tbuttons?: IButton[];\n\tchildren: ReactElement;\n\ttitle?: string | ReactElement;\n\tsubTitle?: string;\n\tshadow: boolean;\n\tonBack?: () => void;\n\tbackDisabled?: boolean;\n}\n\nexport interface IButton {\n\tlabel: string;\n\tonClick: () => void;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Page(props: IProps) {\n\tconst { buttons, children, title, subTitle, shadow, onBack, backDisabled } = props;\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<PageStyled buttonCount={buttons?.length}>\n\t\t\t{onBack && <Button onClick={onBack} label={t('back')} buttonType=\"back\" disabled={backDisabled}/>}\n\t\t\t{title && <h3>{title}</h3>}\n\t\t\t{subTitle && <PageSubtitle>{subTitle}</PageSubtitle>}\n\t\t\t<PageMainContainer>{children}</PageMainContainer>\n\t\t\t<PageControlsSection notEmpty={(buttons?.length ?? 0) > 0}>\n\t\t\t\t<PageShadowWrapper>\n\t\t\t\t\t{shadow && <PageShadow />}\n\t\t\t\t\t{buttons?.map((b, index) => (\n\t\t\t\t\t\t<Button key={index} onClick={b.onClick} label={b.label} buttonType={b.buttonType} disabled={b.disabled} />\n\t\t\t\t\t))}\n\t\t\t\t</PageShadowWrapper>\n\t\t\t</PageControlsSection>\n\t\t</PageStyled>\n\t);\n}\n\nexport default Page;\n","import React from 'react';\nimport { ButtonLabel, ButtonStyled } from '../../styledComponents';\nimport back from '../../images/back.svg';\n\nexport type ButtonType = 'secondary' | 'tiny' | 'link' | 'back';\n\ninterface Props {\n\tonClick: () => void;\n\tlabel: string;\n\tbuttonType?: ButtonType;\n\tdisabled?: boolean;\n}\n\nfunction Button(props: Props) {\n\tconst { onClick, label, buttonType, disabled } = props;\n\treturn (\n\t\t<ButtonStyled buttonType={buttonType} disabled={disabled || false} onClick={onClick}>\n\t\t\t{buttonType === 'back' && <img src={back} alt=\"\" />}\n\t\t\t<ButtonLabel> {label || ''}</ButtonLabel>\n\t\t</ButtonStyled>\n\t);\n}\n\nexport default Button;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tPageControlsSection,\n\tPageShadowWrapper,\n\tPageStatusScreenContent,\n\tPageStatusScreenMain,\n\tPageStyled,\n\tStatusScreenCircleContainer,\n\tStatusScreenErrorCode\n} from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport Page from './Page';\nimport err from '../../images/error.svg';\n\ninterface IProps {\n\tmessageCode?: string;\n}\n\nfunction NotFound({ messageCode = '404' }: IProps) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t<Page shadow={false}>\n\t\t\t<PageStyled>\n\t\t\t\t<PageStatusScreenMain>\n\t\t\t\t\t<PageStyled>\n\t\t\t\t\t\t<PageStatusScreenContent>\n\t\t\t\t\t\t\t<StatusScreenCircleContainer type=\"warning\">\n\t\t\t\t\t\t\t\t<Icon img={err} rotating={false} />\n\t\t\t\t\t\t\t</StatusScreenCircleContainer>\n\t\t\t\t\t\t\t<span>{t('page_not_found')}</span>\n\t\t\t\t\t\t\t<StatusScreenErrorCode>{`${t('error')}: ${messageCode}`}</StatusScreenErrorCode>\n\t\t\t\t\t\t</PageStatusScreenContent>\n\t\t\t\t\t</PageStyled>\n\t\t\t\t</PageStatusScreenMain>\n\t\t\t\t<PageControlsSection notEmpty={false}>\n\t\t\t\t\t<PageShadowWrapper />\n\t\t\t\t</PageControlsSection>\n\t\t\t</PageStyled>\n\t\t</Page>\n\t);\n}\n\nexport default NotFound;\n","import React from 'react';\nimport { IconWrapper } from '../../styledComponents';\n\ninterface IProps {\n\trotating: boolean;\n\timg: string;\n}\n\nfunction Icon(props: IProps) {\n\tconst { rotating, img } = props;\n\treturn (\n\t\t<IconWrapper rotating={rotating}>\n\t\t\t<img src={img} alt=\"\" />\n\t\t</IconWrapper>\n\t);\n}\n\nexport default Icon;\n","import React, {useEffect, useState} from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { H4Styled, Spacer, InnerContainer } from '../../styledComponents';\nimport { authUser } from '../../actions/actions';\nimport { LoadingModal } from '../modals';\nimport {handleUserKeyPress} from \"../../helpers\";\n\ninterface IProps {\n\tonContinue: () => void;\n\tshowErrorScreen: (code:string) => void;\n\tshadow: boolean;\n\tappName: string;\n\tauthRequestId?: string;\n\tsmsSent:boolean\n\tsetSmsSent: (code: boolean) => void;\n\ttest?: boolean;\n}\n\nfunction StartScreen(props: IProps) {\n\tconst { onContinue, appName, shadow, authRequestId, showErrorScreen, smsSent, setSmsSent, test } = props;\n\tconst [loading, setLoading] = useState(false);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('keydown', (e)=>handleUserKeyPress(e, onContinue));\n\t\t};\n\t}, []);\n\tconst handleContinue = async () => {\n\t\tsetLoading(true);\n\t\tif(authRequestId && !smsSent) {\n\t\t\tconst response = await authUser({authRequestId, test});\n\t\t\tif (response?.ok) {\n\t\t\t\tsetSmsSent(true);\n\t\t\t\tsetLoading(false);\n\t\t\t\tonContinue();\n\t\t\t} else {\n\t\t\t\tshowErrorScreen(response?.statusCode.toString())\n\t\t\t}\n\t\t} else if(smsSent) {\n\t\t\tsetLoading(false);\n\t\t\tonContinue();\n\t\t}\n\n\t};\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleContinue()\n\t\t}\n\t];\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tappName ? (\n\t\t\t\t\t<Trans t={t} i18nKey=\"use_basiq_to_connect_your_accounts\" values={{ name: appName }} components={{ bold: <strong /> }} />\n\t\t\t\t) : (\n\t\t\t\t\t<Trans t={t} i18nKey=\"we_use_basiq_to_connect_your_accounts\" components={{ bold: <strong /> }} />\n\t\t\t\t)\n\t\t\t}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<Spacer />\n\t\t\t\t<H4Styled>{t('to_do_this_we_will_ask_you_to')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"verify_your_mobile_number_bold\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"consent_to_share_your_data_with_us\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Trans t={t} i18nKey=\"share_your_financial_data\" components={{ bold: <strong /> }} />\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<H4Styled>{t('things_you_should_know')}</H4Styled>\n\t\t\t\t<ul>\n\t\t\t\t\t<li>{t('we_dont_share_your_data_without_your_consent')}</li>\n\t\t\t\t\t<li>{t('you_can_easily_stop_sharing_your_data_at_any_time')}</li>\n\t\t\t\t\t<li>{t('you_can_choose_to_delete_shared_data_when_we_no_longer_need_it')}</li>\n\t\t\t\t</ul>\n\t\t\t\t<Spacer />\n\t\t\t\t<span>\n\t\t\t\t\t<>\n\t\t\t\t\t{t('by_proceeding_you_agree_to_the')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/415750-basiq-terms-of-service\" rel=\"noreferrer\" target=\"_blank\">{t('terms_of_service')}</a> {t('and')}{' '}\n\t\t\t\t\t\t<a href=\"https://docs.basiq.io/en/articles/382581-basiq-privacy-policy\" rel=\"noreferrer\" target=\"_blank\">{t('privacy_notice')}</a>\n\t\t\t\t\t</>\n\t\t\t\t</span>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default StartScreen;\n","import {DASHBOARD_API_URL, DASHBOARD_API_URL_TEST} from '../helpers';\n\nexport const verifySmsCode = async ({authRequestId, smsCode, test}:{authRequestId: string, smsCode: string, test?:boolean}) => {\n\tconst body = {\n\t\t'sms-code': smsCode\n\t};\n\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json',\n\t\t\tAuthorization: `Basic SMS_CODE:${authRequestId}`\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: JSON.stringify(body)\n\t};\n\n\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}/token`, reqData);\n\n\tif (result.status >= 200 && result.status < 300) {\n\t\tconst json = result.status === 204 ? null : await result.json();\n\t\treturn {\n\t\t\tdata: json,\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\tok:true\n\t\t};\n\t}\n\tif (result.status >= 400) {\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n\treturn {\n\t\theaders: result.headers,\n\t\tstatusCode: result.status,\n\t\terror: result.statusText || 'Something went wrong',\n\t\tok:false\n\t};\n};\n\nexport const authUser = async ({authRequestId, method, test}:{authRequestId: string, method?: 'POST' | 'GET', test?:boolean}) => {\n\tconst reqData = {\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: method || 'POST'\n\t};\n\ttry{\n\t\tconst result = await fetch(`${test ? DASHBOARD_API_URL_TEST : DASHBOARD_API_URL}client_auth/${authRequestId}`, reqData);\n\n\t\tif (result.status >= 200 && result.status < 300) {\n\t\t\tconst json = result.status === 204 ? null : await result.json();\n\t\t\treturn {\n\t\t\t\tdata: json,\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\tok: true\n\t\t\t};\n\t\t}\n\t\tif (result.status >= 400) {\n\t\t\tconst json = [403, 404].includes(result.status) ? null : await result.json();\n\t\t\treturn {\n\t\t\t\theaders: result.headers,\n\t\t\t\tstatusCode: result.status,\n\t\t\t\terror: json?.message || result.statusText || 'Something went wrong',\n\t\t\t\tok: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\theaders: result.headers,\n\t\t\tstatusCode: result.status,\n\t\t\terror: result.statusText || 'Something went wrong',\n\t\t\tok: false\n\t\t};\n\t}catch (e){\n\t\treturn {\n\t\t\tstatusCode: 500,\n\t\t\terror: 'Something went wrong',\n\t\t\tok:false\n\t\t};\n\t}\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from '../ui/Modal';\nimport { LoadingModalStyled, LoadingModalText } from '../../styledComponents';\nimport Icon from '../ui/icon';\nimport loadingIndicator from '../../images/loading_indicator.svg';\n\ninterface IProps {\n\tisOpen: boolean;\n\tdisableTransparency?: boolean;\n\tloadingText?: string;\n}\n\nfunction LoadingModal(props: IProps) {\n\tconst { isOpen, disableTransparency, loadingText } = props;\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t<Modal isOpen={isOpen} disableTransparency={!!disableTransparency}>\n\t\t\t<LoadingModalStyled disableTransparency={!!disableTransparency}>\n\t\t\t\t<Icon img={loadingIndicator} rotating />\n\t\t\t\t<LoadingModalText>{loadingText || t('loading')}</LoadingModalText>\n\t\t\t</LoadingModalStyled>\n\t\t</Modal>\n\t);\n}\n\nexport default LoadingModal;\n","import React, { ReactElement, SyntheticEvent } from 'react';\nimport { ModalStyled } from '../../styledComponents';\n\ninterface IProps {\n\tchildren: ReactElement;\n\tonClose?: () => void;\n\tisOpen: boolean;\n\tdisableTransparency: boolean;\n}\n\nfunction Modal(props: IProps) {\n\tconst { children, onClose, isOpen, disableTransparency } = props;\n\tconst handleOutsideClick = (e: SyntheticEvent<HTMLElement>) => {\n\t\tif (onClose && (e.target as HTMLElement).id === 'ui-modal') {\n\t\t\tonClose();\n\t\t}\n\t};\n\treturn (\n\t\t<>\n\t\t\t{isOpen ? (\n\t\t\t\t<ModalStyled id=\"ui-modal\" disableTransparency={disableTransparency} onClick={handleOutsideClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</ModalStyled>\n\t\t\t) : null}\n\t\t</>\n\t);\n}\n\nexport default Modal;\n","import React, {ChangeEvent, useCallback, useState} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Page, { IButton } from './Page';\nimport { DivAsLink, InputContainer, InputStyled, PageConnectFooterControl, PageConnectFooterText, StatusMessage } from '../../styledComponents';\nimport { InnerContainer } from '../../styledComponents';\nimport { LoadingModal } from '../modals';\nimport { authUser, verifySmsCode } from '../../actions/actions';\nimport {buildRedirectUrl} from \"../../helpers\";\n\ninterface IProps {\n\tshadow: boolean;\n\tonBack: () => void;\n\tnumber: string;\n\tqueryString: string;\n\tauthRequestId: string;\n\ttest?:boolean;\n}\n\nfunction AuthScreen({ onBack, number, authRequestId, shadow, test, queryString }: IProps) {\n\tconst { t } = useTranslation();\n\tconst [error, setError] = useState('');\n\tconst [smsCode, setSmsCode] = useState('');\n\tconst [resend, setResend] = useState(false);\n\tconst [resendLoading, setResendLoading] = useState(false);\n\tconst [loading, setLoading] = useState(false);\n\tconst [tooManyAttempts, setTooManyAttempts] = useState(false);\n\n\tconst handleCodeApply = useCallback(\n\t\t\tasync (e?:React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\t\tif(smsCode.length===6 && error.length===0 && (!e || e?.key === 'Enter')){\n\t\t\t\t\tsetLoading(true);\n\t\t\t\t\tconst response = await verifySmsCode({authRequestId, smsCode, test});\n\t\t\t\t\tif (response?.data?.access_token) {\n\t\t\t\t\t\twindow.open(buildRedirectUrl(response.data.access_token, queryString), \"_self\");\n\t\t\t\t\t} else if (response?.statusCode === 204) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetTooManyAttempts(true);\n\t\t\t\t\t\tsetError(t('too_many_attempts'));\n\t\t\t\t\t } else if (response?.error) {\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tsetError(t('this_code_doesnt_appear_to_be_valid'));\n\t\t\t\t\t }\n\n\t\t\t\t}\n\t\t\t},\n\t\t[smsCode, error, authRequestId, queryString, test]\n\t);\n\tconst buttons: IButton[] = [\n\t\t{\n\t\t\tlabel: t('continue'),\n\t\t\tonClick: () => handleCodeApply(),\n\t\t\tdisabled: smsCode.length<6 || !!error\n\t\t}\n\t];\n\n\tconst handleResend = async () => {\n\t\tsetError('');\n\t\tsetSmsCode('');\n\t\tsetResend(false);\n\t\tsetResendLoading(true);\n\t\tconst response = await authUser({authRequestId, test});\n\t\tsetResendLoading(false);\n\t\tif (response.error) {\n\t\t\tsetError(t('failed_to_send_sms'));\n\t\t} else {\n\t\t\tsetResend(true);\n\t\t}\n\t};\n\tconst handleInput = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tsetError('');\n\t\tsetResend(false);\n\t\tif(/^([0-9]+)$/.test(e.target.value) || e.target.value===''){\n\t\t\tsetSmsCode(e.target.value);\n\t\t}\n\t};\n\treturn (\n\t\t<Page\n\t\t\ttitle={t('verify_your_mobile_number')}\n\t\t\tsubTitle={t('please_enter_the_sms_code_sent_to_your_mobile_number', { number })}\n\t\t\tshadow={shadow}\n\t\t\tbuttons={buttons}\n\t\t\tonBack={onBack}\n\t\t\tbackDisabled={tooManyAttempts}\n\t\t>\n\t\t\t<InnerContainer>\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputStyled\n\t\t\t\t\t\tpattern=\"\\d{6}\"\n\t\t\t\t\t\tinputMode=\"numeric\"\n\t\t\t\t\t\tautoComplete=\"one-time-code\"\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tmaxLength={6}\n\t\t\t\t\t\tonChange={handleInput}\n\t\t\t\t\t\tvalue={smsCode}\n\t\t\t\t\t\tfilled={smsCode.length === 6}\n\t\t\t\t\t\terror={tooManyAttempts || !!error}\n \tdisabled={tooManyAttempts}\n\t\t\t\t\t\tonKeyDown={handleCodeApply}\n\t\t\t\t\t/>\n\t\t\t\t</InputContainer>\n\t\t\t\t<PageConnectFooterControl>\n\t\t\t\t\t{resend && <StatusMessage>{t('new_sms_code_has_been_sent')}</StatusMessage>}\n\t\t\t\t\t{!!error && <StatusMessage error>{error}</StatusMessage>}\n\t\t\t\t\t<PageConnectFooterText>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{t('didnt_receive_the_code')} <DivAsLink disabled={tooManyAttempts || resendLoading} onClick={() => !tooManyAttempts && !resendLoading && handleResend()}>{t('resend_sms')}</DivAsLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</PageConnectFooterText>\n\t\t\t\t</PageConnectFooterControl>\n\t\t\t\t<LoadingModal isOpen={loading} />\n\t\t\t</InnerContainer>\n\t\t</Page>\n\t);\n}\n\nexport default AuthScreen;\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationEN from './en/translation.json';\n\nexport const defaultNS = 'ns1';\n\n// the translations\nexport const resources = {\n\ten: {\n\t\tns1: translationEN\n\t}\n} as const;\n\ni18n.use(initReactI18next) // passes i18n down to react-i18next\n\t.init({\n\t\tresources,\n\t\tlng: 'en',\n\t\tns: ['ns1'],\n\t\tinterpolation: {\n\t\t\tescapeValue: false, // react already safes from xss\n\t\t\tprefix: '${',\n\t\t\tsuffix: '}'\n\t\t}\n\t});\n\nexport default i18n;\n","{\n\t\"back\": \"Back\",\n\t\"error\": \"Error\",\n\t\"loading\": \"Loading\",\n\t\"continue\": \"Continue\",\n\t\"to_do_this_we_will_ask_you_to\": \"To do this we will ask you to\",\n\t\"verify_your_mobile_number_bold\": \"<strong>Verify</strong> your mobile number\",\n\t\"verify_your_mobile_number\": \"Verify your mobile number\",\n\t\"consent_to_share_your_data_with_us\": \"<strong>Consent</strong> to share your data with us\",\n\t\"share_your_financial_data\": \"<strong>Share</strong> your financial data\",\n\t\"things_you_should_know\": \"Things you should know\",\n\t\"we_dont_share_your_data_without_your_consent\": \"We don’t share your data without your consent\",\n\t\"you_can_easily_stop_sharing_your_data_at_any_time\": \"You can easily stop sharing your data at any time\",\n\t\"you_can_choose_to_delete_shared_data_when_we_no_longer_need_it\": \"You can choose to delete shared data when we no longer need it\",\n\t\"by_proceeding_you_agree_to_the\": \"By proceeding, you agree to the\",\n\t\"terms_of_service\": \"Terms of service\",\n\t\"privacy_notice\": \"Privacy notice\",\n\t\"and\": \"and\",\n\t\"use_basiq_to_connect_your_accounts\": \"${name} use <strong>Basiq</strong> to connect your accounts\",\n\t\"we_use_basiq_to_connect_your_accounts\": \"We use <strong>Basiq</strong> to connect your accounts\",\n\t\"please_enter_the_sms_code_sent_to_your_mobile_number\": \"Please enter the SMS code sent to your mobile number (ending in xxx${number}).\",\n\t\"new_sms_code_has_been_sent\": \"New SMS code has been sent.\",\n\t\"this_code_doesnt_appear_to_be_valid\": \"This code doesn't appear to be valid.\",\n\t\"didnt_receive_the_code\": \"Didn’t receive the code?\",\n\t\"resend_sms\": \"Resend SMS\",\n\t\"failed_to_send_sms\": \"Failed to send SMS.\",\n\t\"page_not_found\": \"Page not found\",\n\t\"missing_authentication_token\": \"Missing Authentication Token\",\n\t\"too_many_attempts\": \"Too many attempts. Please use a new link to try again.\"\n}\n"],"mappings":"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","names":["React","React","useEffect","useState","theme","styled","css","styled","theme","css","styled","styled","theme","styled","css","styled","theme","css","styled","theme","styled","styled","styled","theme","styled","styled","theme","React","React","React","useTranslation","React","React","useTranslation","React","React","useTranslation","React","useTranslation","React","React","useTranslation","React","useTranslation","React","React","useState","useTranslation","useTranslation","useState","React","useState","useEffect","React","React"]}
package/package.json CHANGED
@@ -43,43 +43,29 @@
43
43
  }
44
44
  ],
45
45
  "devDependencies": {
46
- "@testing-library/dom": "^10.4.0",
47
- "@testing-library/jest-dom": "^6.5.0",
48
- "@testing-library/react": "^16.0.1",
49
- "@testing-library/user-event": "^14.5.2",
50
- "@types/jest": "^29.5.13",
51
- "@types/react": "^18.2.67",
52
- "@types/react-dom": "^18.2.22",
53
- "@types/styled-components": "^5.1.25",
54
- "jest": "^29.7.0",
55
- "jest-environment-jsdom": "^29.7.0",
46
+ "@testing-library/dom": "^10.4.1",
47
+ "@testing-library/jest-dom": "^6.9.1",
48
+ "@testing-library/react": "^16.3.0",
49
+ "@testing-library/user-event": "^14.6.1",
50
+ "@types/jest": "^30.0.0",
51
+ "@types/react": "^19.2.7",
52
+ "@types/react-dom": "^19.2.3",
53
+ "jest": "^30.2.0",
54
+ "jest-environment-jsdom": "^30.2.0",
56
55
  "jest-transform-stub": "^2.0.0",
57
- "react": ">=16",
56
+ "react": "^19.2.1",
58
57
  "rollup-plugin-url": "^3.0.1",
59
- "size-limit": "^7.0.8",
60
- "ts-jest": "^29.2.5",
58
+ "size-limit": "^12.0.0",
59
+ "ts-jest": "^29.4.6",
61
60
  "ts-node": "^10.9.2",
62
- "tslib": "^2.4.0",
63
- "tsup": "^8.4.0",
64
- "typescript": "^5.4.3"
61
+ "tslib": "^2.8.1",
62
+ "tsup": "^8.5.1",
63
+ "typescript": "^5.9.3"
65
64
  },
66
65
  "dependencies": {
67
- "i18next": "^21.8.1",
68
- "react-i18next": "^11.16.9",
69
- "styled-components": "^5.3.5"
66
+ "i18next": "^25.7.1",
67
+ "react-i18next": "^16.3.5",
68
+ "styled-components": "^6.1.19"
70
69
  },
71
- "overrides": {
72
- "@babel/traverse": "^7.23.2",
73
- "semver": "^7.3.5",
74
- "braces": ">=3.0.3",
75
- "rollup": ">=4.22.4",
76
- "micromatch": ">=4.0.8",
77
- "cross-spawn": ">=7.0.5",
78
- "esbuild": ">=0.25.0",
79
- "@babel/runtime": ">=7.26.10",
80
- "@babel/helpers": ">=7.26.10",
81
- "form-data": "4.0.4",
82
- "brace-expansion": "2.0.2"
83
- },
84
- "version": "1.1.15"
70
+ "version": "1.1.16-alpha"
85
71
  }