@coorpacademy/components 11.14.4 → 11.14.6
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/es/template/mobile-login/qr-code-scanner/index.native.d.ts +16 -0
- package/es/template/mobile-login/qr-code-scanner/index.native.d.ts.map +1 -0
- package/es/template/mobile-login/qr-code-scanner/index.native.js +348 -0
- package/es/template/mobile-login/qr-code-scanner/index.native.js.map +1 -0
- package/es/template/mobile-login/welcome/index.native.d.ts.map +1 -1
- package/es/template/mobile-login/welcome/index.native.js +109 -20
- package/es/template/mobile-login/welcome/index.native.js.map +1 -1
- package/lib/template/mobile-login/qr-code-scanner/index.native.d.ts +16 -0
- package/lib/template/mobile-login/qr-code-scanner/index.native.d.ts.map +1 -0
- package/lib/template/mobile-login/qr-code-scanner/index.native.js +371 -0
- package/lib/template/mobile-login/qr-code-scanner/index.native.js.map +1 -0
- package/lib/template/mobile-login/welcome/index.native.d.ts.map +1 -1
- package/lib/template/mobile-login/welcome/index.native.js +110 -18
- package/lib/template/mobile-login/welcome/index.native.js.map +1 -1
- package/locales/.mtslconfig.json +1 -0
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useEffect","useState","StyleSheet","Text","View","LinearGradient","NovaCompositionCoorpacademyLogoCoorp","LogoCoorp","NovaCompositionCoorpacademyQrCode","QrCodeIcon","NovaCompositionCoorpacademyEmail","MailIcon","Touchable","useTemplateContext","createStyleSheet","theme","create","wrapper","top","bottom","left","right","flex","justifyContent","alignItems","paddingHorizontal","content","width","gradient","position","opacity","transform","rotate","gradient2","logo","padding","title","fontWeight","fontSize","lineHeight","paddingVertical","description","actions","buttons","button","marginVertical","flexDirection","borderRadius","overflow","ctaQRCode","backgroundColor","colors","cta","ctaQRCodeText","marginLeft","color","qrCodeIcon","fill","height","ctaReceiveMail","ctaReceiveMailText","mailIcon","help","titleHelp","ctaHelp","textDecorationLine","Welcome","props","locales","onDemoPress","onDesktopButtonPress","onHelpPress","onMobileButtonPress","styleSheet","setStylesheet","_stylesheet"],"sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {StyleSheet, Text, TextStyle, View, ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport {\n NovaCompositionCoorpacademyLogoCoorp as LogoCoorp,\n NovaCompositionCoorpacademyQrCode as QrCodeIcon,\n NovaCompositionCoorpacademyEmail as MailIcon\n} from '@coorpacademy/nova-icons';\nimport Touchable from '../../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\n\ntype StyleSheetType = {\n wrapper: ViewStyle;\n logo: ViewStyle;\n content: ViewStyle;\n gradient: ViewStyle;\n gradient2: ViewStyle;\n title: TextStyle;\n description: TextStyle;\n actions: ViewStyle;\n buttons: ViewStyle;\n button: ViewStyle;\n qrCodeIcon: ViewStyle;\n mailIcon: ViewStyle;\n ctaQRCode: ViewStyle;\n ctaQRCodeText: TextStyle;\n ctaReceiveMail: ViewStyle;\n ctaReceiveMailText: TextStyle;\n help: ViewStyle;\n titleHelp: TextStyle;\n ctaHelp: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n flex: 1,\n justifyContent: 'space-around',\n alignItems: 'center',\n paddingHorizontal: 24\n },\n content: {\n width: '100%',\n alignItems: 'flex-start'\n },\n gradient: {\n position: 'absolute',\n top: -100,\n bottom: 0,\n left: -180,\n right: 0,\n opacity: 1,\n transform: [{rotate: '35deg'}]\n },\n gradient2: {\n position: 'absolute',\n top: -80,\n bottom: 0,\n left: 0,\n right: -200,\n opacity: 0.5,\n transform: [{rotate: '-35deg'}]\n },\n logo: {\n padding: 100\n },\n title: {\n fontWeight: '600',\n fontSize: 28,\n lineHeight: 36,\n paddingVertical: 8\n },\n description: {\n fontSize: 18,\n lineHeight: 24,\n paddingVertical: 8\n },\n actions: {\n width: '100%'\n },\n buttons: {\n paddingVertical: 20,\n alignItems: 'center'\n },\n button: {\n paddingVertical: 12,\n marginVertical: 4,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n borderRadius: 12,\n alignItems: 'center',\n overflow: 'hidden'\n },\n ctaQRCode: {\n backgroundColor: theme.colors.cta\n },\n ctaQRCodeText: {\n marginLeft: 8,\n color: '#fff',\n fontWeight: '700',\n fontSize: 14,\n lineHeight: 24\n },\n qrCodeIcon: {\n fill: '#fff',\n height: 14,\n width: 14\n },\n ctaReceiveMail: {\n backgroundColor: '#eaeaeb'\n },\n ctaReceiveMailText: {\n marginLeft: 8,\n color: '#1D1D2B',\n fontWeight: '700',\n fontSize: 14,\n lineHeight: 24\n },\n mailIcon: {\n fill: '#1D1D2B',\n height: 12,\n width: 16\n },\n help: {\n flexDirection: 'row',\n justifyContent: 'center'\n },\n titleHelp: {\n color: '#9999A8'\n },\n ctaHelp: {\n marginLeft: 5,\n textDecorationLine: 'underline',\n color: '#9999A8'\n }\n });\n\nexport type Props = {\n onDemoPress: () => void;\n onDesktopButtonPress: () => void;\n onHelpPress: () => void;\n onMobileButtonPress: () => void;\n locales: {\n title: string;\n description: string;\n ctaQRCode: string;\n ctaReceiveMail: string;\n titleHelp: string;\n ctaHelp: string;\n };\n};\n\nconst Welcome = (props: Props) => {\n const {locales, onDemoPress, onDesktopButtonPress, onHelpPress, onMobileButtonPress} = props;\n const {theme} = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={styleSheet.wrapper} testID=\"welcome\">\n <LinearGradient\n colors={['#0061FF', '#fff']}\n locations={[0, 0.3]}\n style={styleSheet.gradient}\n />\n <LinearGradient\n colors={['#2199AB', '#fff']}\n locations={[0, 0.3]}\n style={styleSheet.gradient2}\n />\n <Touchable onLongPress={onDemoPress} style={styleSheet.logo}>\n <LogoCoorp fill={theme.colors.cta} width={77} height={75} />\n </Touchable>\n <View style={styleSheet.content}>\n <Text style={styleSheet.title}>{locales.title}</Text>\n <Text style={styleSheet.description}>{locales.description}</Text>\n\n <View style={styleSheet.actions}>\n <View style={styleSheet.buttons}>\n <Touchable\n style={[styleSheet.button, styleSheet.ctaQRCode]}\n onPress={onDesktopButtonPress}\n >\n <QrCodeIcon style={styleSheet.qrCodeIcon} />\n <Text style={styleSheet.ctaQRCodeText}>{locales.ctaQRCode}</Text>\n </Touchable>\n <Touchable\n style={[styleSheet.button, styleSheet.ctaReceiveMail]}\n onPress={onMobileButtonPress}\n >\n <MailIcon style={styleSheet.mailIcon} />\n <Text style={styleSheet.ctaReceiveMailText}>{locales.ctaReceiveMail}</Text>\n </Touchable>\n </View>\n <Touchable onPress={onHelpPress} style={styleSheet.help}>\n <Text style={styleSheet.titleHelp}>{locales.titleHelp}</Text>\n <Text style={styleSheet.ctaHelp}>{locales.ctaHelp}</Text>\n </Touchable>\n </View>\n </View>\n </View>\n );\n};\n\nexport default Welcome;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,SAAf,EAA0BC,QAA1B,QAAyC,OAAzC;AACA,SAAQC,UAAR,EAAoBC,IAApB,EAAqCC,IAArC,QAA2D,cAA3D;AACA,OAAOC,cAAP,MAA2B,8BAA3B;AACA,SACEC,oCAAoC,IAAIC,SAD1C,EAEEC,iCAAiC,IAAIC,UAFvC,EAGEC,gCAAgC,IAAIC,QAHtC,QAIO,0BAJP;AAKA,OAAOC,SAAP,MAAsB,qCAAtB;AACA,SAAQC,kBAAR,QAAiC,mCAAjC;;AAyBA,MAAMC,gBAAgB,GAAIC,KAAD,IACvBb,UAAU,CAACc,MAAX,CAAkB;EAChBC,OAAO,EAAE;IACPC,GAAG,EAAE,CADE;IAEPC,MAAM,EAAE,CAFD;IAGPC,IAAI,EAAE,CAHC;IAIPC,KAAK,EAAE,CAJA;IAKPC,IAAI,EAAE,CALC;IAMPC,cAAc,EAAE,cANT;IAOPC,UAAU,EAAE,QAPL;IAQPC,iBAAiB,EAAE;EARZ,CADO;EAWhBC,OAAO,EAAE;IACPC,KAAK,EAAE,MADA;IAEPH,UAAU,EAAE;EAFL,CAXO;EAehBI,QAAQ,EAAE;IACRC,QAAQ,EAAE,UADF;IAERX,GAAG,EAAE,CAAC,GAFE;IAGRC,MAAM,EAAE,CAHA;IAIRC,IAAI,EAAE,CAAC,GAJC;IAKRC,KAAK,EAAE,CALC;IAMRS,OAAO,EAAE,CAND;IAORC,SAAS,EAAE,CAAC;MAACC,MAAM,EAAE;IAAT,CAAD;EAPH,CAfM;EAwBhBC,SAAS,EAAE;IACTJ,QAAQ,EAAE,UADD;IAETX,GAAG,EAAE,CAAC,EAFG;IAGTC,MAAM,EAAE,CAHC;IAITC,IAAI,EAAE,CAJG;IAKTC,KAAK,EAAE,CAAC,GALC;IAMTS,OAAO,EAAE,GANA;IAOTC,SAAS,EAAE,CAAC;MAACC,MAAM,EAAE;IAAT,CAAD;EAPF,CAxBK;EAiChBE,IAAI,EAAE;IACJC,OAAO,EAAE;EADL,CAjCU;EAoChBC,KAAK,EAAE;IACLC,UAAU,EAAE,KADP;IAELC,QAAQ,EAAE,EAFL;IAGLC,UAAU,EAAE,EAHP;IAILC,eAAe,EAAE;EAJZ,CApCS;EA0ChBC,WAAW,EAAE;IACXH,QAAQ,EAAE,EADC;IAEXC,UAAU,EAAE,EAFD;IAGXC,eAAe,EAAE;EAHN,CA1CG;EA+ChBE,OAAO,EAAE;IACPf,KAAK,EAAE;EADA,CA/CO;EAkDhBgB,OAAO,EAAE;IACPH,eAAe,EAAE,EADV;IAEPhB,UAAU,EAAE;EAFL,CAlDO;EAsDhBoB,MAAM,EAAE;IACNJ,eAAe,EAAE,EADX;IAENK,cAAc,EAAE,CAFV;IAGNlB,KAAK,EAAE,MAHD;IAINmB,aAAa,EAAE,KAJT;IAKNvB,cAAc,EAAE,QALV;IAMNwB,YAAY,EAAE,EANR;IAONvB,UAAU,EAAE,QAPN;IAQNwB,QAAQ,EAAE;EARJ,CAtDQ;EAgEhBC,SAAS,EAAE;IACTC,eAAe,EAAEnC,KAAK,CAACoC,MAAN,CAAaC;EADrB,CAhEK;EAmEhBC,aAAa,EAAE;IACbC,UAAU,EAAE,CADC;IAEbC,KAAK,EAAE,MAFM;IAGblB,UAAU,EAAE,KAHC;IAIbC,QAAQ,EAAE,EAJG;IAKbC,UAAU,EAAE;EALC,CAnEC;EA0EhBiB,UAAU,EAAE;IACVC,IAAI,EAAE,MADI;IAEVC,MAAM,EAAE,EAFE;IAGV/B,KAAK,EAAE;EAHG,CA1EI;EA+EhBgC,cAAc,EAAE;IACdT,eAAe,EAAE;EADH,CA/EA;EAkFhBU,kBAAkB,EAAE;IAClBN,UAAU,EAAE,CADM;IAElBC,KAAK,EAAE,SAFW;IAGlBlB,UAAU,EAAE,KAHM;IAIlBC,QAAQ,EAAE,EAJQ;IAKlBC,UAAU,EAAE;EALM,CAlFJ;EAyFhBsB,QAAQ,EAAE;IACRJ,IAAI,EAAE,SADE;IAERC,MAAM,EAAE,EAFA;IAGR/B,KAAK,EAAE;EAHC,CAzFM;EA8FhBmC,IAAI,EAAE;IACJhB,aAAa,EAAE,KADX;IAEJvB,cAAc,EAAE;EAFZ,CA9FU;EAkGhBwC,SAAS,EAAE;IACTR,KAAK,EAAE;EADE,CAlGK;EAqGhBS,OAAO,EAAE;IACPV,UAAU,EAAE,CADL;IAEPW,kBAAkB,EAAE,WAFb;IAGPV,KAAK,EAAE;EAHA;AArGO,CAAlB,CADF;;AA4HA,MAAMW,OAAO,GAAIC,KAAD,IAAkB;EAChC,MAAM;IAACC,OAAD;IAAUC,WAAV;IAAuBC,oBAAvB;IAA6CC,WAA7C;IAA0DC;EAA1D,IAAiFL,KAAvF;EACA,MAAM;IAACpD;EAAD,IAAUF,kBAAkB,EAAlC;EACA,MAAM,CAAC4D,UAAD,EAAaC,aAAb,IAA8BzE,QAAQ,CAAwB,IAAxB,CAA5C;EAEAD,SAAS,CAAC,MAAM;IACd,MAAM2E,WAAW,GAAG7D,gBAAgB,CAACC,KAAD,CAApC;;IACA2D,aAAa,CAACC,WAAD,CAAb;EACD,CAHQ,EAGN,CAAC5D,KAAD,CAHM,CAAT;;EAKA,IAAI,CAAC0D,UAAL,EAAiB;IACf,OAAO,IAAP;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAEA,UAAU,CAACxD,OAAxB;IAAiC,MAAM,EAAC;EAAxC,gBACE,oBAAC,cAAD;IACE,MAAM,EAAE,CAAC,SAAD,EAAY,MAAZ,CADV;IAEE,SAAS,EAAE,CAAC,CAAD,EAAI,GAAJ,CAFb;IAGE,KAAK,EAAEwD,UAAU,CAAC7C;EAHpB,EADF,eAME,oBAAC,cAAD;IACE,MAAM,EAAE,CAAC,SAAD,EAAY,MAAZ,CADV;IAEE,SAAS,EAAE,CAAC,CAAD,EAAI,GAAJ,CAFb;IAGE,KAAK,EAAE6C,UAAU,CAACxC;EAHpB,EANF,eAWE,oBAAC,SAAD;IAAW,WAAW,EAAEoC,WAAxB;IAAqC,KAAK,EAAEI,UAAU,CAACvC;EAAvD,gBACE,oBAAC,SAAD;IAAW,IAAI,EAAEnB,KAAK,CAACoC,MAAN,CAAaC,GAA9B;IAAmC,KAAK,EAAE,EAA1C;IAA8C,MAAM,EAAE;EAAtD,EADF,CAXF,eAcE,oBAAC,IAAD;IAAM,KAAK,EAAEqB,UAAU,CAAC/C;EAAxB,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAE+C,UAAU,CAACrC;EAAxB,GAAgCgC,OAAO,CAAChC,KAAxC,CADF,eAEE,oBAAC,IAAD;IAAM,KAAK,EAAEqC,UAAU,CAAChC;EAAxB,GAAsC2B,OAAO,CAAC3B,WAA9C,CAFF,eAIE,oBAAC,IAAD;IAAM,KAAK,EAAEgC,UAAU,CAAC/B;EAAxB,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAE+B,UAAU,CAAC9B;EAAxB,gBACE,oBAAC,SAAD;IACE,KAAK,EAAE,CAAC8B,UAAU,CAAC7B,MAAZ,EAAoB6B,UAAU,CAACxB,SAA/B,CADT;IAEE,OAAO,EAAEqB;EAFX,gBAIE,oBAAC,UAAD;IAAY,KAAK,EAAEG,UAAU,CAACjB;EAA9B,EAJF,eAKE,oBAAC,IAAD;IAAM,KAAK,EAAEiB,UAAU,CAACpB;EAAxB,GAAwCe,OAAO,CAACnB,SAAhD,CALF,CADF,eAQE,oBAAC,SAAD;IACE,KAAK,EAAE,CAACwB,UAAU,CAAC7B,MAAZ,EAAoB6B,UAAU,CAACd,cAA/B,CADT;IAEE,OAAO,EAAEa;EAFX,gBAIE,oBAAC,QAAD;IAAU,KAAK,EAAEC,UAAU,CAACZ;EAA5B,EAJF,eAKE,oBAAC,IAAD;IAAM,KAAK,EAAEY,UAAU,CAACb;EAAxB,GAA6CQ,OAAO,CAACT,cAArD,CALF,CARF,CADF,eAiBE,oBAAC,SAAD;IAAW,OAAO,EAAEY,WAApB;IAAiC,KAAK,EAAEE,UAAU,CAACX;EAAnD,gBACE,oBAAC,IAAD;IAAM,KAAK,EAAEW,UAAU,CAACV;EAAxB,GAAoCK,OAAO,CAACL,SAA5C,CADF,eAEE,oBAAC,IAAD;IAAM,KAAK,EAAEU,UAAU,CAACT;EAAxB,GAAkCI,OAAO,CAACJ,OAA1C,CAFF,CAjBF,CAJF,CAdF,CADF;AA4CD,CA1DD;;AA4DA,eAAeE,OAAf"}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useEffect","useRef","useState","Animated","StyleSheet","Text","View","LinearGradient","NovaCompositionCoorpacademyLogoCoorp","LogoCoorp","NovaCompositionCoorpacademyQrCode","QrCodeIcon","NovaCompositionCoorpacademyEmail","MailIcon","useAnimateProp","useTranslateY","Touchable","useTemplateContext","createStyleSheet","theme","create","wrapper","top","bottom","left","right","flex","justifyContent","alignItems","paddingHorizontal","content","width","gradients","position","gradient","opacity","transform","rotate","gradient2","animatedLogoWrapper","animatedLogo","height","logo","padding","logoBG","backgroundColor","title","fontWeight","fontSize","lineHeight","paddingVertical","description","actions","buttons","button","marginVertical","flexDirection","borderRadius","overflow","ctaQRCode","colors","cta","ctaQRCodeText","marginLeft","color","qrCodeIcon","fill","ctaReceiveMail","ctaReceiveMailText","mailIcon","help","titleHelp","ctaHelp","textDecorationLine","Welcome","props","locales","onDemoPress","onDesktopButtonPress","onHelpPress","onMobileButtonPress","styleSheet","setStylesheet","translateGradients","fromValue","toValue","duration","delay","translateContent","fadeInContent","property","fadeOutStartLogo","fadeInFinalLogo","scaleAnim","Value","current","interpolateScale","interpolate","inputRange","outputRange","_stylesheet","start","animatedScale","timing","useNativeDriver","animatedStyle","scale"],"sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\nimport {Animated, StyleSheet, Text, TextStyle, View, ViewStyle} from 'react-native';\nimport LinearGradient from 'react-native-linear-gradient';\nimport {\n NovaCompositionCoorpacademyLogoCoorp as LogoCoorp,\n NovaCompositionCoorpacademyQrCode as QrCodeIcon,\n NovaCompositionCoorpacademyEmail as MailIcon\n} from '@coorpacademy/nova-icons';\nimport {useAnimateProp, useTranslateY} from '@coorpacademy/react-native-animation';\nimport Touchable from '../../../hoc/touchable/index.native';\nimport {useTemplateContext} from '../../app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\n\ntype StyleSheetType = {\n wrapper: ViewStyle;\n animatedLogoWrapper: ViewStyle;\n animatedLogo: ViewStyle;\n logo: ViewStyle;\n logoBG: ViewStyle;\n content: ViewStyle;\n gradients: ViewStyle;\n gradient: ViewStyle;\n gradient2: ViewStyle;\n title: TextStyle;\n description: TextStyle;\n actions: ViewStyle;\n buttons: ViewStyle;\n button: ViewStyle;\n qrCodeIcon: ViewStyle;\n mailIcon: ViewStyle;\n ctaQRCode: ViewStyle;\n ctaQRCodeText: TextStyle;\n ctaReceiveMail: ViewStyle;\n ctaReceiveMailText: TextStyle;\n help: ViewStyle;\n titleHelp: TextStyle;\n ctaHelp: ViewStyle;\n};\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n wrapper: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n flex: 1,\n justifyContent: 'space-around',\n alignItems: 'center',\n paddingHorizontal: 24\n },\n content: {\n width: '100%',\n alignItems: 'flex-start'\n },\n gradients: {\n position: 'absolute',\n top: 400,\n bottom: 400,\n left: 0,\n right: 0,\n flex: 1\n },\n gradient: {\n position: 'absolute',\n top: -730,\n bottom: 0,\n left: -380,\n right: -380,\n opacity: 1,\n transform: [{rotate: '35deg'}]\n },\n gradient2: {\n position: 'absolute',\n top: -630,\n bottom: -200,\n left: -300,\n right: -400,\n opacity: 0.6,\n transform: [{rotate: '-35deg'}]\n },\n animatedLogoWrapper: {\n alignItems: 'center'\n },\n animatedLogo: {\n position: 'absolute',\n width: 77,\n height: 100\n },\n logo: {\n padding: 100\n },\n logoBG: {\n backgroundColor: '#fff',\n top: 20,\n width: 60,\n height: 60\n },\n title: {\n fontWeight: '600',\n fontSize: 28,\n lineHeight: 36,\n paddingVertical: 8\n },\n description: {\n fontSize: 18,\n lineHeight: 24,\n paddingVertical: 8\n },\n actions: {\n width: '100%'\n },\n buttons: {\n paddingVertical: 20,\n alignItems: 'center'\n },\n button: {\n paddingVertical: 12,\n marginVertical: 4,\n width: '100%',\n flexDirection: 'row',\n justifyContent: 'center',\n borderRadius: 12,\n alignItems: 'center',\n overflow: 'hidden'\n },\n ctaQRCode: {\n backgroundColor: theme.colors.cta\n },\n ctaQRCodeText: {\n marginLeft: 8,\n color: '#fff',\n fontWeight: '700',\n fontSize: 14,\n lineHeight: 24\n },\n qrCodeIcon: {\n fill: '#fff',\n height: 14,\n width: 14\n },\n ctaReceiveMail: {\n backgroundColor: '#eaeaeb'\n },\n ctaReceiveMailText: {\n marginLeft: 8,\n color: '#1D1D2B',\n fontWeight: '700',\n fontSize: 14,\n lineHeight: 24\n },\n mailIcon: {\n fill: '#1D1D2B',\n height: 12,\n width: 16\n },\n help: {\n flexDirection: 'row',\n justifyContent: 'center'\n },\n titleHelp: {\n color: '#9999A8'\n },\n ctaHelp: {\n marginLeft: 5,\n textDecorationLine: 'underline',\n color: '#9999A8'\n }\n });\n\nexport type Props = {\n onDemoPress: () => void;\n onDesktopButtonPress: () => void;\n onHelpPress: () => void;\n onMobileButtonPress: () => void;\n locales: {\n title: string;\n description: string;\n ctaQRCode: string;\n ctaReceiveMail: string;\n titleHelp: string;\n ctaHelp: string;\n };\n};\n\nconst Welcome = (props: Props) => {\n const {locales, onDemoPress, onDesktopButtonPress, onHelpPress, onMobileButtonPress} = props;\n const {theme} = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n const translateGradients = useTranslateY({\n fromValue: 0,\n toValue: -200,\n duration: 300,\n delay: 750\n });\n\n const translateContent = useTranslateY({\n fromValue: 170,\n toValue: 0,\n duration: 450,\n delay: 750\n });\n\n const fadeInContent = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 650,\n delay: 750\n });\n\n const fadeOutStartLogo = useAnimateProp({\n property: 'opacity',\n fromValue: 1,\n toValue: 0,\n duration: 450,\n delay: 1000\n });\n\n const fadeInFinalLogo = useAnimateProp({\n property: 'opacity',\n fromValue: 0,\n toValue: 1,\n duration: 250,\n delay: 900\n });\n\n const scaleAnim = useRef<Animated.Value>(new Animated.Value(0)).current;\n const interpolateScale = scaleAnim.interpolate({\n inputRange: [0, 0.4, 0.5, 0.6, 1],\n outputRange: [1, 1.7, 1.7, 1.7, 1]\n });\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n useEffect(() => {\n fadeInContent.start();\n fadeInFinalLogo.start();\n fadeOutStartLogo.start();\n translateContent.start();\n translateGradients.start();\n\n const animatedScale = Animated.timing(scaleAnim, {\n toValue: 1,\n duration: 1000,\n useNativeDriver: true\n });\n\n animatedScale.start();\n\n // on mount only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (!styleSheet) {\n return null;\n }\n return (\n <Animated.View style={[styleSheet.wrapper, translateContent.animatedStyle]} testID=\"welcome\">\n <Animated.View style={[styleSheet.gradients, translateGradients.animatedStyle]}>\n <LinearGradient\n colors={['#0061FF', '#fff']}\n locations={[0, 0.95]}\n style={styleSheet.gradient}\n />\n <LinearGradient\n colors={['#2199AB', '#fff']}\n locations={[0, 0.95]}\n style={styleSheet.gradient2}\n />\n </Animated.View>\n\n <Touchable onLongPress={onDemoPress} style={styleSheet.logo}>\n <Animated.View\n style={[styleSheet.animatedLogoWrapper, {transform: [{scale: interpolateScale}]}]}\n >\n <Animated.View style={[styleSheet.logoBG, fadeInFinalLogo.animatedStyle]} />\n <Animated.View style={[styleSheet.animatedLogo, fadeInFinalLogo.animatedStyle]}>\n <LogoCoorp fill=\"#0061FF\" />\n </Animated.View>\n <Animated.View style={[styleSheet.animatedLogo, fadeOutStartLogo.animatedStyle]}>\n <LogoCoorp fill=\"#fff\" />\n </Animated.View>\n </Animated.View>\n </Touchable>\n <Animated.View style={[styleSheet.content, fadeInContent.animatedStyle]}>\n <Text style={styleSheet.title}>{locales.title}</Text>\n <Text style={styleSheet.description}>{locales.description}</Text>\n\n <View style={styleSheet.actions}>\n <View style={styleSheet.buttons}>\n <Touchable\n style={[styleSheet.button, styleSheet.ctaQRCode]}\n onPress={onDesktopButtonPress}\n >\n <QrCodeIcon style={styleSheet.qrCodeIcon} />\n <Text style={styleSheet.ctaQRCodeText}>{locales.ctaQRCode}</Text>\n </Touchable>\n <Touchable\n style={[styleSheet.button, styleSheet.ctaReceiveMail]}\n onPress={onMobileButtonPress}\n >\n <MailIcon style={styleSheet.mailIcon} />\n <Text style={styleSheet.ctaReceiveMailText}>{locales.ctaReceiveMail}</Text>\n </Touchable>\n </View>\n <Touchable onPress={onHelpPress} style={styleSheet.help}>\n <Text style={styleSheet.titleHelp}>{locales.titleHelp}</Text>\n <Text style={styleSheet.ctaHelp}>{locales.ctaHelp}</Text>\n </Touchable>\n </View>\n </Animated.View>\n </Animated.View>\n );\n};\n\nexport default Welcome;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface Props {
|
|
3
|
+
hasPermission: boolean;
|
|
4
|
+
onScan: (token?: string) => void;
|
|
5
|
+
onHelpPress: () => void;
|
|
6
|
+
locales: {
|
|
7
|
+
title: string;
|
|
8
|
+
explanation1: string;
|
|
9
|
+
explanation2: string;
|
|
10
|
+
ctaHelp: string;
|
|
11
|
+
titleHelp: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
declare const QRCodeScanner: (props: Props) => JSX.Element;
|
|
15
|
+
export default QRCodeScanner;
|
|
16
|
+
//# sourceMappingURL=index.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/qr-code-scanner/index.native.tsx"],"names":[],"mappings":";AAQA,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAuPD,QAAA,MAAM,aAAa,UAAW,KAAK,gBAkDlC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
|
|
6
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
7
|
+
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
|
|
10
|
+
var _reactNativeQrcodeScanner = _interopRequireDefault(require("react-native-qrcode-scanner"));
|
|
11
|
+
|
|
12
|
+
var _novaIcons = require("@coorpacademy/nova-icons");
|
|
13
|
+
|
|
14
|
+
var _index = _interopRequireDefault(require("../../../hoc/touchable/index.native"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
const HEIGHT = 280;
|
|
23
|
+
const WIDTH = 280;
|
|
24
|
+
const COLOR = '#fff';
|
|
25
|
+
const BORDER_RADIUS = 8;
|
|
26
|
+
const LINE_WIDTH = 7;
|
|
27
|
+
|
|
28
|
+
const styles = _reactNative.StyleSheet.create({
|
|
29
|
+
container: {
|
|
30
|
+
width: '100%',
|
|
31
|
+
height: '100%'
|
|
32
|
+
},
|
|
33
|
+
camera: {
|
|
34
|
+
width: '100%',
|
|
35
|
+
height: '100%'
|
|
36
|
+
},
|
|
37
|
+
blurs: {
|
|
38
|
+
position: 'absolute',
|
|
39
|
+
width: '100%',
|
|
40
|
+
height: '100%',
|
|
41
|
+
opacity: 0.6
|
|
42
|
+
},
|
|
43
|
+
blurTop: {
|
|
44
|
+
position: 'absolute',
|
|
45
|
+
backgroundColor: '#000',
|
|
46
|
+
width: '100%',
|
|
47
|
+
height: '35%',
|
|
48
|
+
transform: [{
|
|
49
|
+
translateY: -HEIGHT / 2 + LINE_WIDTH / 2
|
|
50
|
+
}]
|
|
51
|
+
},
|
|
52
|
+
blurBottom: {
|
|
53
|
+
position: 'absolute',
|
|
54
|
+
backgroundColor: '#000',
|
|
55
|
+
width: '100%',
|
|
56
|
+
height: '65%',
|
|
57
|
+
bottom: 0,
|
|
58
|
+
transform: [{
|
|
59
|
+
translateY: HEIGHT / 2 - LINE_WIDTH / 2
|
|
60
|
+
}]
|
|
61
|
+
},
|
|
62
|
+
blurLeft: {
|
|
63
|
+
position: 'absolute',
|
|
64
|
+
backgroundColor: '#000',
|
|
65
|
+
width: '50%',
|
|
66
|
+
height: HEIGHT - LINE_WIDTH,
|
|
67
|
+
left: 0,
|
|
68
|
+
top: '35%',
|
|
69
|
+
transform: [{
|
|
70
|
+
translateX: -WIDTH / 2 + LINE_WIDTH / 2
|
|
71
|
+
}, {
|
|
72
|
+
translateY: -HEIGHT / 2 + LINE_WIDTH / 2
|
|
73
|
+
}]
|
|
74
|
+
},
|
|
75
|
+
blurRight: {
|
|
76
|
+
position: 'absolute',
|
|
77
|
+
backgroundColor: '#000',
|
|
78
|
+
width: '50%',
|
|
79
|
+
height: HEIGHT - LINE_WIDTH,
|
|
80
|
+
right: 0,
|
|
81
|
+
top: '35%',
|
|
82
|
+
transform: [{
|
|
83
|
+
translateX: WIDTH / 2 - LINE_WIDTH / 2
|
|
84
|
+
}, {
|
|
85
|
+
translateY: -HEIGHT / 2 + LINE_WIDTH / 2
|
|
86
|
+
}]
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
const targetStyle = _reactNative.StyleSheet.create({
|
|
91
|
+
target: {
|
|
92
|
+
width: HEIGHT,
|
|
93
|
+
height: WIDTH,
|
|
94
|
+
top: '35%',
|
|
95
|
+
left: '50%',
|
|
96
|
+
transform: [{
|
|
97
|
+
translateX: -WIDTH / 2
|
|
98
|
+
}, {
|
|
99
|
+
translateY: -HEIGHT / 2
|
|
100
|
+
}],
|
|
101
|
+
borderRadius: BORDER_RADIUS,
|
|
102
|
+
position: 'absolute',
|
|
103
|
+
overflow: 'hidden'
|
|
104
|
+
},
|
|
105
|
+
square: {
|
|
106
|
+
position: 'absolute',
|
|
107
|
+
width: '35%',
|
|
108
|
+
height: '35%'
|
|
109
|
+
},
|
|
110
|
+
stroke: {
|
|
111
|
+
position: 'absolute',
|
|
112
|
+
top: 0,
|
|
113
|
+
left: 0,
|
|
114
|
+
backgroundColor: COLOR,
|
|
115
|
+
borderRadius: BORDER_RADIUS
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const explanationsStyle = _reactNative.StyleSheet.create({
|
|
120
|
+
explanations: {
|
|
121
|
+
position: 'absolute',
|
|
122
|
+
width: '100%',
|
|
123
|
+
height: 300,
|
|
124
|
+
bottom: 0,
|
|
125
|
+
backgroundColor: '#fff',
|
|
126
|
+
borderRadius: 30,
|
|
127
|
+
padding: 24
|
|
128
|
+
},
|
|
129
|
+
titleWrapper: {
|
|
130
|
+
flexDirection: 'row',
|
|
131
|
+
alignItems: 'center',
|
|
132
|
+
justifyContent: 'flex-start',
|
|
133
|
+
paddingVertical: 16
|
|
134
|
+
},
|
|
135
|
+
qrCodeIcon: {
|
|
136
|
+
fill: '#000',
|
|
137
|
+
height: 14,
|
|
138
|
+
width: 14
|
|
139
|
+
},
|
|
140
|
+
titleText: {
|
|
141
|
+
fontWeight: '600',
|
|
142
|
+
color: '#1D1D2B',
|
|
143
|
+
fontSize: 21,
|
|
144
|
+
lineHeight: 30,
|
|
145
|
+
letterSpacing: 0.5,
|
|
146
|
+
marginLeft: 5
|
|
147
|
+
},
|
|
148
|
+
line: {
|
|
149
|
+
flexDirection: 'row',
|
|
150
|
+
paddingRight: 24,
|
|
151
|
+
paddingVertical: 8
|
|
152
|
+
},
|
|
153
|
+
lineText: {
|
|
154
|
+
fontWeight: '400',
|
|
155
|
+
color: '#1D1D2B',
|
|
156
|
+
fontSize: 18,
|
|
157
|
+
lineHeight: 24,
|
|
158
|
+
letterSpacing: 0.5,
|
|
159
|
+
marginRight: 7
|
|
160
|
+
},
|
|
161
|
+
help: {
|
|
162
|
+
flexDirection: 'row',
|
|
163
|
+
marginTop: 12
|
|
164
|
+
},
|
|
165
|
+
titleHelp: {
|
|
166
|
+
fontSize: 16,
|
|
167
|
+
color: '#9999A8'
|
|
168
|
+
},
|
|
169
|
+
ctaHelp: {
|
|
170
|
+
marginLeft: 5,
|
|
171
|
+
fontSize: 16,
|
|
172
|
+
letterSpacing: 0.5,
|
|
173
|
+
textDecorationLine: 'underline',
|
|
174
|
+
color: '#9999A8'
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
const Corner = props => {
|
|
179
|
+
const {
|
|
180
|
+
position,
|
|
181
|
+
lineLength
|
|
182
|
+
} = props;
|
|
183
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
184
|
+
style: [targetStyle.square, position]
|
|
185
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
186
|
+
style: [targetStyle.stroke, {
|
|
187
|
+
height: LINE_WIDTH,
|
|
188
|
+
width: lineLength
|
|
189
|
+
}]
|
|
190
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
191
|
+
style: [targetStyle.stroke, {
|
|
192
|
+
width: LINE_WIDTH,
|
|
193
|
+
height: lineLength
|
|
194
|
+
}]
|
|
195
|
+
}));
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const Target = () => {
|
|
199
|
+
const animationRef = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
200
|
+
const lineLength = animationRef.interpolate({
|
|
201
|
+
inputRange: [0, 1],
|
|
202
|
+
outputRange: [0, WIDTH * 0.35]
|
|
203
|
+
});
|
|
204
|
+
(0, _react.useEffect)(() => {
|
|
205
|
+
const animation = _reactNative.Animated.timing(animationRef, {
|
|
206
|
+
toValue: 1,
|
|
207
|
+
duration: 700,
|
|
208
|
+
delay: 400,
|
|
209
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.sin),
|
|
210
|
+
useNativeDriver: false
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
animation.start(); // on mount only
|
|
214
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
215
|
+
}, []);
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
217
|
+
style: targetStyle.target
|
|
218
|
+
}, /*#__PURE__*/_react.default.createElement(Corner, {
|
|
219
|
+
lineLength: lineLength,
|
|
220
|
+
position: {
|
|
221
|
+
top: 0,
|
|
222
|
+
left: 0,
|
|
223
|
+
transform: [{
|
|
224
|
+
rotate: '0deg'
|
|
225
|
+
}]
|
|
226
|
+
}
|
|
227
|
+
}), /*#__PURE__*/_react.default.createElement(Corner, {
|
|
228
|
+
lineLength: lineLength,
|
|
229
|
+
position: {
|
|
230
|
+
top: 0,
|
|
231
|
+
right: 0,
|
|
232
|
+
transform: [{
|
|
233
|
+
rotate: '90deg'
|
|
234
|
+
}]
|
|
235
|
+
}
|
|
236
|
+
}), /*#__PURE__*/_react.default.createElement(Corner, {
|
|
237
|
+
lineLength: lineLength,
|
|
238
|
+
position: {
|
|
239
|
+
bottom: 0,
|
|
240
|
+
right: 0,
|
|
241
|
+
transform: [{
|
|
242
|
+
rotate: '180deg'
|
|
243
|
+
}]
|
|
244
|
+
}
|
|
245
|
+
}), /*#__PURE__*/_react.default.createElement(Corner, {
|
|
246
|
+
lineLength: lineLength,
|
|
247
|
+
position: {
|
|
248
|
+
bottom: 0,
|
|
249
|
+
left: 0,
|
|
250
|
+
transform: [{
|
|
251
|
+
rotate: '270deg'
|
|
252
|
+
}]
|
|
253
|
+
}
|
|
254
|
+
}));
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
const Explanations = props => {
|
|
258
|
+
const {
|
|
259
|
+
locales,
|
|
260
|
+
onHelpPress
|
|
261
|
+
} = props;
|
|
262
|
+
const animationRef = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
263
|
+
const animateBottom = animationRef.interpolate({
|
|
264
|
+
inputRange: [0, 1],
|
|
265
|
+
outputRange: [-300, 0]
|
|
266
|
+
});
|
|
267
|
+
(0, _react.useEffect)(() => {
|
|
268
|
+
const animation = _reactNative.Animated.timing(animationRef, {
|
|
269
|
+
toValue: 1,
|
|
270
|
+
duration: 600,
|
|
271
|
+
delay: 400,
|
|
272
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.sin),
|
|
273
|
+
useNativeDriver: false
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
animation.start(); // on mount only
|
|
277
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
278
|
+
}, []);
|
|
279
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
280
|
+
style: [explanationsStyle.explanations, {
|
|
281
|
+
bottom: animateBottom
|
|
282
|
+
}]
|
|
283
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
284
|
+
style: explanationsStyle.titleWrapper
|
|
285
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyQrCode, {
|
|
286
|
+
style: explanationsStyle.qrCodeIcon
|
|
287
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
288
|
+
style: explanationsStyle.titleText
|
|
289
|
+
}, locales.title)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
290
|
+
style: explanationsStyle.line
|
|
291
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
292
|
+
style: explanationsStyle.lineText
|
|
293
|
+
}, "1."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
294
|
+
style: explanationsStyle.lineText
|
|
295
|
+
}, locales.explanation1)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
296
|
+
style: explanationsStyle.line
|
|
297
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
298
|
+
style: explanationsStyle.lineText
|
|
299
|
+
}, "2."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
300
|
+
style: explanationsStyle.lineText
|
|
301
|
+
}, locales.explanation2)), /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
302
|
+
onPress: onHelpPress,
|
|
303
|
+
style: explanationsStyle.help
|
|
304
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
305
|
+
style: explanationsStyle.titleHelp
|
|
306
|
+
}, locales.titleHelp), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
307
|
+
style: explanationsStyle.ctaHelp
|
|
308
|
+
}, locales.ctaHelp)));
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
const QRCodeScanner = props => {
|
|
312
|
+
const {
|
|
313
|
+
hasPermission,
|
|
314
|
+
locales,
|
|
315
|
+
onScan,
|
|
316
|
+
onHelpPress
|
|
317
|
+
} = props;
|
|
318
|
+
const handleRead = (0, _react.useCallback)(({
|
|
319
|
+
data
|
|
320
|
+
}) => {
|
|
321
|
+
onScan(typeof data === 'string' ? data : undefined); // on mount only
|
|
322
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
323
|
+
}, []);
|
|
324
|
+
const blurRef = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
325
|
+
const blurOpacity = blurRef.interpolate({
|
|
326
|
+
inputRange: [0, 1],
|
|
327
|
+
outputRange: [0, 0.7]
|
|
328
|
+
});
|
|
329
|
+
(0, _react.useEffect)(() => {
|
|
330
|
+
const animation = _reactNative.Animated.timing(blurRef, {
|
|
331
|
+
toValue: 1,
|
|
332
|
+
duration: 800,
|
|
333
|
+
delay: 600,
|
|
334
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.sin),
|
|
335
|
+
useNativeDriver: false
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
animation.start(); // on mount only
|
|
339
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
340
|
+
}, []);
|
|
341
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
342
|
+
style: styles.container,
|
|
343
|
+
testID: "qr-code-scanner"
|
|
344
|
+
}, hasPermission ? /*#__PURE__*/_react.default.createElement(_reactNativeQrcodeScanner.default, {
|
|
345
|
+
fadeIn: false,
|
|
346
|
+
onRead: handleRead,
|
|
347
|
+
cameraStyle: styles.camera,
|
|
348
|
+
cameraProps: {
|
|
349
|
+
captureAudio: false
|
|
350
|
+
}
|
|
351
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
352
|
+
style: [styles.blurs, {
|
|
353
|
+
opacity: blurOpacity
|
|
354
|
+
}]
|
|
355
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
356
|
+
style: styles.blurTop
|
|
357
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
358
|
+
style: styles.blurBottom
|
|
359
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
360
|
+
style: styles.blurLeft
|
|
361
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
362
|
+
style: styles.blurRight
|
|
363
|
+
})), /*#__PURE__*/_react.default.createElement(Target, null), /*#__PURE__*/_react.default.createElement(Explanations, {
|
|
364
|
+
locales: locales,
|
|
365
|
+
onHelpPress: onHelpPress
|
|
366
|
+
}));
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
var _default = QRCodeScanner;
|
|
370
|
+
exports.default = _default;
|
|
371
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["HEIGHT","WIDTH","COLOR","BORDER_RADIUS","LINE_WIDTH","styles","StyleSheet","create","container","width","height","camera","blurs","position","opacity","blurTop","backgroundColor","transform","translateY","blurBottom","bottom","blurLeft","left","top","translateX","blurRight","right","targetStyle","target","borderRadius","overflow","square","stroke","explanationsStyle","explanations","padding","titleWrapper","flexDirection","alignItems","justifyContent","paddingVertical","qrCodeIcon","fill","titleText","fontWeight","color","fontSize","lineHeight","letterSpacing","marginLeft","line","paddingRight","lineText","marginRight","help","marginTop","titleHelp","ctaHelp","textDecorationLine","Corner","props","lineLength","Target","animationRef","useRef","Animated","Value","current","interpolate","inputRange","outputRange","useEffect","animation","timing","toValue","duration","delay","easing","Easing","out","sin","useNativeDriver","start","rotate","Explanations","locales","onHelpPress","animateBottom","title","explanation1","explanation2","QRCodeScanner","hasPermission","onScan","handleRead","useCallback","data","undefined","blurRef","blurOpacity","captureAudio"],"sources":["../../../../src/template/mobile-login/qr-code-scanner/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useRef} from 'react';\nimport {Animated, Easing, StyleSheet, Text, View, ViewStyle} from 'react-native';\n\nimport QRCodeScannerBase from 'react-native-qrcode-scanner';\nimport type {BarCodeReadEvent} from 'react-native-camera';\nimport {NovaCompositionCoorpacademyQrCode as QrCodeIcon} from '@coorpacademy/nova-icons';\nimport Touchable from '../../../hoc/touchable/index.native';\n\nexport interface Props {\n hasPermission: boolean;\n onScan: (token?: string) => void;\n onHelpPress: () => void;\n locales: {\n title: string;\n explanation1: string;\n explanation2: string;\n ctaHelp: string;\n titleHelp: string;\n };\n}\n\nconst HEIGHT = 280;\nconst WIDTH = 280;\nconst COLOR = '#fff';\nconst BORDER_RADIUS = 8;\n\nconst LINE_WIDTH = 7;\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%'\n },\n camera: {\n width: '100%',\n height: '100%'\n },\n blurs: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n opacity: 0.6\n },\n blurTop: {\n position: 'absolute',\n backgroundColor: '#000',\n width: '100%',\n height: '35%',\n transform: [{translateY: -HEIGHT / 2 + LINE_WIDTH / 2}]\n },\n blurBottom: {\n position: 'absolute',\n backgroundColor: '#000',\n width: '100%',\n height: '65%',\n bottom: 0,\n transform: [{translateY: HEIGHT / 2 - LINE_WIDTH / 2}]\n },\n blurLeft: {\n position: 'absolute',\n backgroundColor: '#000',\n width: '50%',\n height: HEIGHT - LINE_WIDTH,\n left: 0,\n top: '35%',\n transform: [\n {translateX: -WIDTH / 2 + LINE_WIDTH / 2},\n {translateY: -HEIGHT / 2 + LINE_WIDTH / 2}\n ]\n },\n blurRight: {\n position: 'absolute',\n backgroundColor: '#000',\n width: '50%',\n height: HEIGHT - LINE_WIDTH,\n right: 0,\n top: '35%',\n transform: [\n {translateX: WIDTH / 2 - LINE_WIDTH / 2},\n {translateY: -HEIGHT / 2 + LINE_WIDTH / 2}\n ]\n }\n});\n\nconst targetStyle = StyleSheet.create({\n target: {\n width: HEIGHT,\n height: WIDTH,\n top: '35%',\n left: '50%',\n transform: [{translateX: -WIDTH / 2}, {translateY: -HEIGHT / 2}],\n borderRadius: BORDER_RADIUS,\n position: 'absolute',\n overflow: 'hidden'\n },\n square: {\n position: 'absolute',\n width: '35%',\n height: '35%'\n },\n stroke: {\n position: 'absolute',\n top: 0,\n left: 0,\n backgroundColor: COLOR,\n borderRadius: BORDER_RADIUS\n }\n});\n\nconst explanationsStyle = StyleSheet.create({\n explanations: {\n position: 'absolute',\n width: '100%',\n height: 300,\n bottom: 0,\n backgroundColor: '#fff',\n borderRadius: 30,\n padding: 24\n },\n titleWrapper: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n paddingVertical: 16\n },\n qrCodeIcon: {\n fill: '#000',\n height: 14,\n width: 14\n },\n titleText: {\n fontWeight: '600',\n color: '#1D1D2B',\n fontSize: 21,\n lineHeight: 30,\n letterSpacing: 0.5,\n marginLeft: 5\n },\n line: {\n flexDirection: 'row',\n paddingRight: 24,\n paddingVertical: 8\n },\n lineText: {\n fontWeight: '400',\n color: '#1D1D2B',\n fontSize: 18,\n lineHeight: 24,\n letterSpacing: 0.5,\n marginRight: 7\n },\n help: {\n flexDirection: 'row',\n marginTop: 12\n },\n titleHelp: {\n fontSize: 16,\n color: '#9999A8'\n },\n ctaHelp: {\n marginLeft: 5,\n fontSize: 16,\n letterSpacing: 0.5,\n textDecorationLine: 'underline',\n color: '#9999A8'\n }\n});\n\nconst Corner = (props: {position: ViewStyle; lineLength: Animated.AnimatedInterpolation}) => {\n const {position, lineLength} = props;\n\n return (\n <View style={[targetStyle.square, position]}>\n <Animated.View style={[targetStyle.stroke, {height: LINE_WIDTH, width: lineLength}]} />\n <Animated.View style={[targetStyle.stroke, {width: LINE_WIDTH, height: lineLength}]} />\n </View>\n );\n};\n\nconst Target = () => {\n const animationRef = useRef<Animated.Value>(new Animated.Value(0)).current;\n const lineLength = animationRef.interpolate({\n inputRange: [0, 1],\n outputRange: [0, WIDTH * 0.35]\n });\n\n useEffect(() => {\n const animation = Animated.timing(animationRef, {\n toValue: 1,\n duration: 700,\n delay: 400,\n easing: Easing.out(Easing.sin),\n useNativeDriver: false\n });\n\n animation.start();\n // on mount only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <View style={targetStyle.target}>\n <Corner lineLength={lineLength} position={{top: 0, left: 0, transform: [{rotate: '0deg'}]}} />\n <Corner\n lineLength={lineLength}\n position={{top: 0, right: 0, transform: [{rotate: '90deg'}]}}\n />\n <Corner\n lineLength={lineLength}\n position={{bottom: 0, right: 0, transform: [{rotate: '180deg'}]}}\n />\n <Corner\n lineLength={lineLength}\n position={{bottom: 0, left: 0, transform: [{rotate: '270deg'}]}}\n />\n </View>\n );\n};\n\nconst Explanations = (props: {locales: Props['locales']; onHelpPress: Props['onHelpPress']}) => {\n const {locales, onHelpPress} = props;\n\n const animationRef = useRef<Animated.Value>(new Animated.Value(0)).current;\n const animateBottom = animationRef.interpolate({\n inputRange: [0, 1],\n outputRange: [-300, 0]\n });\n\n useEffect(() => {\n const animation = Animated.timing(animationRef, {\n toValue: 1,\n duration: 600,\n delay: 400,\n easing: Easing.out(Easing.sin),\n useNativeDriver: false\n });\n\n animation.start();\n\n // on mount only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Animated.View style={[explanationsStyle.explanations, {bottom: animateBottom}]}>\n <View style={explanationsStyle.titleWrapper}>\n <QrCodeIcon style={explanationsStyle.qrCodeIcon} />\n <Text style={explanationsStyle.titleText}>{locales.title}</Text>\n </View>\n <View style={explanationsStyle.line}>\n <Text style={explanationsStyle.lineText}>1.</Text>\n <Text style={explanationsStyle.lineText}>{locales.explanation1}</Text>\n </View>\n <View style={explanationsStyle.line}>\n <Text style={explanationsStyle.lineText}>2.</Text>\n <Text style={explanationsStyle.lineText}>{locales.explanation2}</Text>\n </View>\n\n <Touchable onPress={onHelpPress} style={explanationsStyle.help}>\n <Text style={explanationsStyle.titleHelp}>{locales.titleHelp}</Text>\n <Text style={explanationsStyle.ctaHelp}>{locales.ctaHelp}</Text>\n </Touchable>\n </Animated.View>\n );\n};\n\nconst QRCodeScanner = (props: Props) => {\n const {hasPermission, locales, onScan, onHelpPress} = props;\n\n const handleRead = useCallback(({data}: BarCodeReadEvent) => {\n onScan(typeof data === 'string' ? data : undefined);\n // on mount only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const blurRef = useRef<Animated.Value>(new Animated.Value(0)).current;\n const blurOpacity = blurRef.interpolate({\n inputRange: [0, 1],\n outputRange: [0, 0.7]\n });\n\n useEffect(() => {\n const animation = Animated.timing(blurRef, {\n toValue: 1,\n duration: 800,\n delay: 600,\n easing: Easing.out(Easing.sin),\n useNativeDriver: false\n });\n\n animation.start();\n\n // on mount only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <View style={styles.container} testID=\"qr-code-scanner\">\n {hasPermission ? (\n <QRCodeScannerBase\n fadeIn={false}\n onRead={handleRead}\n cameraStyle={styles.camera}\n cameraProps={{captureAudio: false}}\n />\n ) : null}\n <Animated.View style={[styles.blurs, {opacity: blurOpacity}]}>\n <View style={styles.blurTop} />\n <View style={styles.blurBottom} />\n <View style={styles.blurLeft} />\n <View style={styles.blurRight} />\n </Animated.View>\n <Target />\n <Explanations locales={locales} onHelpPress={onHelpPress} />\n </View>\n );\n};\n\nexport default QRCodeScanner;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AA0KA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,OAAO,UAAW,KAAK,uBAqI5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
|