@coorpacademy/components 11.14.9 → 11.14.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/es/atom/button/index.native.d.ts.map +1 -1
  2. package/es/atom/button/index.native.js +6 -1
  3. package/es/atom/button/index.native.js.map +1 -1
  4. package/es/atom/button-link/index.d.ts.map +1 -1
  5. package/es/atom/button-link/index.js +1 -2
  6. package/es/atom/button-link/index.js.map +1 -1
  7. package/es/atom/html/index.native.js +2 -2
  8. package/es/atom/html/index.native.js.map +1 -1
  9. package/es/atom/select-modal/index.native.d.ts.map +1 -1
  10. package/es/atom/select-modal/index.native.js +4 -5
  11. package/es/atom/select-modal/index.native.js.map +1 -1
  12. package/es/atom/text/index.native.d.ts +3 -6
  13. package/es/atom/text/index.native.d.ts.map +1 -1
  14. package/es/atom/text/index.native.js +11 -11
  15. package/es/atom/text/index.native.js.map +1 -1
  16. package/es/hoc/modal/select-item/index.native.d.ts.map +1 -1
  17. package/es/hoc/modal/select-item/index.native.js +4 -2
  18. package/es/hoc/modal/select-item/index.native.js.map +1 -1
  19. package/es/molecule/external-content-button/index.d.ts.map +1 -1
  20. package/es/molecule/external-content-button/index.js +2 -1
  21. package/es/molecule/external-content-button/index.js.map +1 -1
  22. package/es/molecule/questions/mobile/slider/index.native.d.ts.map +1 -1
  23. package/es/molecule/questions/mobile/slider/index.native.js +6 -4
  24. package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
  25. package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  26. package/es/molecule/questions/qcm-graphic/index.js +1 -2
  27. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  28. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  29. package/es/organism/review-slide/index.native.js +2 -13
  30. package/es/organism/review-slide/index.native.js.map +1 -1
  31. package/es/template/mobile-login/qr-code-scanner/index.native.d.ts.map +1 -1
  32. package/es/template/mobile-login/qr-code-scanner/index.native.js +6 -5
  33. package/es/template/mobile-login/qr-code-scanner/index.native.js.map +1 -1
  34. package/es/template/mobile-login/receive-email/index.native.d.ts +13 -0
  35. package/es/template/mobile-login/receive-email/index.native.d.ts.map +1 -0
  36. package/es/template/mobile-login/receive-email/index.native.js +196 -0
  37. package/es/template/mobile-login/receive-email/index.native.js.map +1 -0
  38. package/es/template/mobile-login/welcome/index.native.d.ts.map +1 -1
  39. package/es/template/mobile-login/welcome/index.native.js +4 -3
  40. package/es/template/mobile-login/welcome/index.native.js.map +1 -1
  41. package/es/util/use-mobile-keyboard-visibility.d.ts +3 -0
  42. package/es/util/use-mobile-keyboard-visibility.d.ts.map +1 -0
  43. package/es/util/use-mobile-keyboard-visibility.js +22 -0
  44. package/es/util/use-mobile-keyboard-visibility.js.map +1 -0
  45. package/lib/atom/button/index.native.d.ts.map +1 -1
  46. package/lib/atom/button/index.native.js +6 -1
  47. package/lib/atom/button/index.native.js.map +1 -1
  48. package/lib/atom/button-link/index.d.ts.map +1 -1
  49. package/lib/atom/button-link/index.js.map +1 -1
  50. package/lib/atom/html/index.native.js +2 -2
  51. package/lib/atom/html/index.native.js.map +1 -1
  52. package/lib/atom/select-modal/index.native.d.ts.map +1 -1
  53. package/lib/atom/select-modal/index.native.js +4 -5
  54. package/lib/atom/select-modal/index.native.js.map +1 -1
  55. package/lib/atom/text/index.native.d.ts +3 -6
  56. package/lib/atom/text/index.native.d.ts.map +1 -1
  57. package/lib/atom/text/index.native.js +13 -17
  58. package/lib/atom/text/index.native.js.map +1 -1
  59. package/lib/hoc/modal/select-item/index.native.d.ts.map +1 -1
  60. package/lib/hoc/modal/select-item/index.native.js +4 -2
  61. package/lib/hoc/modal/select-item/index.native.js.map +1 -1
  62. package/lib/molecule/external-content-button/index.d.ts.map +1 -1
  63. package/lib/molecule/external-content-button/index.js +2 -1
  64. package/lib/molecule/external-content-button/index.js.map +1 -1
  65. package/lib/molecule/questions/mobile/slider/index.native.d.ts.map +1 -1
  66. package/lib/molecule/questions/mobile/slider/index.native.js +6 -4
  67. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
  68. package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
  69. package/lib/molecule/questions/qcm-graphic/index.js +1 -2
  70. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  71. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  72. package/lib/organism/review-slide/index.native.js +3 -15
  73. package/lib/organism/review-slide/index.native.js.map +1 -1
  74. package/lib/template/mobile-login/qr-code-scanner/index.native.d.ts.map +1 -1
  75. package/lib/template/mobile-login/qr-code-scanner/index.native.js +13 -11
  76. package/lib/template/mobile-login/qr-code-scanner/index.native.js.map +1 -1
  77. package/lib/template/mobile-login/receive-email/index.native.d.ts +13 -0
  78. package/lib/template/mobile-login/receive-email/index.native.d.ts.map +1 -0
  79. package/lib/template/mobile-login/receive-email/index.native.js +215 -0
  80. package/lib/template/mobile-login/receive-email/index.native.js.map +1 -0
  81. package/lib/template/mobile-login/welcome/index.native.d.ts.map +1 -1
  82. package/lib/template/mobile-login/welcome/index.native.js +10 -8
  83. package/lib/template/mobile-login/welcome/index.native.js.map +1 -1
  84. package/lib/util/use-mobile-keyboard-visibility.d.ts +3 -0
  85. package/lib/util/use-mobile-keyboard-visibility.d.ts.map +1 -0
  86. package/lib/util/use-mobile-keyboard-visibility.js +31 -0
  87. package/lib/util/use-mobile-keyboard-visibility.js.map +1 -0
  88. package/locales/.mtslconfig.json +1 -0
  89. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","hiddenCheckbox","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n const checkboxId = `checkbox-graphic-${key}`;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n >\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IACA,MAAMO,UAAU,GAAI,oBAAmBN,GAAI,EAA3C;IAEA,oBACE;MACE,OAAO,EAAEC,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdI,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BZ,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGM,cAAA,CAAMN,QAAT,GAAoBM,cAAA,CAAMV,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLU,eAAe,EAAEP,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEa,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYR,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLY,eAAe,EAAG,OAAMV,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEK,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEb,KADT;MAEE,SAAS,EAAE,IAAAc,mBAAA,EAAWP,cAAA,CAAMP,KAAjB,EAAwBO,cAAA,CAAMQ,SAA9B,CAFb,CAGE;;IAHF,gBAKE;MAAO,OAAO,EAAEX;IAAhB,gBACE;MACE,EAAE,EAAEA,UADN;MAEE,IAAI,EAAC,UAFP;MAGE,KAAK,EAAEJ,KAHT;MAIE,OAAO,EAAEC,QAJX;MAKE,QAAQ,EAAEF,OALZ;MAME,SAAS,EAAEQ,cAAA,CAAMS;IANnB,EADF,EASGhB,KATH,CALF,CADF,CATF,CAnBF,CADF;EAmDD,CAvDoB,CAArB;EAyDA,oBACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEO,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAY1B;EAJd,GAMGI,YANH,CADF;AAUD,CAxED;;AA0EAR,QAAQ,CAAC+B,YAAT,GAAwB;EACtB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADX,CAAxB;AAIAL,QAAQ,CAACkC,SAAT,2CAAqB;EACnB/B,OAAO,EAAEgC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdxB,KAAK,EAAEsB,kBAAA,CAAUG,MADH;IAEdxB,QAAQ,EAAEqB,kBAAA,CAAUI,IAFN;IAGd3B,OAAO,EAAEuB,kBAAA,CAAUK,IAHL;IAIdzB,KAAK,EAAEoB,kBAAA,CAAUG,MAJH;IAKdtB,SAAS,EAAEmB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBlC,cAAc,EAAE+B,kBAAA,CAAUG;AAVP,CAArB;eAaetC,Q"}
1
+ {"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","hiddenCheckbox","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n const checkboxId = `checkbox-graphic-${key}`;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div title={title} className={classnames(style.title, style.innerHTML)}>\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IACA,MAAMO,UAAU,GAAI,oBAAmBN,GAAI,EAA3C;IAEA,oBACE;MACE,OAAO,EAAEC,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdI,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BZ,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGM,cAAA,CAAMN,QAAT,GAAoBM,cAAA,CAAMV,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLU,eAAe,EAAEP,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEa,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYR,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLY,eAAe,EAAG,OAAMV,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEK,cAAA,CAAMM;IAA7C,gBACE;MAAK,KAAK,EAAEb,KAAZ;MAAmB,SAAS,EAAE,IAAAc,mBAAA,EAAWP,cAAA,CAAMP,KAAjB,EAAwBO,cAAA,CAAMQ,SAA9B;IAA9B,gBACE;MAAO,OAAO,EAAEX;IAAhB,gBACE;MACE,EAAE,EAAEA,UADN;MAEE,IAAI,EAAC,UAFP;MAGE,KAAK,EAAEJ,KAHT;MAIE,OAAO,EAAEC,QAJX;MAKE,QAAQ,EAAEF,OALZ;MAME,SAAS,EAAEQ,cAAA,CAAMS;IANnB,EADF,EASGhB,KATH,CADF,CADF,CATF,CAnBF,CADF;EA+CD,CAnDoB,CAArB;EAqDA,oBACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEO,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAY1B;EAJd,GAMGI,YANH,CADF;AAUD,CApED;;AAsEAR,QAAQ,CAAC+B,YAAT,GAAwB;EACtB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADX,CAAxB;AAIAL,QAAQ,CAACkC,SAAT,2CAAqB;EACnB/B,OAAO,EAAEgC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdxB,KAAK,EAAEsB,kBAAA,CAAUG,MADH;IAEdxB,QAAQ,EAAEqB,kBAAA,CAAUI,IAFN;IAGd3B,OAAO,EAAEuB,kBAAA,CAAUK,IAHL;IAIdzB,KAAK,EAAEoB,kBAAA,CAAUG,MAJH;IAKdtB,SAAS,EAAEmB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBlC,cAAc,EAAE+B,kBAAA,CAAUG;AAVP,CAArB;eAaetC,Q"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA0BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBAmFrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA2BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBAqErC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -27,6 +27,8 @@ var _index4 = _interopRequireDefault(require("../../molecule/video-player-mobile
27
27
 
28
28
  var _index5 = _interopRequireDefault(require("../../atom/html/index.native"));
29
29
 
30
+ var _useMobileKeyboardVisibility = _interopRequireDefault(require("../../util/use-mobile-keyboard-visibility"));
31
+
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
33
 
32
34
  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); }
@@ -269,21 +271,7 @@ const Slide = props => {
269
271
  slideIndex = '0'
270
272
  } = props;
271
273
  const [isValidated, setValidated] = (0, _react.useState)(false);
272
- const [isKeyboardVisible, setKeyboardVisible] = (0, _react.useState)(false);
273
- (0, _react.useEffect)(() => {
274
- const showListener = _reactNative.Keyboard.addListener('keyboardDidShow', () => {
275
- setKeyboardVisible(true);
276
- });
277
-
278
- const hideListener = _reactNative.Keyboard.addListener('keyboardDidHide', () => {
279
- setKeyboardVisible(false);
280
- });
281
-
282
- return () => {
283
- showListener.remove();
284
- hideListener.remove();
285
- };
286
- }, []);
274
+ const isKeyboardVisible = (0, _useMobileKeyboardVisibility.default)();
287
275
  const handleValidatePress = (0, _react.useCallback)(() => {
288
276
  _reactNative.Keyboard.dismiss();
289
277
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","TYPE_IMAGE","uri","url","split","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","hasVideoOrImage","includes","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","setKeyboardVisible","showListener","Keyboard","addListener","hideListener","remove","handleValidatePress","useCallback","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: ViewStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n const [isKeyboardVisible, setKeyboardVisible] = useState<boolean>(false);\n\n useEffect(() => {\n const showListener = Keyboard.addListener('keyboardDidShow', () => {\n setKeyboardVisible(true);\n });\n\n const hideListener = Keyboard.addListener('keyboardDidHide', () => {\n setKeyboardVisible(false);\n });\n\n return () => {\n showListener.remove();\n hideListener.remove();\n };\n }, []);\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","TYPE_IMAGE","uri","url","split","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","hasVideoOrImage","includes","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","useMobileKeyboardVisibility","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: ViewStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
@@ -1 +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;AAyPD,QAAA,MAAM,aAAa,UAAW,KAAK,gBAkDlC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/qr-code-scanner/index.native.tsx"],"names":[],"mappings":";AASA,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;AAyPD,QAAA,MAAM,aAAa,UAAW,KAAK,gBAkDlC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -13,6 +13,8 @@ var _novaIcons = require("@coorpacademy/nova-icons");
13
13
 
14
14
  var _index = _interopRequireDefault(require("../../../hoc/touchable/index.native"));
15
15
 
16
+ var _index2 = _interopRequireDefault(require("../../../atom/text/index.native"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  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); }
@@ -120,13 +122,13 @@ const explanationsStyle = _reactNative.StyleSheet.create({
120
122
  explanations: {
121
123
  position: 'absolute',
122
124
  width: '100%',
123
- height: 260,
124
125
  bottom: 0,
125
126
  backgroundColor: '#fff',
126
127
  borderTopLeftRadius: 30,
127
128
  borderTopRightRadius: 30,
128
129
  paddingHorizontal: 24,
129
- paddingVertical: 8
130
+ paddingTop: 8,
131
+ paddingBottom: 30
130
132
  },
131
133
  titleWrapper: {
132
134
  flexDirection: 'row',
@@ -143,9 +145,9 @@ const explanationsStyle = _reactNative.StyleSheet.create({
143
145
  fontWeight: '600',
144
146
  color: '#1D1D2B',
145
147
  fontSize: 21,
146
- lineHeight: 30,
148
+ lineHeight: 24,
147
149
  letterSpacing: 0.5,
148
- marginLeft: 5
150
+ marginLeft: 7
149
151
  },
150
152
  line: {
151
153
  flexDirection: 'row',
@@ -286,26 +288,26 @@ const Explanations = props => {
286
288
  style: explanationsStyle.titleWrapper
287
289
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyQrCode, {
288
290
  style: explanationsStyle.qrCodeIcon
289
- }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
291
+ }), /*#__PURE__*/_react.default.createElement(_index2.default, {
290
292
  style: explanationsStyle.titleText
291
293
  }, locales.title)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
292
294
  style: explanationsStyle.line
293
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
295
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, {
294
296
  style: explanationsStyle.lineText
295
- }, "1."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
297
+ }, "1."), /*#__PURE__*/_react.default.createElement(_index2.default, {
296
298
  style: explanationsStyle.lineText
297
299
  }, locales.explanation1)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
298
300
  style: explanationsStyle.line
299
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
301
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, {
300
302
  style: explanationsStyle.lineText
301
- }, "2."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
303
+ }, "2."), /*#__PURE__*/_react.default.createElement(_index2.default, {
302
304
  style: explanationsStyle.lineText
303
305
  }, locales.explanation2)), /*#__PURE__*/_react.default.createElement(_index.default, {
304
306
  onPress: onHelpPress,
305
307
  style: explanationsStyle.help
306
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
308
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, {
307
309
  style: explanationsStyle.titleHelp
308
- }, locales.titleHelp), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
310
+ }, locales.titleHelp), /*#__PURE__*/_react.default.createElement(_index2.default, {
309
311
  style: explanationsStyle.ctaHelp
310
312
  }, locales.ctaHelp)));
311
313
  };
@@ -1 +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","borderTopLeftRadius","borderTopRightRadius","paddingHorizontal","paddingVertical","titleWrapper","flexDirection","alignItems","justifyContent","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: 260,\n bottom: 0,\n backgroundColor: '#fff',\n borderTopLeftRadius: 30,\n borderTopRightRadius: 30,\n paddingHorizontal: 24,\n paddingVertical: 8\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":";;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;;;;;;;AAeA,MAAMA,MAAM,GAAG,GAAf;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,KAAK,GAAG,MAAd;AACA,MAAMC,aAAa,GAAG,CAAtB;AAEA,MAAMC,UAAU,GAAG,CAAnB;;AAEA,MAAMC,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,SAAS,EAAE;IACTC,KAAK,EAAE,MADE;IAETC,MAAM,EAAE;EAFC,CADoB;EAK/BC,MAAM,EAAE;IACNF,KAAK,EAAE,MADD;IAENC,MAAM,EAAE;EAFF,CALuB;EAS/BE,KAAK,EAAE;IACLC,QAAQ,EAAE,UADL;IAELJ,KAAK,EAAE,MAFF;IAGLC,MAAM,EAAE,MAHH;IAILI,OAAO,EAAE;EAJJ,CATwB;EAe/BC,OAAO,EAAE;IACPF,QAAQ,EAAE,UADH;IAEPG,eAAe,EAAE,MAFV;IAGPP,KAAK,EAAE,MAHA;IAIPC,MAAM,EAAE,KAJD;IAKPO,SAAS,EAAE,CAAC;MAACC,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAAD;EALJ,CAfsB;EAsB/Be,UAAU,EAAE;IACVN,QAAQ,EAAE,UADA;IAEVG,eAAe,EAAE,MAFP;IAGVP,KAAK,EAAE,MAHG;IAIVC,MAAM,EAAE,KAJE;IAKVU,MAAM,EAAE,CALE;IAMVH,SAAS,EAAE,CAAC;MAACC,UAAU,EAAElB,MAAM,GAAG,CAAT,GAAaI,UAAU,GAAG;IAAvC,CAAD;EAND,CAtBmB;EA8B/BiB,QAAQ,EAAE;IACRR,QAAQ,EAAE,UADF;IAERG,eAAe,EAAE,MAFT;IAGRP,KAAK,EAAE,KAHC;IAIRC,MAAM,EAAEV,MAAM,GAAGI,UAJT;IAKRkB,IAAI,EAAE,CALE;IAMRC,GAAG,EAAE,KANG;IAORN,SAAS,EAAE,CACT;MAACO,UAAU,EAAE,CAACvB,KAAD,GAAS,CAAT,GAAaG,UAAU,GAAG;IAAvC,CADS,EAET;MAACc,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAFS;EAPH,CA9BqB;EA0C/BqB,SAAS,EAAE;IACTZ,QAAQ,EAAE,UADD;IAETG,eAAe,EAAE,MAFR;IAGTP,KAAK,EAAE,KAHE;IAITC,MAAM,EAAEV,MAAM,GAAGI,UAJR;IAKTsB,KAAK,EAAE,CALE;IAMTH,GAAG,EAAE,KANI;IAOTN,SAAS,EAAE,CACT;MAACO,UAAU,EAAEvB,KAAK,GAAG,CAAR,GAAYG,UAAU,GAAG;IAAtC,CADS,EAET;MAACc,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAFS;EAPF;AA1CoB,CAAlB,CAAf;;AAwDA,MAAMuB,WAAW,GAAGrB,uBAAA,CAAWC,MAAX,CAAkB;EACpCqB,MAAM,EAAE;IACNnB,KAAK,EAAET,MADD;IAENU,MAAM,EAAET,KAFF;IAGNsB,GAAG,EAAE,KAHC;IAIND,IAAI,EAAE,KAJA;IAKNL,SAAS,EAAE,CAAC;MAACO,UAAU,EAAE,CAACvB,KAAD,GAAS;IAAtB,CAAD,EAA2B;MAACiB,UAAU,EAAE,CAAClB,MAAD,GAAU;IAAvB,CAA3B,CALL;IAMN6B,YAAY,EAAE1B,aANR;IAONU,QAAQ,EAAE,UAPJ;IAQNiB,QAAQ,EAAE;EARJ,CAD4B;EAWpCC,MAAM,EAAE;IACNlB,QAAQ,EAAE,UADJ;IAENJ,KAAK,EAAE,KAFD;IAGNC,MAAM,EAAE;EAHF,CAX4B;EAgBpCsB,MAAM,EAAE;IACNnB,QAAQ,EAAE,UADJ;IAENU,GAAG,EAAE,CAFC;IAGND,IAAI,EAAE,CAHA;IAINN,eAAe,EAAEd,KAJX;IAKN2B,YAAY,EAAE1B;EALR;AAhB4B,CAAlB,CAApB;;AAyBA,MAAM8B,iBAAiB,GAAG3B,uBAAA,CAAWC,MAAX,CAAkB;EAC1C2B,YAAY,EAAE;IACZrB,QAAQ,EAAE,UADE;IAEZJ,KAAK,EAAE,MAFK;IAGZC,MAAM,EAAE,GAHI;IAIZU,MAAM,EAAE,CAJI;IAKZJ,eAAe,EAAE,MALL;IAMZmB,mBAAmB,EAAE,EANT;IAOZC,oBAAoB,EAAE,EAPV;IAQZC,iBAAiB,EAAE,EARP;IASZC,eAAe,EAAE;EATL,CAD4B;EAY1CC,YAAY,EAAE;IACZC,aAAa,EAAE,KADH;IAEZC,UAAU,EAAE,QAFA;IAGZC,cAAc,EAAE,YAHJ;IAIZJ,eAAe,EAAE;EAJL,CAZ4B;EAkB1CK,UAAU,EAAE;IACVC,IAAI,EAAE,MADI;IAEVlC,MAAM,EAAE,EAFE;IAGVD,KAAK,EAAE;EAHG,CAlB8B;EAuB1CoC,SAAS,EAAE;IACTC,UAAU,EAAE,KADH;IAETC,KAAK,EAAE,SAFE;IAGTC,QAAQ,EAAE,EAHD;IAITC,UAAU,EAAE,EAJH;IAKTC,aAAa,EAAE,GALN;IAMTC,UAAU,EAAE;EANH,CAvB+B;EA+B1CC,IAAI,EAAE;IACJZ,aAAa,EAAE,KADX;IAEJa,YAAY,EAAE,EAFV;IAGJf,eAAe,EAAE;EAHb,CA/BoC;EAoC1CgB,QAAQ,EAAE;IACRR,UAAU,EAAE,KADJ;IAERC,KAAK,EAAE,SAFC;IAGRC,QAAQ,EAAE,EAHF;IAIRC,UAAU,EAAE,EAJJ;IAKRC,aAAa,EAAE,GALP;IAMRK,WAAW,EAAE;EANL,CApCgC;EA4C1CC,IAAI,EAAE;IACJhB,aAAa,EAAE,KADX;IAEJiB,SAAS,EAAE;EAFP,CA5CoC;EAgD1CC,SAAS,EAAE;IACTV,QAAQ,EAAE,EADD;IAETD,KAAK,EAAE;EAFE,CAhD+B;EAoD1CY,OAAO,EAAE;IACPR,UAAU,EAAE,CADL;IAEPH,QAAQ,EAAE,EAFH;IAGPE,aAAa,EAAE,GAHR;IAIPU,kBAAkB,EAAE,WAJb;IAKPb,KAAK,EAAE;EALA;AApDiC,CAAlB,CAA1B;;AA6DA,MAAMc,MAAM,GAAIC,KAAD,IAA8E;EAC3F,MAAM;IAACjD,QAAD;IAAWkD;EAAX,IAAyBD,KAA/B;EAEA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACnC,WAAW,CAACI,MAAb,EAAqBlB,QAArB;EAAb,gBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACc,WAAW,CAACK,MAAb,EAAqB;MAACtB,MAAM,EAAEN,UAAT;MAAqBK,KAAK,EAAEsD;IAA5B,CAArB;EAAtB,EADF,eAEE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACpC,WAAW,CAACK,MAAb,EAAqB;MAACvB,KAAK,EAAEL,UAAR;MAAoBM,MAAM,EAAEqD;IAA5B,CAArB;EAAtB,EAFF,CADF;AAMD,CATD;;AAWA,MAAMC,MAAM,GAAG,MAAM;EACnB,MAAMC,YAAY,GAAG,IAAAC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAAnE;EACA,MAAMN,UAAU,GAAGE,YAAY,CAACK,WAAb,CAAyB;IAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;IAE1CC,WAAW,EAAE,CAAC,CAAD,EAAIvE,KAAK,GAAG,IAAZ;EAF6B,CAAzB,CAAnB;EAKA,IAAAwE,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgBV,YAAhB,EAA8B;MAC9CW,OAAO,EAAE,CADqC;MAE9CC,QAAQ,EAAE,GAFoC;MAG9CC,KAAK,EAAE,GAHuC;MAI9CC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJsC;MAK9CC,eAAe,EAAE;IAL6B,CAA9B,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAUd;IACA;EACD,CAZD,EAYG,EAZH;EAcA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEzD,WAAW,CAACC;EAAzB,gBACE,6BAAC,MAAD;IAAQ,UAAU,EAAEmC,UAApB;IAAgC,QAAQ,EAAE;MAACxC,GAAG,EAAE,CAAN;MAASD,IAAI,EAAE,CAAf;MAAkBL,SAAS,EAAE,CAAC;QAACoE,MAAM,EAAE;MAAT,CAAD;IAA7B;EAA1C,EADF,eAEE,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAACxC,GAAG,EAAE,CAAN;MAASG,KAAK,EAAE,CAAhB;MAAmBT,SAAS,EAAE,CAAC;QAACoE,MAAM,EAAE;MAAT,CAAD;IAA9B;EAFZ,EAFF,eAME,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAAC3C,MAAM,EAAE,CAAT;MAAYM,KAAK,EAAE,CAAnB;MAAsBT,SAAS,EAAE,CAAC;QAACoE,MAAM,EAAE;MAAT,CAAD;IAAjC;EAFZ,EANF,eAUE,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAAC3C,MAAM,EAAE,CAAT;MAAYE,IAAI,EAAE,CAAlB;MAAqBL,SAAS,EAAE,CAAC;QAACoE,MAAM,EAAE;MAAT,CAAD;IAAhC;EAFZ,EAVF,CADF;AAiBD,CAtCD;;AAwCA,MAAMC,YAAY,GAAIxB,KAAD,IAA2E;EAC9F,MAAM;IAACyB,OAAD;IAAUC;EAAV,IAAyB1B,KAA/B;EAEA,MAAMG,YAAY,GAAG,IAAAC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAAnE;EACA,MAAMoB,aAAa,GAAGxB,YAAY,CAACK,WAAb,CAAyB;IAC7CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADiC;IAE7CC,WAAW,EAAE,CAAC,CAAC,GAAF,EAAO,CAAP;EAFgC,CAAzB,CAAtB;EAKA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgBV,YAAhB,EAA8B;MAC9CW,OAAO,EAAE,CADqC;MAE9CC,QAAQ,EAAE,GAFoC;MAG9CC,KAAK,EAAE,GAHuC;MAI9CC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJsC;MAK9CC,eAAe,EAAE;IAL6B,CAA9B,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAWd;IACA;EACD,CAbD,EAaG,EAbH;EAeA,oBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACnD,iBAAiB,CAACC,YAAnB,EAAiC;MAACd,MAAM,EAAEqE;IAAT,CAAjC;EAAtB,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAExD,iBAAiB,CAACM;EAA/B,gBACE,6BAAC,4CAAD;IAAY,KAAK,EAAEN,iBAAiB,CAACU;EAArC,EADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEV,iBAAiB,CAACY;EAA/B,GAA2C0C,OAAO,CAACG,KAAnD,CAFF,CADF,eAKE,6BAAC,iBAAD;IAAM,KAAK,EAAEzD,iBAAiB,CAACmB;EAA/B,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEnB,iBAAiB,CAACqB;EAA/B,QADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAErB,iBAAiB,CAACqB;EAA/B,GAA0CiC,OAAO,CAACI,YAAlD,CAFF,CALF,eASE,6BAAC,iBAAD;IAAM,KAAK,EAAE1D,iBAAiB,CAACmB;EAA/B,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEnB,iBAAiB,CAACqB;EAA/B,QADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAErB,iBAAiB,CAACqB;EAA/B,GAA0CiC,OAAO,CAACK,YAAlD,CAFF,CATF,eAcE,6BAAC,cAAD;IAAW,OAAO,EAAEJ,WAApB;IAAiC,KAAK,EAAEvD,iBAAiB,CAACuB;EAA1D,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEvB,iBAAiB,CAACyB;EAA/B,GAA2C6B,OAAO,CAAC7B,SAAnD,CADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEzB,iBAAiB,CAAC0B;EAA/B,GAAyC4B,OAAO,CAAC5B,OAAjD,CAFF,CAdF,CADF;AAqBD,CA7CD;;AA+CA,MAAMkC,aAAa,GAAI/B,KAAD,IAAkB;EACtC,MAAM;IAACgC,aAAD;IAAgBP,OAAhB;IAAyBQ,MAAzB;IAAiCP;EAAjC,IAAgD1B,KAAtD;EAEA,MAAMkC,UAAU,GAAG,IAAAC,kBAAA,EAAY,CAAC;IAACC;EAAD,CAAD,KAA8B;IAC3DH,MAAM,CAAC,OAAOG,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCC,SAAnC,CAAN,CAD2D,CAE3D;IACA;EACD,CAJkB,EAIhB,EAJgB,CAAnB;EAMA,MAAMC,OAAO,GAAG,IAAAlC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAA9D;EACA,MAAMgC,WAAW,GAAGD,OAAO,CAAC9B,WAAR,CAAoB;IACtCC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD0B;IAEtCC,WAAW,EAAE,CAAC,CAAD,EAAI,GAAJ;EAFyB,CAApB,CAApB;EAKA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgByB,OAAhB,EAAyB;MACzCxB,OAAO,EAAE,CADgC;MAEzCC,QAAQ,EAAE,GAF+B;MAGzCC,KAAK,EAAE,GAHkC;MAIzCC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJiC;MAKzCC,eAAe,EAAE;IALwB,CAAzB,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAWd;IACA;EACD,CAbD,EAaG,EAbH;EAeA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE/E,MAAM,CAACG,SAApB;IAA+B,MAAM,EAAC;EAAtC,GACGsF,aAAa,gBACZ,6BAAC,iCAAD;IACE,MAAM,EAAE,KADV;IAEE,MAAM,EAAEE,UAFV;IAGE,WAAW,EAAE3F,MAAM,CAACM,MAHtB;IAIE,WAAW,EAAE;MAAC2F,YAAY,EAAE;IAAf;EAJf,EADY,GAOV,IARN,eASE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACjG,MAAM,CAACO,KAAR,EAAe;MAACE,OAAO,EAAEuF;IAAV,CAAf;EAAtB,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEhG,MAAM,CAACU;EAApB,EADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEV,MAAM,CAACc;EAApB,EAFF,eAGE,6BAAC,iBAAD;IAAM,KAAK,EAAEd,MAAM,CAACgB;EAApB,EAHF,eAIE,6BAAC,iBAAD;IAAM,KAAK,EAAEhB,MAAM,CAACoB;EAApB,EAJF,CATF,eAeE,6BAAC,MAAD,OAfF,eAgBE,6BAAC,YAAD;IAAc,OAAO,EAAE8D,OAAvB;IAAgC,WAAW,EAAEC;EAA7C,EAhBF,CADF;AAoBD,CAlDD;;eAoDeK,a"}
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","borderTopLeftRadius","borderTopRightRadius","paddingHorizontal","paddingTop","paddingBottom","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, 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';\nimport Text from '../../../atom/text/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 bottom: 0,\n backgroundColor: '#fff',\n borderTopLeftRadius: 30,\n borderTopRightRadius: 30,\n paddingHorizontal: 24,\n paddingTop: 8,\n paddingBottom: 30\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: 24,\n letterSpacing: 0.5,\n marginLeft: 7\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":";;;;;AAAA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AAeA,MAAMA,MAAM,GAAG,GAAf;AACA,MAAMC,KAAK,GAAG,GAAd;AACA,MAAMC,KAAK,GAAG,MAAd;AACA,MAAMC,aAAa,GAAG,CAAtB;AAEA,MAAMC,UAAU,GAAG,CAAnB;;AAEA,MAAMC,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,SAAS,EAAE;IACTC,KAAK,EAAE,MADE;IAETC,MAAM,EAAE;EAFC,CADoB;EAK/BC,MAAM,EAAE;IACNF,KAAK,EAAE,MADD;IAENC,MAAM,EAAE;EAFF,CALuB;EAS/BE,KAAK,EAAE;IACLC,QAAQ,EAAE,UADL;IAELJ,KAAK,EAAE,MAFF;IAGLC,MAAM,EAAE,MAHH;IAILI,OAAO,EAAE;EAJJ,CATwB;EAe/BC,OAAO,EAAE;IACPF,QAAQ,EAAE,UADH;IAEPG,eAAe,EAAE,MAFV;IAGPP,KAAK,EAAE,MAHA;IAIPC,MAAM,EAAE,KAJD;IAKPO,SAAS,EAAE,CAAC;MAACC,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAAD;EALJ,CAfsB;EAsB/Be,UAAU,EAAE;IACVN,QAAQ,EAAE,UADA;IAEVG,eAAe,EAAE,MAFP;IAGVP,KAAK,EAAE,MAHG;IAIVC,MAAM,EAAE,KAJE;IAKVU,MAAM,EAAE,CALE;IAMVH,SAAS,EAAE,CAAC;MAACC,UAAU,EAAElB,MAAM,GAAG,CAAT,GAAaI,UAAU,GAAG;IAAvC,CAAD;EAND,CAtBmB;EA8B/BiB,QAAQ,EAAE;IACRR,QAAQ,EAAE,UADF;IAERG,eAAe,EAAE,MAFT;IAGRP,KAAK,EAAE,KAHC;IAIRC,MAAM,EAAEV,MAAM,GAAGI,UAJT;IAKRkB,IAAI,EAAE,CALE;IAMRC,GAAG,EAAE,KANG;IAORN,SAAS,EAAE,CACT;MAACO,UAAU,EAAE,CAACvB,KAAD,GAAS,CAAT,GAAaG,UAAU,GAAG;IAAvC,CADS,EAET;MAACc,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAFS;EAPH,CA9BqB;EA0C/BqB,SAAS,EAAE;IACTZ,QAAQ,EAAE,UADD;IAETG,eAAe,EAAE,MAFR;IAGTP,KAAK,EAAE,KAHE;IAITC,MAAM,EAAEV,MAAM,GAAGI,UAJR;IAKTsB,KAAK,EAAE,CALE;IAMTH,GAAG,EAAE,KANI;IAOTN,SAAS,EAAE,CACT;MAACO,UAAU,EAAEvB,KAAK,GAAG,CAAR,GAAYG,UAAU,GAAG;IAAtC,CADS,EAET;MAACc,UAAU,EAAE,CAAClB,MAAD,GAAU,CAAV,GAAcI,UAAU,GAAG;IAAxC,CAFS;EAPF;AA1CoB,CAAlB,CAAf;;AAwDA,MAAMuB,WAAW,GAAGrB,uBAAA,CAAWC,MAAX,CAAkB;EACpCqB,MAAM,EAAE;IACNnB,KAAK,EAAET,MADD;IAENU,MAAM,EAAET,KAFF;IAGNsB,GAAG,EAAE,KAHC;IAIND,IAAI,EAAE,KAJA;IAKNL,SAAS,EAAE,CAAC;MAACO,UAAU,EAAE,CAACvB,KAAD,GAAS;IAAtB,CAAD,EAA2B;MAACiB,UAAU,EAAE,CAAClB,MAAD,GAAU;IAAvB,CAA3B,CALL;IAMN6B,YAAY,EAAE1B,aANR;IAONU,QAAQ,EAAE,UAPJ;IAQNiB,QAAQ,EAAE;EARJ,CAD4B;EAWpCC,MAAM,EAAE;IACNlB,QAAQ,EAAE,UADJ;IAENJ,KAAK,EAAE,KAFD;IAGNC,MAAM,EAAE;EAHF,CAX4B;EAgBpCsB,MAAM,EAAE;IACNnB,QAAQ,EAAE,UADJ;IAENU,GAAG,EAAE,CAFC;IAGND,IAAI,EAAE,CAHA;IAINN,eAAe,EAAEd,KAJX;IAKN2B,YAAY,EAAE1B;EALR;AAhB4B,CAAlB,CAApB;;AAyBA,MAAM8B,iBAAiB,GAAG3B,uBAAA,CAAWC,MAAX,CAAkB;EAC1C2B,YAAY,EAAE;IACZrB,QAAQ,EAAE,UADE;IAEZJ,KAAK,EAAE,MAFK;IAGZW,MAAM,EAAE,CAHI;IAIZJ,eAAe,EAAE,MAJL;IAKZmB,mBAAmB,EAAE,EALT;IAMZC,oBAAoB,EAAE,EANV;IAOZC,iBAAiB,EAAE,EAPP;IAQZC,UAAU,EAAE,CARA;IASZC,aAAa,EAAE;EATH,CAD4B;EAY1CC,YAAY,EAAE;IACZC,aAAa,EAAE,KADH;IAEZC,UAAU,EAAE,QAFA;IAGZC,cAAc,EAAE,YAHJ;IAIZC,eAAe,EAAE;EAJL,CAZ4B;EAkB1CC,UAAU,EAAE;IACVC,IAAI,EAAE,MADI;IAEVpC,MAAM,EAAE,EAFE;IAGVD,KAAK,EAAE;EAHG,CAlB8B;EAuB1CsC,SAAS,EAAE;IACTC,UAAU,EAAE,KADH;IAETC,KAAK,EAAE,SAFE;IAGTC,QAAQ,EAAE,EAHD;IAITC,UAAU,EAAE,EAJH;IAKTC,aAAa,EAAE,GALN;IAMTC,UAAU,EAAE;EANH,CAvB+B;EA+B1CC,IAAI,EAAE;IACJb,aAAa,EAAE,KADX;IAEJc,YAAY,EAAE,EAFV;IAGJX,eAAe,EAAE;EAHb,CA/BoC;EAoC1CY,QAAQ,EAAE;IACRR,UAAU,EAAE,KADJ;IAERC,KAAK,EAAE,SAFC;IAGRC,QAAQ,EAAE,EAHF;IAIRC,UAAU,EAAE,EAJJ;IAKRC,aAAa,EAAE,GALP;IAMRK,WAAW,EAAE;EANL,CApCgC;EA4C1CC,IAAI,EAAE;IACJjB,aAAa,EAAE,KADX;IAEJkB,SAAS,EAAE;EAFP,CA5CoC;EAgD1CC,SAAS,EAAE;IACTV,QAAQ,EAAE,EADD;IAETD,KAAK,EAAE;EAFE,CAhD+B;EAoD1CY,OAAO,EAAE;IACPR,UAAU,EAAE,CADL;IAEPH,QAAQ,EAAE,EAFH;IAGPE,aAAa,EAAE,GAHR;IAIPU,kBAAkB,EAAE,WAJb;IAKPb,KAAK,EAAE;EALA;AApDiC,CAAlB,CAA1B;;AA6DA,MAAMc,MAAM,GAAIC,KAAD,IAA8E;EAC3F,MAAM;IAACnD,QAAD;IAAWoD;EAAX,IAAyBD,KAA/B;EAEA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACrC,WAAW,CAACI,MAAb,EAAqBlB,QAArB;EAAb,gBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACc,WAAW,CAACK,MAAb,EAAqB;MAACtB,MAAM,EAAEN,UAAT;MAAqBK,KAAK,EAAEwD;IAA5B,CAArB;EAAtB,EADF,eAEE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACtC,WAAW,CAACK,MAAb,EAAqB;MAACvB,KAAK,EAAEL,UAAR;MAAoBM,MAAM,EAAEuD;IAA5B,CAArB;EAAtB,EAFF,CADF;AAMD,CATD;;AAWA,MAAMC,MAAM,GAAG,MAAM;EACnB,MAAMC,YAAY,GAAG,IAAAC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAAnE;EACA,MAAMN,UAAU,GAAGE,YAAY,CAACK,WAAb,CAAyB;IAC1CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD8B;IAE1CC,WAAW,EAAE,CAAC,CAAD,EAAIzE,KAAK,GAAG,IAAZ;EAF6B,CAAzB,CAAnB;EAKA,IAAA0E,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgBV,YAAhB,EAA8B;MAC9CW,OAAO,EAAE,CADqC;MAE9CC,QAAQ,EAAE,GAFoC;MAG9CC,KAAK,EAAE,GAHuC;MAI9CC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJsC;MAK9CC,eAAe,EAAE;IAL6B,CAA9B,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAUd;IACA;EACD,CAZD,EAYG,EAZH;EAcA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE3D,WAAW,CAACC;EAAzB,gBACE,6BAAC,MAAD;IAAQ,UAAU,EAAEqC,UAApB;IAAgC,QAAQ,EAAE;MAAC1C,GAAG,EAAE,CAAN;MAASD,IAAI,EAAE,CAAf;MAAkBL,SAAS,EAAE,CAAC;QAACsE,MAAM,EAAE;MAAT,CAAD;IAA7B;EAA1C,EADF,eAEE,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAAC1C,GAAG,EAAE,CAAN;MAASG,KAAK,EAAE,CAAhB;MAAmBT,SAAS,EAAE,CAAC;QAACsE,MAAM,EAAE;MAAT,CAAD;IAA9B;EAFZ,EAFF,eAME,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAAC7C,MAAM,EAAE,CAAT;MAAYM,KAAK,EAAE,CAAnB;MAAsBT,SAAS,EAAE,CAAC;QAACsE,MAAM,EAAE;MAAT,CAAD;IAAjC;EAFZ,EANF,eAUE,6BAAC,MAAD;IACE,UAAU,EAAEtB,UADd;IAEE,QAAQ,EAAE;MAAC7C,MAAM,EAAE,CAAT;MAAYE,IAAI,EAAE,CAAlB;MAAqBL,SAAS,EAAE,CAAC;QAACsE,MAAM,EAAE;MAAT,CAAD;IAAhC;EAFZ,EAVF,CADF;AAiBD,CAtCD;;AAwCA,MAAMC,YAAY,GAAIxB,KAAD,IAA2E;EAC9F,MAAM;IAACyB,OAAD;IAAUC;EAAV,IAAyB1B,KAA/B;EAEA,MAAMG,YAAY,GAAG,IAAAC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAAnE;EACA,MAAMoB,aAAa,GAAGxB,YAAY,CAACK,WAAb,CAAyB;IAC7CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADiC;IAE7CC,WAAW,EAAE,CAAC,CAAC,GAAF,EAAO,CAAP;EAFgC,CAAzB,CAAtB;EAKA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgBV,YAAhB,EAA8B;MAC9CW,OAAO,EAAE,CADqC;MAE9CC,QAAQ,EAAE,GAFoC;MAG9CC,KAAK,EAAE,GAHuC;MAI9CC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJsC;MAK9CC,eAAe,EAAE;IAL6B,CAA9B,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAWd;IACA;EACD,CAbD,EAaG,EAbH;EAeA,oBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACrD,iBAAiB,CAACC,YAAnB,EAAiC;MAACd,MAAM,EAAEuE;IAAT,CAAjC;EAAtB,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAE1D,iBAAiB,CAACO;EAA/B,gBACE,6BAAC,4CAAD;IAAY,KAAK,EAAEP,iBAAiB,CAACY;EAArC,EADF,eAEE,6BAAC,eAAD;IAAM,KAAK,EAAEZ,iBAAiB,CAACc;EAA/B,GAA2C0C,OAAO,CAACG,KAAnD,CAFF,CADF,eAKE,6BAAC,iBAAD;IAAM,KAAK,EAAE3D,iBAAiB,CAACqB;EAA/B,gBACE,6BAAC,eAAD;IAAM,KAAK,EAAErB,iBAAiB,CAACuB;EAA/B,QADF,eAEE,6BAAC,eAAD;IAAM,KAAK,EAAEvB,iBAAiB,CAACuB;EAA/B,GAA0CiC,OAAO,CAACI,YAAlD,CAFF,CALF,eASE,6BAAC,iBAAD;IAAM,KAAK,EAAE5D,iBAAiB,CAACqB;EAA/B,gBACE,6BAAC,eAAD;IAAM,KAAK,EAAErB,iBAAiB,CAACuB;EAA/B,QADF,eAEE,6BAAC,eAAD;IAAM,KAAK,EAAEvB,iBAAiB,CAACuB;EAA/B,GAA0CiC,OAAO,CAACK,YAAlD,CAFF,CATF,eAcE,6BAAC,cAAD;IAAW,OAAO,EAAEJ,WAApB;IAAiC,KAAK,EAAEzD,iBAAiB,CAACyB;EAA1D,gBACE,6BAAC,eAAD;IAAM,KAAK,EAAEzB,iBAAiB,CAAC2B;EAA/B,GAA2C6B,OAAO,CAAC7B,SAAnD,CADF,eAEE,6BAAC,eAAD;IAAM,KAAK,EAAE3B,iBAAiB,CAAC4B;EAA/B,GAAyC4B,OAAO,CAAC5B,OAAjD,CAFF,CAdF,CADF;AAqBD,CA7CD;;AA+CA,MAAMkC,aAAa,GAAI/B,KAAD,IAAkB;EACtC,MAAM;IAACgC,aAAD;IAAgBP,OAAhB;IAAyBQ,MAAzB;IAAiCP;EAAjC,IAAgD1B,KAAtD;EAEA,MAAMkC,UAAU,GAAG,IAAAC,kBAAA,EAAY,CAAC;IAACC;EAAD,CAAD,KAA8B;IAC3DH,MAAM,CAAC,OAAOG,IAAP,KAAgB,QAAhB,GAA2BA,IAA3B,GAAkCC,SAAnC,CAAN,CAD2D,CAE3D;IACA;EACD,CAJkB,EAIhB,EAJgB,CAAnB;EAMA,MAAMC,OAAO,GAAG,IAAAlC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAA9D;EACA,MAAMgC,WAAW,GAAGD,OAAO,CAAC9B,WAAR,CAAoB;IACtCC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CAD0B;IAEtCC,WAAW,EAAE,CAAC,CAAD,EAAI,GAAJ;EAFyB,CAApB,CAApB;EAKA,IAAAC,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGP,qBAAA,CAASQ,MAAT,CAAgByB,OAAhB,EAAyB;MACzCxB,OAAO,EAAE,CADgC;MAEzCC,QAAQ,EAAE,GAF+B;MAGzCC,KAAK,EAAE,GAHkC;MAIzCC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAJiC;MAKzCC,eAAe,EAAE;IALwB,CAAzB,CAAlB;;IAQAT,SAAS,CAACU,KAAV,GATc,CAWd;IACA;EACD,CAbD,EAaG,EAbH;EAeA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEjF,MAAM,CAACG,SAApB;IAA+B,MAAM,EAAC;EAAtC,GACGwF,aAAa,gBACZ,6BAAC,iCAAD;IACE,MAAM,EAAE,KADV;IAEE,MAAM,EAAEE,UAFV;IAGE,WAAW,EAAE7F,MAAM,CAACM,MAHtB;IAIE,WAAW,EAAE;MAAC6F,YAAY,EAAE;IAAf;EAJf,EADY,GAOV,IARN,eASE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACnG,MAAM,CAACO,KAAR,EAAe;MAACE,OAAO,EAAEyF;IAAV,CAAf;EAAtB,gBACE,6BAAC,iBAAD;IAAM,KAAK,EAAElG,MAAM,CAACU;EAApB,EADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAEV,MAAM,CAACc;EAApB,EAFF,eAGE,6BAAC,iBAAD;IAAM,KAAK,EAAEd,MAAM,CAACgB;EAApB,EAHF,eAIE,6BAAC,iBAAD;IAAM,KAAK,EAAEhB,MAAM,CAACoB;EAApB,EAJF,CATF,eAeE,6BAAC,MAAD,OAfF,eAgBE,6BAAC,YAAD;IAAc,OAAO,EAAEgE,OAAvB;IAAgC,WAAW,EAAEC;EAA7C,EAhBF,CADF;AAoBD,CAlDD;;eAoDeK,a"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ export declare type Props = {
3
+ locales: {
4
+ title: string;
5
+ explanation: string;
6
+ subtitle: string;
7
+ cta: string;
8
+ };
9
+ onClose: () => void;
10
+ };
11
+ declare const ReceiveEmail: (props: Props) => JSX.Element;
12
+ export default ReceiveEmail;
13
+ //# sourceMappingURL=index.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/receive-email/index.native.tsx"],"names":[],"mappings":";AAoIA,oBAAY,KAAK,GAAG;IAClB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,YAAY,UAAW,KAAK,gBAyEjC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,215 @@
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 _novaIcons = require("@coorpacademy/nova-icons");
11
+
12
+ var _index = _interopRequireDefault(require("../../../hoc/touchable/index.native"));
13
+
14
+ var _useMobileKeyboardVisibility = _interopRequireDefault(require("../../../util/use-mobile-keyboard-visibility"));
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 enabledColor = '#0061ff';
23
+ const disabledColor = '#9999A8';
24
+ const emailRegex = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
25
+
26
+ const styles = _reactNative.StyleSheet.create({
27
+ container: {
28
+ width: '100%',
29
+ height: '100%',
30
+ flex: 1,
31
+ justifyContent: 'space-between',
32
+ alignItems: 'flex-start',
33
+ paddingVertical: 50,
34
+ paddingHorizontal: 24
35
+ },
36
+ contentWrapper: {
37
+ width: '100%'
38
+ },
39
+ backButton: {
40
+ paddingVertical: 20
41
+ },
42
+ arrowIcon: {
43
+ fill: '#515161',
44
+ width: 24,
45
+ height: 15
46
+ },
47
+ mailIconWrapper: {
48
+ backgroundColor: '#f1f6fe',
49
+ width: 64,
50
+ height: 64,
51
+ padding: 23,
52
+ marginVertical: 24,
53
+ borderRadius: 16,
54
+ justifyContent: 'center',
55
+ alignItems: 'center'
56
+ },
57
+ mailIcon: {
58
+ fill: '#0061ff',
59
+ width: 24,
60
+ height: 18
61
+ },
62
+ innerMailIcon: {
63
+ fill: '#515161',
64
+ width: 16,
65
+ height: 12,
66
+ marginTop: -30,
67
+ marginLeft: 16
68
+ },
69
+ title: {
70
+ color: '#1D1D2B',
71
+ fontSize: 24,
72
+ fontWeight: '600',
73
+ lineHeight: 32,
74
+ textAlign: 'left',
75
+ marginBottom: 12
76
+ },
77
+ explanation: {
78
+ color: '#515161',
79
+ fontSize: 17,
80
+ letterSpacing: 0.4,
81
+ fontWeight: '500',
82
+ lineHeight: 22,
83
+ textAlign: 'left',
84
+ marginBottom: 24
85
+ },
86
+ subtitle: {
87
+ color: '#1D1D2B',
88
+ fontSize: 15,
89
+ fontWeight: '600',
90
+ lineHeight: 20,
91
+ textAlign: 'left',
92
+ marginBottom: 8
93
+ },
94
+ textInput: {
95
+ height: 48,
96
+ width: '100%',
97
+ backgroundColor: '#F4F4F5',
98
+ borderColor: enabledColor,
99
+ borderWidth: 2,
100
+ fontSize: 15,
101
+ lineHeight: 16,
102
+ alignContent: 'center',
103
+ color: '#515161',
104
+ borderRadius: 7,
105
+ paddingHorizontal: 40
106
+ },
107
+ ctaWrapper: {
108
+ width: '100%',
109
+ overflow: 'hidden',
110
+ borderRadius: 12,
111
+ marginTop: 30,
112
+ marginBottom: 50
113
+ },
114
+ ctaButton: {
115
+ flexDirection: 'row',
116
+ justifyContent: 'center',
117
+ alignItems: 'center',
118
+ paddingVertical: 16
119
+ },
120
+ sendIcon: {
121
+ fill: '#fff',
122
+ width: 16,
123
+ height: 16,
124
+ marginRight: 8
125
+ },
126
+ ctaText: {
127
+ color: '#fff',
128
+ fontWeight: '700',
129
+ fontSize: 15,
130
+ lineHeight: 24
131
+ }
132
+ });
133
+
134
+ const ReceiveEmail = props => {
135
+ const {
136
+ locales,
137
+ onClose
138
+ } = props;
139
+ const [isValid, setValid] = (0, _react.useState)(false);
140
+ const [isTextInputFocused, setTextInputFocused] = (0, _react.useState)(false);
141
+ const isKeyboardVisible = (0, _useMobileKeyboardVisibility.default)();
142
+ const handleChangeText = (0, _react.useCallback)(value => {
143
+ setValid(emailRegex.test(value));
144
+ }, []);
145
+ const handleTextInputFocus = (0, _react.useCallback)(() => {
146
+ setTextInputFocused(true);
147
+ }, []);
148
+ const handleTextInputBlur = (0, _react.useCallback)(() => {
149
+ setTextInputFocused(false);
150
+ }, []);
151
+ const animationRef = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
152
+ const animatedColor = animationRef.interpolate({
153
+ inputRange: [0, 1],
154
+ outputRange: [disabledColor, enabledColor]
155
+ });
156
+ (0, _react.useEffect)(() => {
157
+ const animation = _reactNative.Animated.timing(animationRef, {
158
+ toValue: isValid ? 1 : 0,
159
+ duration: 250,
160
+ easing: _reactNative.Easing.out(_reactNative.Easing.sin),
161
+ useNativeDriver: false
162
+ });
163
+
164
+ animation.start();
165
+ }, [animationRef, isValid]);
166
+ return /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
167
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : 'height',
168
+ style: [styles.container],
169
+ testID: "receive-email"
170
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
171
+ style: styles.contentWrapper
172
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
173
+ style: styles.backButton,
174
+ onPress: onClose
175
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationLeftArrow, {
176
+ style: styles.arrowIcon
177
+ })), isKeyboardVisible ? null : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
178
+ style: styles.mailIconWrapper
179
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyEmail, {
180
+ style: styles.mailIcon
181
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
182
+ style: styles.title
183
+ }, locales.title), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
184
+ style: styles.explanation
185
+ }, locales.explanation), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
186
+ style: styles.subtitle
187
+ }, locales.subtitle), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
188
+ style: [styles.textInput, {
189
+ borderWidth: isTextInputFocused ? 2 : 0
190
+ }],
191
+ placeholder: "john.doe@company.com",
192
+ placeholderTextColor: disabledColor,
193
+ onChangeText: handleChangeText,
194
+ onFocus: handleTextInputFocus,
195
+ onBlur: handleTextInputBlur
196
+ }), /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyEmail, {
197
+ style: styles.innerMailIcon
198
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
199
+ style: [styles.ctaWrapper, {
200
+ backgroundColor: animatedColor
201
+ }]
202
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
203
+ disabled: !isValid,
204
+ style: [styles.ctaButton],
205
+ onPress: onClose
206
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademySendEmail, {
207
+ style: styles.sendIcon
208
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
209
+ style: styles.ctaText
210
+ }, locales.cta))));
211
+ };
212
+
213
+ var _default = ReceiveEmail;
214
+ exports.default = _default;
215
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.js","names":["enabledColor","disabledColor","emailRegex","styles","StyleSheet","create","container","width","height","flex","justifyContent","alignItems","paddingVertical","paddingHorizontal","contentWrapper","backButton","arrowIcon","fill","mailIconWrapper","backgroundColor","padding","marginVertical","borderRadius","mailIcon","innerMailIcon","marginTop","marginLeft","title","color","fontSize","fontWeight","lineHeight","textAlign","marginBottom","explanation","letterSpacing","subtitle","textInput","borderColor","borderWidth","alignContent","ctaWrapper","overflow","ctaButton","flexDirection","sendIcon","marginRight","ctaText","ReceiveEmail","props","locales","onClose","isValid","setValid","useState","isTextInputFocused","setTextInputFocused","isKeyboardVisible","useMobileKeyboardVisibility","handleChangeText","useCallback","value","test","handleTextInputFocus","handleTextInputBlur","animationRef","useRef","Animated","Value","current","animatedColor","interpolate","inputRange","outputRange","useEffect","animation","timing","toValue","duration","easing","Easing","out","sin","useNativeDriver","start","Platform","OS","cta"],"sources":["../../../../src/template/mobile-login/receive-email/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {\n Animated,\n Easing,\n KeyboardAvoidingView,\n Platform,\n StyleSheet,\n Text,\n TextInput,\n View\n} from 'react-native';\nimport {\n NovaCompositionNavigationLeftArrow as ArrowIcon,\n NovaCompositionCoorpacademyEmail as MailIcon,\n NovaCompositionCoorpacademySendEmail as SendIcon\n} from '@coorpacademy/nova-icons';\n\nimport Touchable from '../../../hoc/touchable/index.native';\nimport useMobileKeyboardVisibility from '../../../util/use-mobile-keyboard-visibility';\n\nconst enabledColor = '#0061ff';\nconst disabledColor = '#9999A8';\nconst emailRegex = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'flex-start',\n paddingVertical: 50,\n paddingHorizontal: 24\n },\n contentWrapper: {\n width: '100%'\n },\n backButton: {\n paddingVertical: 20\n },\n arrowIcon: {\n fill: '#515161',\n width: 24,\n height: 15\n },\n mailIconWrapper: {\n backgroundColor: '#f1f6fe',\n width: 64,\n height: 64,\n padding: 23,\n marginVertical: 24,\n borderRadius: 16,\n justifyContent: 'center',\n alignItems: 'center'\n },\n mailIcon: {\n fill: '#0061ff',\n width: 24,\n height: 18\n },\n innerMailIcon: {\n fill: '#515161',\n width: 16,\n height: 12,\n marginTop: -30,\n marginLeft: 16\n },\n title: {\n color: '#1D1D2B',\n fontSize: 24,\n fontWeight: '600',\n lineHeight: 32,\n textAlign: 'left',\n marginBottom: 12\n },\n explanation: {\n color: '#515161',\n fontSize: 17,\n letterSpacing: 0.4,\n fontWeight: '500',\n lineHeight: 22,\n textAlign: 'left',\n marginBottom: 24\n },\n subtitle: {\n color: '#1D1D2B',\n fontSize: 15,\n fontWeight: '600',\n lineHeight: 20,\n textAlign: 'left',\n marginBottom: 8\n },\n textInput: {\n height: 48,\n width: '100%',\n backgroundColor: '#F4F4F5',\n borderColor: enabledColor,\n borderWidth: 2,\n fontSize: 15,\n lineHeight: 16,\n alignContent: 'center',\n color: '#515161',\n borderRadius: 7,\n paddingHorizontal: 40\n },\n ctaWrapper: {\n width: '100%',\n overflow: 'hidden',\n borderRadius: 12,\n marginTop: 30,\n marginBottom: 50\n },\n ctaButton: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 16\n },\n sendIcon: {\n fill: '#fff',\n width: 16,\n height: 16,\n marginRight: 8\n },\n ctaText: {\n color: '#fff',\n fontWeight: '700',\n fontSize: 15,\n lineHeight: 24\n }\n});\n\nexport type Props = {\n locales: {\n title: string;\n explanation: string;\n subtitle: string;\n cta: string;\n };\n onClose: () => void;\n};\n\nconst ReceiveEmail = (props: Props) => {\n const {locales, onClose} = props;\n\n const [isValid, setValid] = useState<boolean>(false);\n const [isTextInputFocused, setTextInputFocused] = useState<boolean>(false);\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleChangeText = useCallback(value => {\n setValid(emailRegex.test(value));\n }, []);\n\n const handleTextInputFocus = useCallback(() => {\n setTextInputFocused(true);\n }, []);\n\n const handleTextInputBlur = useCallback(() => {\n setTextInputFocused(false);\n }, []);\n\n const animationRef = useRef<Animated.Value>(new Animated.Value(0)).current;\n const animatedColor = animationRef.interpolate({\n inputRange: [0, 1],\n outputRange: [disabledColor, enabledColor]\n });\n\n useEffect(() => {\n const animation = Animated.timing(animationRef, {\n toValue: isValid ? 1 : 0,\n duration: 250,\n easing: Easing.out(Easing.sin),\n useNativeDriver: false\n });\n\n animation.start();\n }, [animationRef, isValid]);\n\n return (\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n style={[styles.container]}\n testID=\"receive-email\"\n >\n <View style={styles.contentWrapper}>\n <Touchable style={styles.backButton} onPress={onClose}>\n <ArrowIcon style={styles.arrowIcon} />\n </Touchable>\n {isKeyboardVisible ? null : (\n <View style={styles.mailIconWrapper}>\n <MailIcon style={styles.mailIcon} />\n </View>\n )}\n <Text style={styles.title}>{locales.title}</Text>\n <Text style={styles.explanation}>{locales.explanation}</Text>\n <Text style={styles.subtitle}>{locales.subtitle}</Text>\n <TextInput\n style={[styles.textInput, {borderWidth: isTextInputFocused ? 2 : 0}]}\n placeholder=\"john.doe@company.com\"\n placeholderTextColor={disabledColor}\n onChangeText={handleChangeText}\n onFocus={handleTextInputFocus}\n onBlur={handleTextInputBlur}\n />\n <MailIcon style={styles.innerMailIcon} />\n </View>\n\n <Animated.View style={[styles.ctaWrapper, {backgroundColor: animatedColor}]}>\n <Touchable disabled={!isValid} style={[styles.ctaButton]} onPress={onClose}>\n <SendIcon style={styles.sendIcon} />\n <Text style={styles.ctaText}>{locales.cta}</Text>\n </Touchable>\n </Animated.View>\n </KeyboardAvoidingView>\n );\n};\n\nexport default ReceiveEmail;\n"],"mappings":";;;;;AAAA;;AACA;;AAUA;;AAMA;;AACA;;;;;;;;AAEA,MAAMA,YAAY,GAAG,SAArB;AACA,MAAMC,aAAa,GAAG,SAAtB;AACA,MAAMC,UAAU,GAAG,gDAAnB;;AAEA,MAAMC,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC/BC,SAAS,EAAE;IACTC,KAAK,EAAE,MADE;IAETC,MAAM,EAAE,MAFC;IAGTC,IAAI,EAAE,CAHG;IAITC,cAAc,EAAE,eAJP;IAKTC,UAAU,EAAE,YALH;IAMTC,eAAe,EAAE,EANR;IAOTC,iBAAiB,EAAE;EAPV,CADoB;EAU/BC,cAAc,EAAE;IACdP,KAAK,EAAE;EADO,CAVe;EAa/BQ,UAAU,EAAE;IACVH,eAAe,EAAE;EADP,CAbmB;EAgB/BI,SAAS,EAAE;IACTC,IAAI,EAAE,SADG;IAETV,KAAK,EAAE,EAFE;IAGTC,MAAM,EAAE;EAHC,CAhBoB;EAqB/BU,eAAe,EAAE;IACfC,eAAe,EAAE,SADF;IAEfZ,KAAK,EAAE,EAFQ;IAGfC,MAAM,EAAE,EAHO;IAIfY,OAAO,EAAE,EAJM;IAKfC,cAAc,EAAE,EALD;IAMfC,YAAY,EAAE,EANC;IAOfZ,cAAc,EAAE,QAPD;IAQfC,UAAU,EAAE;EARG,CArBc;EA+B/BY,QAAQ,EAAE;IACRN,IAAI,EAAE,SADE;IAERV,KAAK,EAAE,EAFC;IAGRC,MAAM,EAAE;EAHA,CA/BqB;EAoC/BgB,aAAa,EAAE;IACbP,IAAI,EAAE,SADO;IAEbV,KAAK,EAAE,EAFM;IAGbC,MAAM,EAAE,EAHK;IAIbiB,SAAS,EAAE,CAAC,EAJC;IAKbC,UAAU,EAAE;EALC,CApCgB;EA2C/BC,KAAK,EAAE;IACLC,KAAK,EAAE,SADF;IAELC,QAAQ,EAAE,EAFL;IAGLC,UAAU,EAAE,KAHP;IAILC,UAAU,EAAE,EAJP;IAKLC,SAAS,EAAE,MALN;IAMLC,YAAY,EAAE;EANT,CA3CwB;EAmD/BC,WAAW,EAAE;IACXN,KAAK,EAAE,SADI;IAEXC,QAAQ,EAAE,EAFC;IAGXM,aAAa,EAAE,GAHJ;IAIXL,UAAU,EAAE,KAJD;IAKXC,UAAU,EAAE,EALD;IAMXC,SAAS,EAAE,MANA;IAOXC,YAAY,EAAE;EAPH,CAnDkB;EA4D/BG,QAAQ,EAAE;IACRR,KAAK,EAAE,SADC;IAERC,QAAQ,EAAE,EAFF;IAGRC,UAAU,EAAE,KAHJ;IAIRC,UAAU,EAAE,EAJJ;IAKRC,SAAS,EAAE,MALH;IAMRC,YAAY,EAAE;EANN,CA5DqB;EAoE/BI,SAAS,EAAE;IACT7B,MAAM,EAAE,EADC;IAETD,KAAK,EAAE,MAFE;IAGTY,eAAe,EAAE,SAHR;IAITmB,WAAW,EAAEtC,YAJJ;IAKTuC,WAAW,EAAE,CALJ;IAMTV,QAAQ,EAAE,EAND;IAOTE,UAAU,EAAE,EAPH;IAQTS,YAAY,EAAE,QARL;IASTZ,KAAK,EAAE,SATE;IAUTN,YAAY,EAAE,CAVL;IAWTT,iBAAiB,EAAE;EAXV,CApEoB;EAiF/B4B,UAAU,EAAE;IACVlC,KAAK,EAAE,MADG;IAEVmC,QAAQ,EAAE,QAFA;IAGVpB,YAAY,EAAE,EAHJ;IAIVG,SAAS,EAAE,EAJD;IAKVQ,YAAY,EAAE;EALJ,CAjFmB;EAwF/BU,SAAS,EAAE;IACTC,aAAa,EAAE,KADN;IAETlC,cAAc,EAAE,QAFP;IAGTC,UAAU,EAAE,QAHH;IAITC,eAAe,EAAE;EAJR,CAxFoB;EA8F/BiC,QAAQ,EAAE;IACR5B,IAAI,EAAE,MADE;IAERV,KAAK,EAAE,EAFC;IAGRC,MAAM,EAAE,EAHA;IAIRsC,WAAW,EAAE;EAJL,CA9FqB;EAoG/BC,OAAO,EAAE;IACPnB,KAAK,EAAE,MADA;IAEPE,UAAU,EAAE,KAFL;IAGPD,QAAQ,EAAE,EAHH;IAIPE,UAAU,EAAE;EAJL;AApGsB,CAAlB,CAAf;;AAsHA,MAAMiB,YAAY,GAAIC,KAAD,IAAkB;EACrC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAAqBF,KAA3B;EAEA,MAAM,CAACG,OAAD,EAAUC,QAAV,IAAsB,IAAAC,eAAA,EAAkB,KAAlB,CAA5B;EACA,MAAM,CAACC,kBAAD,EAAqBC,mBAArB,IAA4C,IAAAF,eAAA,EAAkB,KAAlB,CAAlD;EACA,MAAMG,iBAAiB,GAAG,IAAAC,oCAAA,GAA1B;EAEA,MAAMC,gBAAgB,GAAG,IAAAC,kBAAA,EAAYC,KAAK,IAAI;IAC5CR,QAAQ,CAACnD,UAAU,CAAC4D,IAAX,CAAgBD,KAAhB,CAAD,CAAR;EACD,CAFwB,EAEtB,EAFsB,CAAzB;EAIA,MAAME,oBAAoB,GAAG,IAAAH,kBAAA,EAAY,MAAM;IAC7CJ,mBAAmB,CAAC,IAAD,CAAnB;EACD,CAF4B,EAE1B,EAF0B,CAA7B;EAIA,MAAMQ,mBAAmB,GAAG,IAAAJ,kBAAA,EAAY,MAAM;IAC5CJ,mBAAmB,CAAC,KAAD,CAAnB;EACD,CAF2B,EAEzB,EAFyB,CAA5B;EAIA,MAAMS,YAAY,GAAG,IAAAC,aAAA,EAAuB,IAAIC,qBAAA,CAASC,KAAb,CAAmB,CAAnB,CAAvB,EAA8CC,OAAnE;EACA,MAAMC,aAAa,GAAGL,YAAY,CAACM,WAAb,CAAyB;IAC7CC,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADiC;IAE7CC,WAAW,EAAE,CAACxE,aAAD,EAAgBD,YAAhB;EAFgC,CAAzB,CAAtB;EAKA,IAAA0E,gBAAA,EAAU,MAAM;IACd,MAAMC,SAAS,GAAGR,qBAAA,CAASS,MAAT,CAAgBX,YAAhB,EAA8B;MAC9CY,OAAO,EAAEzB,OAAO,GAAG,CAAH,GAAO,CADuB;MAE9C0B,QAAQ,EAAE,GAFoC;MAG9CC,MAAM,EAAEC,mBAAA,CAAOC,GAAP,CAAWD,mBAAA,CAAOE,GAAlB,CAHsC;MAI9CC,eAAe,EAAE;IAJ6B,CAA9B,CAAlB;;IAOAR,SAAS,CAACS,KAAV;EACD,CATD,EASG,CAACnB,YAAD,EAAeb,OAAf,CATH;EAWA,oBACE,6BAAC,iCAAD;IACE,QAAQ,EAAEiC,qBAAA,CAASC,EAAT,KAAgB,KAAhB,GAAwB,SAAxB,GAAoC,QADhD;IAEE,KAAK,EAAE,CAACnF,MAAM,CAACG,SAAR,CAFT;IAGE,MAAM,EAAC;EAHT,gBAKE,6BAAC,iBAAD;IAAM,KAAK,EAAEH,MAAM,CAACW;EAApB,gBACE,6BAAC,cAAD;IAAW,KAAK,EAAEX,MAAM,CAACY,UAAzB;IAAqC,OAAO,EAAEoC;EAA9C,gBACE,6BAAC,6CAAD;IAAW,KAAK,EAAEhD,MAAM,CAACa;EAAzB,EADF,CADF,EAIGyC,iBAAiB,GAAG,IAAH,gBAChB,6BAAC,iBAAD;IAAM,KAAK,EAAEtD,MAAM,CAACe;EAApB,gBACE,6BAAC,2CAAD;IAAU,KAAK,EAAEf,MAAM,CAACoB;EAAxB,EADF,CALJ,eASE,6BAAC,iBAAD;IAAM,KAAK,EAAEpB,MAAM,CAACwB;EAApB,GAA4BuB,OAAO,CAACvB,KAApC,CATF,eAUE,6BAAC,iBAAD;IAAM,KAAK,EAAExB,MAAM,CAAC+B;EAApB,GAAkCgB,OAAO,CAAChB,WAA1C,CAVF,eAWE,6BAAC,iBAAD;IAAM,KAAK,EAAE/B,MAAM,CAACiC;EAApB,GAA+Bc,OAAO,CAACd,QAAvC,CAXF,eAYE,6BAAC,sBAAD;IACE,KAAK,EAAE,CAACjC,MAAM,CAACkC,SAAR,EAAmB;MAACE,WAAW,EAAEgB,kBAAkB,GAAG,CAAH,GAAO;IAAvC,CAAnB,CADT;IAEE,WAAW,EAAC,sBAFd;IAGE,oBAAoB,EAAEtD,aAHxB;IAIE,YAAY,EAAE0D,gBAJhB;IAKE,OAAO,EAAEI,oBALX;IAME,MAAM,EAAEC;EANV,EAZF,eAoBE,6BAAC,2CAAD;IAAU,KAAK,EAAE7D,MAAM,CAACqB;EAAxB,EApBF,CALF,eA4BE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAACrB,MAAM,CAACsC,UAAR,EAAoB;MAACtB,eAAe,EAAEmD;IAAlB,CAApB;EAAtB,gBACE,6BAAC,cAAD;IAAW,QAAQ,EAAE,CAAClB,OAAtB;IAA+B,KAAK,EAAE,CAACjD,MAAM,CAACwC,SAAR,CAAtC;IAA0D,OAAO,EAAEQ;EAAnE,gBACE,6BAAC,+CAAD;IAAU,KAAK,EAAEhD,MAAM,CAAC0C;EAAxB,EADF,eAEE,6BAAC,iBAAD;IAAM,KAAK,EAAE1C,MAAM,CAAC4C;EAApB,GAA8BG,OAAO,CAACqC,GAAtC,CAFF,CADF,CA5BF,CADF;AAqCD,CAzED;;eA2EevC,Y"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AA6KA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,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,uBAuI5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AA8KA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,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,uBAuI5B,CAAC;AAEF,eAAe,OAAO,CAAC"}