@authme/identity-verification 2.1.1

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 (84) hide show
  1. package/CHANGELOG.md +943 -0
  2. package/README.md +7 -0
  3. package/assets/locale/en_US.json +132 -0
  4. package/assets/locale/zh_Hant_TW.json +132 -0
  5. package/assets/styles/style.css +806 -0
  6. package/package.json +19 -0
  7. package/src/index.d.ts +4 -0
  8. package/src/index.js +8 -0
  9. package/src/index.js.map +1 -0
  10. package/src/lib/identity-verification-feature-identity-verification.d.ts +26 -0
  11. package/src/lib/identity-verification-feature-identity-verification.js +105 -0
  12. package/src/lib/identity-verification-feature-identity-verification.js.map +1 -0
  13. package/src/lib/interface/config.interface.d.ts +32 -0
  14. package/src/lib/interface/config.interface.js +24 -0
  15. package/src/lib/interface/config.interface.js.map +1 -0
  16. package/src/lib/interface/index.d.ts +1 -0
  17. package/src/lib/interface/index.js +5 -0
  18. package/src/lib/interface/index.js.map +1 -0
  19. package/src/lib/interface/result.model.d.ts +13 -0
  20. package/src/lib/interface/result.model.js +3 -0
  21. package/src/lib/interface/result.model.js.map +1 -0
  22. package/src/lib/lottie/arrow_down.d.ts +215 -0
  23. package/src/lib/lottie/arrow_down.js +203 -0
  24. package/src/lib/lottie/arrow_down.js.map +1 -0
  25. package/src/lib/lottie/arrow_left.d.ts +215 -0
  26. package/src/lib/lottie/arrow_left.js +203 -0
  27. package/src/lib/lottie/arrow_left.js.map +1 -0
  28. package/src/lib/lottie/arrow_right.d.ts +215 -0
  29. package/src/lib/lottie/arrow_right.js +203 -0
  30. package/src/lib/lottie/arrow_right.js.map +1 -0
  31. package/src/lib/lottie/arrow_up.d.ts +215 -0
  32. package/src/lib/lottie/arrow_up.js +203 -0
  33. package/src/lib/lottie/arrow_up.js.map +1 -0
  34. package/src/lib/lottie/card_lr.d.ts +182 -0
  35. package/src/lib/lottie/card_lr.js +1903 -0
  36. package/src/lib/lottie/card_lr.js.map +1 -0
  37. package/src/lib/lottie/card_ud.d.ts +182 -0
  38. package/src/lib/lottie/card_ud.js +1937 -0
  39. package/src/lib/lottie/card_ud.js.map +1 -0
  40. package/src/lib/lottie/index.d.ts +9 -0
  41. package/src/lib/lottie/index.js +13 -0
  42. package/src/lib/lottie/index.js.map +1 -0
  43. package/src/lib/lottie/scan.d.ts +562 -0
  44. package/src/lib/lottie/scan.js +384 -0
  45. package/src/lib/lottie/scan.js.map +1 -0
  46. package/src/lib/lottie/success.d.ts +946 -0
  47. package/src/lib/lottie/success.js +509 -0
  48. package/src/lib/lottie/success.js.map +1 -0
  49. package/src/lib/lottie/tutorial.d.ts +1449 -0
  50. package/src/lib/lottie/tutorial.js +3683 -0
  51. package/src/lib/lottie/tutorial.js.map +1 -0
  52. package/src/lib/module/liveness-verify.module.d.ts +12 -0
  53. package/src/lib/module/liveness-verify.module.js +189 -0
  54. package/src/lib/module/liveness-verify.module.js.map +1 -0
  55. package/src/lib/module/liveness.module.d.ts +12 -0
  56. package/src/lib/module/liveness.module.js +160 -0
  57. package/src/lib/module/liveness.module.js.map +1 -0
  58. package/src/lib/module/mrz.module.d.ts +11 -0
  59. package/src/lib/module/mrz.module.js +142 -0
  60. package/src/lib/module/mrz.module.js.map +1 -0
  61. package/src/lib/module/ocr.module.d.ts +12 -0
  62. package/src/lib/module/ocr.module.js +220 -0
  63. package/src/lib/module/ocr.module.js.map +1 -0
  64. package/src/lib/operator/index.d.ts +16 -0
  65. package/src/lib/operator/index.js +38 -0
  66. package/src/lib/operator/index.js.map +1 -0
  67. package/src/lib/ui/basic.d.ts +13 -0
  68. package/src/lib/ui/basic.js +62 -0
  69. package/src/lib/ui/basic.js.map +1 -0
  70. package/src/lib/ui/index.d.ts +2 -0
  71. package/src/lib/ui/index.js +6 -0
  72. package/src/lib/ui/index.js.map +1 -0
  73. package/src/lib/ui/liveness-flow.d.ts +16 -0
  74. package/src/lib/ui/liveness-flow.js +154 -0
  75. package/src/lib/ui/liveness-flow.js.map +1 -0
  76. package/src/lib/ui/liveness.ui.d.ts +9 -0
  77. package/src/lib/ui/liveness.ui.js +51 -0
  78. package/src/lib/ui/liveness.ui.js.map +1 -0
  79. package/src/lib/ui/ocr-flow.d.ts +73 -0
  80. package/src/lib/ui/ocr-flow.js +664 -0
  81. package/src/lib/ui/ocr-flow.js.map +1 -0
  82. package/src/lib/ui/ocr.ui.d.ts +43 -0
  83. package/src/lib/ui/ocr.ui.js +193 -0
  84. package/src/lib/ui/ocr.ui.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/identity-verification/feature-identity-verification/src/lib/operator/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AACtD,uCAAyE;AACzE,+BAYc;AAEP,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;IACtC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACrB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,CAAC,MAAuB,EAAE,EAAE,CACjC,MAAM,CAAC,IAAI,CACT,IAAA,aAAM,EAAC,GAAG,EAAE;QACV,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;SACjC;QACD,OAAO,KAAK,GAAG,QAAQ,CAAC;IAC1B,CAAC,CAAC,CACH,CAAC;AACN,CAAC,CAAC;AAjBW,QAAA,QAAQ,YAiBnB;AAEK,MAAM,SAAS,GAoBpB,CACE,cAA8B,EAC9B,MAAyB,EACzB,KAAuB,EACvB,aAKoB,EACpB,GAAW,EACX,WAAoB,EACpB,SAAgC,EAChC,EAAE,CACJ,CAAC,OAAwB,EAAE,EAAE;IAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAA6B,CAAC;IAChE,OAAO,OAAO,CAAC,IAAI,CACjB,IAAA,eAAQ,EAAC,GAAG,EAAE,CACZ,IAAA,sBAAe,GAAE,CAAC,IAAI,CACpB,IAAA,gBAAQ,EAAC,GAAG,CAAC,EACb,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EACtB,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAC7B,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAC,EAC9B,IAAA,UAAG,EAAC,GAAG,EAAE,CACP,IAAA,mBAAY,EACV,MAAM,EACN,GAAG,EACH,KAAK,EACL,cAAc,EACd,WAAW,EACX,SAAS,CACV,CACF,EACD,IAAA,eAAQ,EAAC,CAAC,SAAS,EAAE,EAAE,CACrB,IAAA,WAAI,EAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACxD,IAAA,iBAAU,EAAC,CAAC,CAAC,EAAE,EAAE;QACf,uBAAuB;QACvB,IACE,CAAC,YAAY,kBAAW;YACxB,CAAC,CAAC,IAAI,KAAK,gBAAS,CAAC,yBAAyB,EAC9C;YACA,OAAO,YAAK,CAAC;SACd;QACD,MAAM,CAAC,CAAC;IACV,CAAC,CAAC,EACF,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAClB,IAAA,UAAG,EAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACf,SAAS;QACT,MAAM;KACP,CAAC,CAAC,EACH,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAC7B,CACF,CACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC;AA7ES,QAAA,SAAS,aA6ElB"}
@@ -0,0 +1,13 @@
1
+ export interface basicUIConfig {
2
+ haederIcon: string;
3
+ }
4
+ export declare const renderBasicUI: (userConfig?: Partial<basicUIConfig>) => {
5
+ container: HTMLDivElement;
6
+ header: HTMLDivElement;
7
+ headerTitle: HTMLDivElement;
8
+ headerSubtitle: HTMLDivElement;
9
+ headerIcon: HTMLImageElement;
10
+ videoContainer: HTMLDivElement;
11
+ video: HTMLVideoElement;
12
+ closeIcon: HTMLImageElement;
13
+ };
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderBasicUI = void 0;
4
+ const util_1 = require("@authme/util");
5
+ const defaultUIConfig = {
6
+ haederIcon: '',
7
+ };
8
+ const renderBasicUI = (userConfig = {}) => {
9
+ const config = Object.assign(Object.assign({}, defaultUIConfig), userConfig);
10
+ // render view
11
+ const body = document.body;
12
+ body.style.margin = '0';
13
+ const container = document.createElement('div');
14
+ container.classList.add('authme-container');
15
+ body === null || body === void 0 ? void 0 : body.appendChild(container);
16
+ // header container
17
+ const header = document.createElement('div');
18
+ header.classList.add('authme-header');
19
+ // header Title
20
+ const headerTitle = document.createElement('div');
21
+ headerTitle.classList.add('authme-header__title');
22
+ // header Subtitle
23
+ const headerSubtitle = document.createElement('div');
24
+ headerSubtitle.classList.add('authme-header__subtitle');
25
+ // header icon
26
+ let headerIcon = document.createElement('img');
27
+ headerIcon = document.createElement('img');
28
+ headerIcon.classList.add('authme-header__icon');
29
+ headerIcon.src =
30
+ 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY0AAABPCAYAAAAX8JnaAAAABGdBTUEAALGPC/xhBQAACklpQ0NQc1JHQiBJRUM2MTk2Ni0yLjEAAEiJnVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/stRzjPAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAJcEhZcwAALiMAAC4jAXilP3YAACEjSURBVHic7Z15mFxVmf8/d6mq7uo1nc5GAlkICbIEZAdRRFB2BFFUxkF0GJkfI4i/B9dhxBkZmHEeHXBlRgb4jeICI7KJaHQg6EgS9n3JQvat053eqqvqVtW9vz/eqnR1p5Z7bt3bVd25n+epJ0+qz73n1Hbec877vt9XY8WjFHEVcDFwHBAFcoQYwG7gj8DdwOPB9aSBqXPg/WtoW9dPpi0aWFchIb7jOEQSGTZedAiJI7uhP13vEYUEgJn/9wDgEeCddRxLI9MGLAQuB/4d+JvAetI0HF0DJ7AeQkJCQjyj5//9PaHBcMtVwA2B3d22MVJZ0LXAuggJCQnxig58GnhHvQcyyfgGMMf3uzaZGAMW0T0pcjHD99uHhISE1IoO/FW9BzFJucTXuzkOxCPEtw4T3ZPCjujVrwkJCQmZYHTgyHoPYpKyyNe7mTokM0x7oxeM0GCEhIQ0JiagdniezYJjI57aCpeaEdB1WUHXC02DXFbGrJUZq+PI33QDDKUjIf9emO1AdzOx1/toW9NPpiPm261DQkJC/MQEslVbaTqkRiCXw4i30B2JolN61ixMzT3ZDFnbLj9ZTwS2TYsZpSPWjF2miQ5YjsPudBISQ9DULAavurHzLxw5okMqy8yV2wBwyr25ISEhIXXGrNpC02C4nwM7urh50aGcPm0GM6oYDQc44tk/8lZ/H8SafB6yAiMJrjzkcL616NCyRkMDso7DutQI9+zYzC3r35SdSXMc7HJX+YjjwLRmWp7ZSefrvaRmxEODERIS0rBUNhqaBolB3jtzLo8cfTItCsc3ulYwH3XEsWk2DAxdp9LITeDwljZuPvgwzp0+m/c9+ycyyRHZdQR9vGbqkM7R9XIPdsQYtboh+zP/DrwPd98EDYnm+69ARxQSkqey0UiOcHDHdB4/9lTlG0e0BkhQcxzajOqbqWJO7exi+XGn8t5Vj4Odk6O5oHAc6Gim6fXdtK/dI76Mer9nIY3AMmCxQvt5QQ0kJGQ8lWfUXJabDzl8zFPbMxaP7dxKRjfQSvgrNE3mwl2WBabahO07sSae6O9lTjRGtsSOwQGwc3SZET48a+7e50/r6OLCeQt5aNM6iLcGNz5dthXTX+xBswkzwUMK7FZsPxzIKEJCSlB+Vs9miLW2c960GXuf2pRKcsTqJxga2AORSJkL84akOQ6RaH2jp5qaWb57B8u3byo/DscBK82HFh/OLw8/Zu/Tl3XP5qGNa4MdX0eM+Es9dL7Wi9UZ7jJCQkIan/JGw7aZEY2N8WM80LuToYE+6JxewRgUntfqazBAHNlmBAyzchRXtIn7d2xmxyGHMTsqjvvuSHQ0iiqICDAdyDl0vdiDlrGxDR3N+/sVAW4FmlCL6iq8sH8AtnjtfIpzA7AEysZSFKMDdwBPBjqikJA6UvH8SHecMZNmDmSHUXFya0DNpGqTvq6BZpDI5kTbF8gFbe9MHYYsooMWuXikFoMBcD5wdQ3Xbwe+VssApjCfBWYptH+F0GiETGEqenkLKXwFIppGQxoFP9A0zCLjYgd9VmQamIkMZjLrh2TIx2q8/iO1DmAKs16x/WAgowgJaRDq7Knej4noRPvTGCMZcs01fQxR4KIaR3MosBR4s8b7VGM2cAzQAmwF/hxwfwVOAOYiDuOVwFCAfYVKkyFTmlDkqF4YGtGBNLqVk6gp71zJ3kO1mviMD/cohwn8K7AB+DVwL/C/wPPAxwPs91LgRWAVcD/wO+Bt4KYA+wx/UyFTmgn6gmt7o5RIJSFj+eNg1jRxdlspSCclk3uyYDtEB9J+BAt81o/hAH+LP8ZnPHOBV4HrgfGiWkcDP0UMit98B/gFkvNQzHTg74DnkOJafhPuNEKmNMEbDU2H9AhYKWa3tHFk1wxmxlvFeKSS3pLnCsYmMQS5LIvap3H4tBlETBNGhvIChQ284NMBK0ekP41Tm6LtAvyrhRIDzvLpXsU8gkQfVeJ64C997PMK4Joqbd4JPFqljRemqNMvJESoephenMCnq+4MdB2GB1nQPo3vLTmS93fNIKrrpOwcD/bs4Nq3XmZXMgHNLXnlXJc4DowkOHv2gXx94VJO7JgGwLZ0int2bOGLa16RXU1ULU/EKHp9RpBCi6YOiSzRQQsnWtPC1M+JFuCTwMM+3u88ZDfhhh8iOwOrxj4L4cduOBU4E6lc6RcNvFoJCamd8l9wxxkTTQTQaZhqxympJN3xVp454TTO655FVJfumnSDj86ay0snnk5rLCbHS27RNEgMc+bsefzm6JP2GgyAA2JNfGH+Yv7fEcfJPVUMETAnMnp60u1O6dYbEYPIsEVk2Ko1cspvf8AF+HtEdalC2xbgZB/6PBnoUGivMkY39Pt8v5CQhqL8TiMSZWfG4oOvPAOAjsa69Ag0xd3d2QGyGe445hSmm6Wzx2dFY9yy5EiueWGlZI+7IZfFiDXx48PKlzS/fPY8Hpq/mF+6lQHRDdA0znn1GeK6gQbsyKQhGgsmsS9qEBm0MEeyZFs8R04txv8yvVHgg8B9Pt1PVRPpEGBFjX0erNh+fo39jecY4DXKH1MZwB4kn2Mi6QYOQAxqc/65IUSyZCswMsHjUaUb6ELmrBRinPsC6qsN8X3FkfS0AWAX7hI8600X8hkX5MXTSBh4P27KYLig/IxlGCRzOR7asoG92RpmRJRf3UiG5zK0tHVwfpEMSSk+1DWTa5vjOLmcuyJIVppjZ85ldrRyoaLLZ80Vo+EGTYTel2/fPLo7MczgVG41aOoZkcip1nJyLFXxywE+nivwz2iofkkzk7TPYq6meqLlS8BRPvc7nmbgDMRPdQawkNGJZDy9iBH7FeLnWRPw2NywBHg3Ek5+JJJgWTz+EWAz8CxypLoCSVL1QgfwHuBc4F3AQYzdrWYQo7EGeY+eBF7w2JffnAycCJyNvGezEGNXTApZqGwBngL+iIS7b/PSYXmjUYhuireMfd5tjQnbpt2MVvUNtBimGCMrjavAE9tmdlndq1HaDVOMkKsorbxhaB73XgdhMHQNUjni2xO1hNpGCC5E9lyklK1qUlspXgA+oNB+lQ99rlZs/6wPfaqS8Pl+xT+Io5DvxiW4z2SfDpyWf9wK/A9wO/4tHlT4FPAJRBq+EnEkt2gpcBniC/s1cCcSfOGG04DLgQ8BnRXaRZAowLnAe/PPPQvck+9vwGV/fnE08GngHNypITcBc/KP44FrkcXVk8BPgJ8hhsUVwTntDINdyQQDVcJgt1kpnFTSfalVw+TVZPXf3NvpJGQy9a0cWApDg2SWyFAGO+r57T+b0SOGaiSAL6LwpQD+QnlEpblDoe1LwBs+9PkmEk7rljt96FMVv3c3haOu7yGG+mrUpE/G8z4kl2Y1cFxNI3PPechndyfVDUYposDFyK7jKSrv5A5AdgxPIJNvp4f+jgW+DawD/trD9V5YiLy+55HoQBX5/PGYyPt8J7AWBf9ogEbDJJdMcNu2DRWbfWfrRsnbcBsiG42xrncXTwzsqdjsto3r3PtJJhLTwBy2MBM1OcFVHOAbkDwIlQm5VlmSAmuA21y0c5DVpV9c6bLd14GNPvZbL84GHkNybfzkeOBpJK8lKAzgP3EXmu2WkxDj+Y0Sf/sMMkle5FNf04H/AH6LrOSD4svIb/j8AO49F8mXuhdor9Y42PDA5jg3vv4CP9+5teSf79y2kdvXvyEht27RddANPvzCU7yRKK0Gcekrz/Di7h3ik2g0ojrRgTRmIuM1RyOGbKfd8j/j/nXDYYi0iB9cB/xThb8PIGeyL/vUH8hK7BQqO0q/gqj7TgWuI5gcmwI3EUxOyxIkaODTAdwbRKF4edH/f4xURQxiYvgA8lr8/hzagD8BtxBM8m0xH0EScSsG2ASrPZX3V3z8pdWsWrCE87tnMSfWxNZ0knt3buOODW9BJDbqe3CD40BznN7EMMueXsHXFizlzK5umnWDVxJD3LVtE3/YuRla2+svzV4KQyM6aKFnbLItno7OzmLfzOpK/Kro3/+rcN3HkJW4H9yAON4uQ7b1ccRp+XvgB3h0yFXhKcT4XYOcQ89BjuqeRlZVfwigz6nMOcDP8W8XuhDxYXX6dL9ynInIx2zH391sKTqRHd8ZqC3SyrEE+A3iY5wo5iHHuydQZiGnseLRPQT5wWka5LKQHBFZdTMivoZsRpzsuoLBKEbXxXmezifxaTpk0vK35kKYbaBG418RX4EanTFmPvo2M57aitXlacHze+RL6YYBxn62O4GZLq9dj3r46lTkz/iTP1LMk4gTthwPE8wxhB/cDvyfkn9xHCLDGTZedAiJZd3Qny53j7mIJtj0YIbYELwHiVLyykzkGC0IqRs3JJDPaR8nf/DZq44jhqGlLV/JD8l/aGmTid7rbqBQYKmlVXY0uiY5JM0tSCcNuMvQAcsmMuBZPuRA3BsMGN1lFPi1wrWLkC9+SEgxf4Mc/ZVGw82s8jhT22CA7DS6PF4bQ5z09TIYIMm2JZUSJlbyQNPlKMrviKa8n6PhIqXGY+qQyNQiH/JJxfbfHvd/1Uihzym2D9k/+G9KJC9qOYdczCTbHIFs2UXbD5EkzqmOiXc/0GP4n7jrheMoISYa6uRMJGbN8iEfVWi7mX3PJP+EbHndcg5jcwBCQkD8Q18v+ZfKO42jkZ3K/sKJqC/0PsZoLkgtDONP3ZjrgTEZ2qHRmEiihkROjWRxDOVd0RLgCIX2/13m+Z8r3KMZuFChfUjjshsJOEj6dL+vUCoKyXbQytdKftCnvicTd+P+mKkV+JHHfgaBbzGanDsv/1iARHbdhPeM+VuK/xOc0dDyNTQSQzA8WP6RGB5t7wZdh1yu8j2HB73LrgeJAZFBC83K4agfpamWZH2gzPPj/RzV8CtaJmSUhRPUzxPISvFYxB92UP5xMfBveJ9EQHagY6KRNAccUycXLRnc8oF83/sjbiV/vo0YDlV+i4TIX49EW72NOLAHkTyk5cDfI9nzP/Zw/79CEiKBIENus1lao1E+u3QZuqbjlHBM62iM2Fm+v20TVi4nBqEaVpqFre1ctnAJdhknuqlpvDGS4L4dW8BskIq2GpB1iPWmvLperlBo20P5yI3nkKOrA13e60IkPtyLZHlhonATlaAh1fxe99BPMQcDpyv0WfhR+cWzSGRQuS+eTu2vsRqrga9SOqx4N7KgeABJ2vsScKPHfv6a4pWx42BHDHIxA+x93v6veuwDZAL8HfK+DiHHJe9EssiD4AkkHHg7IsFxKPJdPqDCNZW4jnGr9RLMxFtm+Y9wLyk0hMimvA18TbGfa5EEwyCNRoau5ji3LKqeI3bH9s1YuSzoLnJX0imOmjWXmxZUTh59JTHEfZvXBeN494Kpw5BF844EtroT/P2oSQY8RuVJ8wGqFykqEEWSr25X6L/AN1ET5vs7ap9Q3484W93yPP4ajR9QH2mSAj9D8mHckER8EyuRFaoqxyNRUL17n3FA23cx10XlEONKfB9ZJZeSgFiMOGov8njv8axCJFhKydBEkTynapN/KWYi4ouVQnC9JDhuwJsG3Y358ZyucM2l5I1GoMdTGcfBrlLTYk/GEr1hheOp4VyuarMNjXY8FdExhyyiw5Zs39W4QrF9tUlLVYjuOsX2BVSPP/wQflN1/tVyRFOKeoaSPoR7g1HMY8iRlRfcHF9e5PHen0KOdsppBq1Fxn2Dx/sXcyciP1JOt8wC/hlxUnvxC1V7f70UVLvEwzUFLkLtt7KQfERX4LNqA2ZL1IeIQXQwjZHIqDrBdaTGhVs2ItvrSvwRtSzspXjLSlWtP+DH10X1Hn7XSKjXV34zat+T8TxAfiWpyLlj/lc6RcqLX+xKxInshn9CxBq98lvk3N4NK1BboReo5JOci6gXqPAT1IQ5xzOI+o74dAijpyYOQyM6IPIhipLoFyKJNm75pct2P1AZBMFLMEwVqm+Dg6FaDQ83/AtSc0GFvcemmg1ORJej2FHDYSLHWCqsREQMVbgG2KR4DYjisOrubBXqUU7zkMVXKbxUj/w3D9eM517F9ifSWOc3Uxwbon0pNLf1SEZR/UKXC7Udj1vjUsAvufSpTj0caNtwX0OiGqq+q4MoKKNq5I3FmK3GAtRliioJXFbiVg/X3Iu3CoD/6OGackbjAsX7bKa2XUaBlciOwy3LgAWh0ZgIdMDKERm0VOVDoozf/lemBxHqc8MbqCX6LaE2/f6Q4Cgp9+AR1aCAJgq1O2wHO6LjmHpx9JSqXHgKkRnxgpeAhoc89rUF9aCNcu+FqsabXwsEG7UiZAuBpQ0SjzrFMXRIZogOpbEjSk7wz6B2NKX6A7gfNdHFq1FTyt0fqcfxlJ8hvG8hE3e50rCl6ARAAy1nQ84p3m91lLmmUv9eKxuuQzKhVXIdain89Txqch+dJZ6bifvw9wInIhLvfqCSM9QBzA/UaGhU36t7kRZ0c8DTAEG2o0QMIn0pIoOWarU+1bjt+xXb/wo1o3EVEtfvd+W5kNrws3xsAoliUzEaUQDH0DDSObRMDoy94fOqpxnDiu2LyaBuNFRryhczoti+1LQ0p8zzlTgm/6gHMwM9nnJcmA3dUw6FSzPTKJYjqhMdsjCSSvIhi5AzRLdsRV0gbSUil+6WOGrHZfsjjfKt84qX8cs6zkGCPDSt+CequiasZU4yPFxfy8JZta9S70V3Df3Xg2mB5mkkHZt0Fcdvm2HSZpoide4G26bLrK6hZzl24xRh0jUi/Wl0NfkQFXFCkCL3XlB1fIayIpWpx/GUn4bKzQFBkEwmo+vHWOM+3GMiaQ7OaOg6A9kMfdnKJxmGpnFwU1zqhFcjX9DpiHh1/a/dGUsMUSNkg9sOsT1pNDUbphriqqopVUA1tPFi1CoH7m/UK+Q2ZHIy2fzKZoBGw8Cx0mxOV0+e/PiMOVLJr9oEn7GgKc4nZs2tes8NqZT73UuQ6BpkHSLDlsrR1HzUkn16kKMmL2xGzRkYA8722Nf+QAOsUkImEQ1yHOIaO1iVWyvNC8PVw4A/O3cBR82ZD/29pQ2HpokBGBrglkOXcXBz9R3d/w71i+5UvYnq6H1JmnaNkG1yvaj4gmIvbnMzyqEilw7lyn02BpPtRxiyf+OXVP1EMRJsnoau84ted37W3yw7noXTumGgD0aGpf53xoJ0CoYGYHiQjyw+nC/Pq65msd1KsaJ3J8RUAkACosmkaXeSaH/abeSUjrp42b+oD2wMN6MWRXIW7mSuVVfdfmwNVY2G3zuDWqJxQvY/+us9AEXSwZ6nNbfwxPbNvHbwYRwWrxwFNyca4/V3ncV/bFrLw309rE0nGbFzTDNMjoq38hez53HBDHd5Qnft2AIjCWjvrL8zXNeIDqQlDFFzVQTvPEoVtylPEinLeBTeJkAHEWPrQ2LG3XI5Util2r1V8MNXovLegf8+iAY4Ew2ZRKhELxZ4DSkjMJFHKTqyIPpVsEZD1yGT4ebN6/nJ0urRozENrpm/mGvmLwbHwbJtoh6OmH6wbRNEY/U3GABOvvCS+7GoRk3FqP14CtQn+I9S3Wiobr1VjFY5ZlRvMgY/cxwg1HMLUWMrsmDrUrhmNd4k0X0h2C+440BLK/dsXMubScU8GE3zZDC+t30zW/t2QZPqgjMA8vIhsf60W/mQGOoy0n59hqq7lCMor6VTYJfiPVXyUsqhmvTU40OfxYTRUyEqZFCT8wF1rSpfCX5VZJhg57jkpVWBd7U5neZzrz0HsebGcIcaOoxkMQdcy4e8HzXZkHpTLWdDVXX0PV4HkqcJ9Zrmm2vsczxpn+8XMvWpVJypFNMJrmphVYI3Go4DLW282ruTCwI0HEO5HKc8vQI7Y0G0iYawGhEDcyhNZMjCjrh6q93WEm4Uqinwvqp4v3a8F3wC+BzqPo1quk2qO7AwhyVEFS+Juf/s+yhcUn4m0zSZ8FMjo4+M5U1N3XGgtYNHNq3n0pefrmG4penPZTl+9RNsGdwDLe1QpVrgvuTnhXRq9LVa6doTA6M60QGLiDv5kIOQqKTJxBLgfRX+7iV35FvktYwUieFNrrraF1J19aGqWBoS8jzqDvEjqL2mRhsiYzK9yqMbkbiPQCWjYdtEdYPju2dzQvccTuyew/zWdsjVEFHY3sl9W9Zz4uoVvDDkR2VPeLhnB+/483LeHOiDtg4PBoO91xzVNWPva13SMa325MBC5JSVc1N4abLKc1RyyPUgPwgVdOB3qK3wWxB5cFVj8wrV/S4pxXuqBjKEhIDUdlflOryV9wXJtdqEHM+6eSwn/5ssbzQyFrMjUVYf8y5WHXMKK485ha/NPwSSNQabtHawuncX71z1ONe++RI9lrcj4FeGB/jQS6u48Lk/sSM5Ai1t3qOl7Bw4Dk8cecLe1/qfS46U3UYtEVgORPvTbiOnvNQIbgQuorIUgmo9coDTkGOjd7toeyoSgniqh35+6qKNas3xhajreYWE3ObxunuAv1e85ptI5c5OxA/YXOXRhBSrsqCK7okzbmeecXzQcnIcaG2DbIbvrn2Nu3Zu5cPdszmjawYntXeyoCmOqe9ry0ZyWdaMJPjzQB+/7evhwd07IJWEllbQDV/Ca9NFuxSr1vvpGqRzRAddRU4djGw3JyMx4HykxnQp7kIqsal+cZYCTyL1mx9HdgWFSKdu4HDgDLwf6VnAd1y0W+/h3lcBxyJG6RUkgavwhdKRamm11HEImXpsQKppXuLh2n9Ejom/i+zSS8nLx5EF3ueRvC4VdgLfKPynitEAx3HQ8oYi41feg+NIVFV7J8MZi7s3ruHuTWuhqZkDYs3MiTUxzYwQ0TSSts2ebIYtqSS96aT4HTRNIqTaOuRePo0rVXQcZdV6NGXqMJIhMpDGjlaNnFItpdqDbGeD0DlykCOWWQrX/CXljcYOJJ9DdTVU4CyC8fX8EHc5Givw5pw/jvI/zuepXz2EkMblE0gEZbuHa9+bf/QipWDXI3VR4kjFzePwLsN+FUXHtPVVWHQcMCPyAMjl2JYYYttQ/2i5SA1xvhuGGJqWtrHXNyoRnUhfkshQxk3klOo5+A+BG70NzBW7qJ64V8w5SHZquRyFm5FiT40UWeT29fkfuZHf5oeEjCOFKC08UMM9piOGxy9eBB4sfqKxslcNQzK5m+IQb5FHc4sk6kWikmE+WYgZNG8blnDbymLCx6GmaAuyjQ0S1QqAzVR2iKeAT3kfju98Htjtsu1W/C2nCmEuR0h5HkS9XEGQfHD8E5NoFp58NPWlpWZyZa5TvO0W4CVPA3LP68gZqwp/W+XvP8N7oSg/eRi4VfGaXwQwjpCQclyJRCvVm8uAjeOfDI1GEBgapHJE+1M4lXcZEdRlQ/zQmXKD6kR5OHJ2WolPAH/wNhxfeB31jHFw5zAPCfGTD+C9Ro4f3EiZMOCKM9r4uo/ZRvYh1IrjkCt6fTV5mHWRD4kMWNXkQ85CXTbkDu8DU0L1iArc+WbOBILXlNmXN/AuU7IH7478kBCvvBuJHJxovk+FRNnKRkPTxoTY2o7jrsLeZCSXJVbkMzFreY0RDTNhYSaqOsFVS7o+h7o0h1dWI/kPKrh9PSchzvyJ4mFEDNGtH6MUNyGx6iEhE0UWCaW9dQL7vJ4qckblZzRdZ3c2Q7oo9PScrhnimN6zG4YHKz9s25vkiJ/oukifVBzrAPT3cer0mRxQpIw7kM1K9rsX4xE1iA6kMUcyleRDNNTVKr3WAffK3YrtD0VK1brhasSfo5o8p8pNyJFU5WL17vgoEgcfEjKRfB74JN5qb7hlK/BhRManIuVDbg2TkaFB/tDfx7ldEt77jngrL550Bo/s2IxlGOglJlQtf7Bz27YN9KaSEiZbL9IpTp4+k3OmzdgnUbGAbdtMNww+M2/RmCOp+/fs8h7Sm5cP0a0c2ZayhZc+jsRQqzDRK91fItmjKlyHfMndcBtSavYG4AqgcqUu99jAT4Bb8D+J7izE6X8TklEbEjIR/BcSivtlxFGuWjemHHuAHwH/ALiqX1F+Rtc00OCGda9xbtfoUfCyllaWHfyOqje+b/d2eocG6ms0Ukku6JrJVw5S05B7PZngnk3rwEUt8pLYTl4+pGIr1RKtG4G3vA3IM+sRrf9qDu5irkPO/0tlpZZiJ3ANcob6BeBixf6K2QQ8ihi6tz3eww3fR5yEX0UiTNyVlByls8rfpynez+MXtSQa6sWwKpWkVM3Nma7YvhgvY69lgupQbF9r2YNB5Dt3C3KM9BGg+mRcmjVIUM03USw5W/kNi7fy/O4dfOzlZ/j5kWqZ51ZDHE9p7MmqnUqsSSZ499Mr5HjNMNV3G6YOyRzNO0cq+TOWIiuFQaqrqBbiEeqlZ3Q7Eknh4E7xtQVxdj+g2E8PkgD4ReAExO+xDDgEyU7vRDRwQPI+BhGDsw5JQHoWqUswUdEafcgP96uIg70w3gORz7YV+X1p48ZkUL3OyHrEcLqRJdCpzVczHht4GXkNbt5LjcqZ9YXPye1rqWVhpDL2wsGCqiBlMZtQe22qRcnKMYT8Jm9E5GpOQL57C5HfSjvyWykk3A7n+16L/FZWUkNkVmWjka+F8YtNa9mYTnLTokM5tXP6GIdxObRAFC7U0V2OY5eV5v5d2/jc2lex0inJPPciJWI70KSTixnoGRtH00oJFm4HDkDO2d0ajUH1wfjCt5Dtq1ujYVB7KPfq/KOYKKMqthaNk1VtIQq7vx/3fBR5L8YbjUKt5Up8Kn+t28moBunpfbAQiZPx4y5F4cdVqf/liOy/29dSS+VDv8dejeuBL1Gfz6nAs/nHeMx8n7bf/brbmrV3srJ3F2fu2c2s1nZmR2PolP5UCp/EhnRSsrvrSXMrd+3cwvI9PWU/VR0RJ1ybHCGVGJTM87hHgwGQc8DQ6DluFu1r9qBn7VLO8HoZAK80wngbyVC4oZax5qhv2Vg/JxmHif3cgpiYy1Hvz6kSgb0PJrKiqYzjSNSUY7NzZIidbmphxJokeqmeuR2Gya7UCLvcjNc0IZ73w7qryVF6Na0Bg2nSS7sYXDKNaS/vJjkzjmbX8X0ICQkJ8YnCFsYFjjjHI7HKbq8xl9R5onTyfolgnPHlja3tgO3Qc/wc2tYNyDFV9cp9ISEhIQ2PTqjr75WtZf+iaTCQJr24k8El04gMhvp0ISEhUwMd+HG9BzFJqSyzYQOGxvCBbQ0SEhASEhJSOzrwPfwLBdtf+C7VKrppgJUjNTNOtiWClgt9GiEhIZOfQojbmcC2Oo9lsvAAcK2rljkH29Bw6h0QEBISEuITBQ/xy0gS1ZcQPaQD83+rsebplMBAkpdeQ+pd/9T1lRoSNeU4wRRmDQkJCZlg/j/vqnbaJWEaGQAAAABJRU5ErkJggg==';
31
+ header.appendChild(headerIcon);
32
+ header.appendChild(headerTitle);
33
+ header.appendChild(headerSubtitle);
34
+ container.appendChild(header);
35
+ // Video
36
+ const videoContainer = document.createElement('div');
37
+ videoContainer.classList.add('video-container');
38
+ const closeIcon = document.createElement('img');
39
+ closeIcon.classList.add('video-container__close');
40
+ closeIcon.src = util_1.Icon.CloseIcon;
41
+ const video = document.createElement('video');
42
+ video.autoplay = true;
43
+ video.muted = true;
44
+ video.playsInline = true;
45
+ video.loop = true;
46
+ video.setAttribute('webkit-playsinline', '');
47
+ videoContainer.appendChild(video);
48
+ videoContainer.appendChild(closeIcon);
49
+ container.appendChild(videoContainer);
50
+ return {
51
+ container,
52
+ header,
53
+ headerTitle,
54
+ headerSubtitle,
55
+ headerIcon,
56
+ videoContainer,
57
+ video,
58
+ closeIcon,
59
+ };
60
+ };
61
+ exports.renderBasicUI = renderBasicUI;
62
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../../../libs/identity-verification/feature-identity-verification/src/lib/ui/basic.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAMpC,MAAM,eAAe,GAAkB;IACrC,UAAU,EAAE,EAAE;CACf,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,aAAqC,EAAE,EAAE,EAAE;IACvE,MAAM,MAAM,mCAAQ,eAAe,GAAK,UAAU,CAAE,CAAC;IACrD,cAAc;IACd,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;IAExB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7B,mBAAmB;IACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAEtC,eAAe;IACf,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAElD,kBAAkB;IAClB,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAExD,cAAc;IACd,IAAI,UAAU,GAAqB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACjE,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAChD,UAAU,CAAC,GAAG;QACZ,wsdAAwsd,CAAC;IAE3sd,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACnC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAE9B,QAAQ;IACR,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrD,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,GAAG,WAAI,CAAC,SAAS,CAAC;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAE7C,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEtC,OAAO;QACL,SAAS;QACT,MAAM;QACN,WAAW;QACX,cAAc;QACd,UAAU;QACV,cAAc;QACd,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB"}
@@ -0,0 +1,2 @@
1
+ export * from './liveness-flow';
2
+ export * from './ocr-flow';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./liveness-flow"), exports);
5
+ tslib_1.__exportStar(require("./ocr-flow"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/identity-verification/feature-identity-verification/src/lib/ui/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,qDAA2B"}
@@ -0,0 +1,16 @@
1
+ import { FasResult } from '@authme/liveness';
2
+ import { Observable } from 'rxjs';
3
+ import { LivenessConfig, LivenessEngineConfig } from '@authme/identity-verification';
4
+ export declare function startLiveness(config: {
5
+ livenessConfig: LivenessConfig;
6
+ init: () => Promise<LivenessEngineConfig>;
7
+ onStart: (width: number, height: number) => Promise<any>;
8
+ onFrame: (data: Uint8ClampedArray, base64: {
9
+ jpg: string;
10
+ png: string;
11
+ }) => Promise<FasResult>;
12
+ setFrameSize: (width: number, height: number) => void;
13
+ getSelectedImage: () => Uint8Array | Uint8ClampedArray | null;
14
+ onSuccess: () => Promise<any>;
15
+ onDestroy: () => Promise<void>;
16
+ }): Observable<boolean>;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startLiveness = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const liveness_1 = require("@authme/liveness");
6
+ const rxjs_1 = require("rxjs");
7
+ const util_1 = require("@authme/util");
8
+ const basic_1 = require("./basic");
9
+ const liveness_ui_1 = require("./liveness.ui");
10
+ const operator_1 = require("../operator");
11
+ const core_1 = require("@authme/core");
12
+ function startLiveness(config) {
13
+ const translateService = (0, core_1.getTranslateInstance)();
14
+ const unsubscribe$ = new rxjs_1.Subject();
15
+ let livenessConfig = null;
16
+ let isValidScreenSize = true;
17
+ // render view
18
+ const { container, videoContainer, video, closeIcon, headerTitle } = (0, basic_1.renderBasicUI)({
19
+ haederIcon: config.livenessConfig.icon,
20
+ });
21
+ const { statusText, faceMask } = (0, liveness_ui_1.renderLivenessUI)({
22
+ container,
23
+ videoContainer,
24
+ video,
25
+ });
26
+ const canvas = document.createElement('canvas');
27
+ const requestCamera$ = (0, rxjs_1.from)((0, util_1.requestCamera)(video, (0, util_1.videoConstraintsFactory)(!(0, util_1.isMobileOrTablet)(), 'user'), 'front')).pipe((0, rxjs_1.tap)(() => (0, util_1.showElement)(videoContainer)), (0, rxjs_1.catchError)((error) => {
28
+ if (error instanceof OverconstrainedError) {
29
+ alert(translateService.translate('camera.error.notFound'));
30
+ }
31
+ else {
32
+ alert(translateService.translate('camera.error.notFound'));
33
+ }
34
+ return (0, rxjs_1.throwError)(() => new core_1.AuthmeError(core_1.ErrorCode.CAMERA_NOT_SUPPORT));
35
+ }));
36
+ const init$ = (0, rxjs_1.from)(config.init()).pipe((0, rxjs_1.tap)((config) => (livenessConfig = config)));
37
+ const applyTextByResult = (result) => {
38
+ switch (result.eStatus) {
39
+ case liveness_1.FasRecognitionResult.NoFace:
40
+ statusText.textContent = translateService.translate('liveness.error.noFace');
41
+ setBorderStatus('error');
42
+ break;
43
+ case liveness_1.FasRecognitionResult.FaceNotAtCenter:
44
+ statusText.textContent = translateService.translate('liveness.error.faceNotAtCenter');
45
+ setBorderStatus('error');
46
+ break;
47
+ case liveness_1.FasRecognitionResult.FaceTooSmall:
48
+ statusText.textContent = translateService.translate('liveness.error.faceTooSmall');
49
+ setBorderStatus('error');
50
+ break;
51
+ case liveness_1.FasRecognitionResult.FaceTooLarge:
52
+ statusText.textContent = translateService.translate('liveness.error.faceTooLarge');
53
+ setBorderStatus('error');
54
+ break;
55
+ case liveness_1.FasRecognitionResult.NeedFaceToCamera:
56
+ statusText.textContent = translateService.translate('liveness.error.needFaceToCamera');
57
+ setBorderStatus('error');
58
+ break;
59
+ case liveness_1.FasRecognitionResult.FaceMasked:
60
+ statusText.textContent = translateService.translate('liveness.error.faceMasked');
61
+ setBorderStatus('error');
62
+ break;
63
+ case liveness_1.FasRecognitionResult.NeedOpenMouth:
64
+ statusText.textContent = translateService.translate('liveness.error.needOpenMouth');
65
+ setBorderStatus(null);
66
+ break;
67
+ case liveness_1.FasRecognitionResult.NeedCloseMouth:
68
+ statusText.textContent = translateService.translate('liveness.error.needCloseMouth');
69
+ setBorderStatus(null);
70
+ break;
71
+ case liveness_1.FasRecognitionResult.NeedSmile:
72
+ statusText.textContent = translateService.translate('liveness.error.needSmile');
73
+ setBorderStatus(null);
74
+ break;
75
+ case liveness_1.FasRecognitionResult.NeedOpenEyes:
76
+ statusText.textContent = translateService.translate('liveness.error.needOpenEyes');
77
+ setBorderStatus('error');
78
+ break;
79
+ case liveness_1.FasRecognitionResult.NeedMoreFrame:
80
+ statusText.textContent = translateService.translate('liveness.needMoreFrame');
81
+ setBorderStatus('pass');
82
+ break;
83
+ case liveness_1.FasRecognitionResult.Error:
84
+ statusText.textContent = translateService.translate('verify.error.serverError');
85
+ (0, util_1.showErrorMessage)(translateService.translate('verify.error.serverError'), true);
86
+ break;
87
+ default:
88
+ break;
89
+ }
90
+ };
91
+ // Register Event
92
+ (0, rxjs_1.fromEvent)(window, 'offline')
93
+ .pipe((0, rxjs_1.switchMap)(() => (0, util_1.asyncOnLineShowErrorMessage)(translateService.translate('network.error.offline'), true)), (0, rxjs_1.takeUntil)(unsubscribe$))
94
+ .subscribe();
95
+ (0, rxjs_1.fromEvent)(window, 'resize')
96
+ .pipe((0, rxjs_1.throttleTime)(100), (0, rxjs_1.switchMap)(() => (0, util_1.getCanvasSize)(video)), (0, rxjs_1.tap)((canvasSizeInfo) => {
97
+ config.setFrameSize(canvasSizeInfo.canvasWidth, canvasSizeInfo.canvasHeight);
98
+ const maskHeight = window.outerHeight * 0.48;
99
+ const maskWidth = Math.round(maskHeight * 0.72).toString();
100
+ faceMask.style.width = `${maskWidth}px`;
101
+ }), (0, rxjs_1.takeUntil)(unsubscribe$))
102
+ .subscribe();
103
+ (0, rxjs_1.fromEvent)(closeIcon, 'click')
104
+ .pipe((0, rxjs_1.switchMap)(() => reset()), (0, rxjs_1.takeUntil)(unsubscribe$))
105
+ .subscribe();
106
+ (0, rxjs_1.merge)((0, rxjs_1.fromEvent)(window, 'resize'), (0, rxjs_1.of)(0))
107
+ .pipe((0, rxjs_1.map)(() => window.innerWidth >= 330 && window.innerHeight >= 500), (0, rxjs_1.filter)((x) => x !== isValidScreenSize), (0, rxjs_1.tap)((x) => (isValidScreenSize = x)), (0, rxjs_1.tap)((x) => x
108
+ ? (0, util_1.hidePopup)()
109
+ : (0, util_1.showPopup)(translateService.translate('error.screenSize.title'), translateService.translate('error.screenSize.content'), false)), (0, rxjs_1.takeUntil)(unsubscribe$))
110
+ .subscribe();
111
+ // Start
112
+ (0, util_1.startSpinner)(translateService.translate('general.loading'));
113
+ headerTitle.textContent = translateService.translate('liveness.header.liveness');
114
+ return (0, rxjs_1.combineLatest)([requestCamera$, init$]).pipe((0, rxjs_1.tap)(() => (0, util_1.stopSpinner)()), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)((0, util_1.waitTime)(1)).pipe((0, rxjs_1.tap)(() => (videoContainer.style.zIndex = '101')))), (0, rxjs_1.switchMap)(() => (0, rxjs_1.from)((0, util_1.getCanvasSize)(video))), (0, rxjs_1.switchMap)((canvasSizeInfo) => (0, rxjs_1.from)(config.onStart(canvasSizeInfo.canvasWidth, canvasSizeInfo.canvasHeight)).pipe((0, operator_1.sendFrame)(canvasSizeInfo, canvas, video, config.onFrame, livenessConfig.fasMaxFps, true, 'all'), (0, rxjs_1.tap)(({ result }) => applyTextByResult(result)), (0, rxjs_1.filter)(({ result }) => (result.eStatus === liveness_1.FasRecognitionResult.Pass &&
115
+ result.eStage === liveness_1.EAuthMeFASServiceStage.Done) ||
116
+ result.eStatus === liveness_1.FasRecognitionResult.Failed), (0, rxjs_1.map)((data) => {
117
+ var _a, _b;
118
+ return (Object.assign(Object.assign({}, data), { isSuccess: ((_a = data === null || data === void 0 ? void 0 : data.result) === null || _a === void 0 ? void 0 : _a.eStatus) === liveness_1.FasRecognitionResult.Pass &&
119
+ ((_b = data === null || data === void 0 ? void 0 : data.result) === null || _b === void 0 ? void 0 : _b.eStage) === liveness_1.EAuthMeFASServiceStage.Done }));
120
+ }), (0, rxjs_1.take)(1), (0, rxjs_1.switchMap)((resp) => resp.isSuccess
121
+ ? (0, rxjs_1.of)(resp)
122
+ : (0, rxjs_1.of)(resp).pipe((0, rxjs_1.tap)(() => (0, util_1.showErrorMessage)(translateService.translate('verify.error.timeout'))), (0, rxjs_1.switchMap)(() => (0, util_1.waitTime)(2000)), (0, rxjs_1.tap)(() => (0, util_1.hideErrorMessage)()), (0, rxjs_1.map)(() => resp))), (0, rxjs_1.switchMap)((resp) => window.navigator.onLine
123
+ ? (0, rxjs_1.of)(resp)
124
+ : (0, rxjs_1.from)((0, util_1.asyncOnLineShowErrorMessage)(translateService.translate('network.error.offline'), true)).pipe((0, rxjs_1.map)(() => resp))), (0, rxjs_1.tap)(() => (0, util_1.startSpinner)(translateService.translate('liveness.uploading'))), (0, rxjs_1.switchMap)(() => config.onSuccess()))), (0, rxjs_1.takeUntil)(unsubscribe$), (0, rxjs_1.finalize)(() => {
125
+ (0, util_1.stopSpinner)();
126
+ reset();
127
+ }));
128
+ function setBorderStatus(status) {
129
+ faceMask.classList.remove('pass');
130
+ faceMask.classList.remove('error');
131
+ if (status) {
132
+ faceMask.classList.add(status);
133
+ }
134
+ }
135
+ function reset() {
136
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
137
+ try {
138
+ video.srcObject
139
+ .getTracks()
140
+ .forEach((stream) => stream.stop());
141
+ }
142
+ catch (error) {
143
+ // no video, ignore
144
+ }
145
+ yield config.onDestroy();
146
+ video.srcObject = null;
147
+ document.body.removeChild(container);
148
+ unsubscribe$.next();
149
+ unsubscribe$.complete();
150
+ });
151
+ }
152
+ }
153
+ exports.startLiveness = startLiveness;
154
+ //# sourceMappingURL=liveness-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveness-flow.js","sourceRoot":"","sources":["../../../../../../../libs/identity-verification/feature-identity-verification/src/lib/ui/liveness-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const renderLivenessUI: (config: {
2
+ container: HTMLElement;
3
+ videoContainer: HTMLElement;
4
+ video: HTMLVideoElement;
5
+ }) => {
6
+ titleText: HTMLDivElement;
7
+ statusText: HTMLDivElement;
8
+ faceMask: HTMLDivElement;
9
+ };
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderLivenessUI = void 0;
4
+ const core_1 = require("@authme/core");
5
+ const renderLivenessUI = (config) => {
6
+ const translateService = (0, core_1.getTranslateInstance)();
7
+ const createTextPanel = () => {
8
+ const ele = document.createElement('div');
9
+ ele.classList.add('text-panel');
10
+ return ele;
11
+ };
12
+ const createTextTitle = () => {
13
+ const ele = document.createElement('div');
14
+ ele.classList.add('text-title');
15
+ return ele;
16
+ };
17
+ const createTextHint = () => {
18
+ const ele = document.createElement('div');
19
+ ele.classList.add('text-hint');
20
+ return ele;
21
+ };
22
+ config.container.classList.add('liveness-container');
23
+ const faceMask = document.createElement('div');
24
+ faceMask.classList.add('face-mask');
25
+ config.videoContainer.appendChild(faceMask);
26
+ //TODO: setup mask width/height
27
+ const maskHeight = window.outerHeight * 0.48;
28
+ const maskWidth = Math.round(maskHeight * 0.72).toString();
29
+ faceMask.style.width = `${maskWidth}px`;
30
+ // text panel
31
+ const titleTextPanel = createTextPanel();
32
+ titleTextPanel.classList.add('title');
33
+ const titleText = createTextTitle();
34
+ const statusTextPanel = createTextPanel();
35
+ statusTextPanel.classList.add('status');
36
+ const statusText = createTextHint();
37
+ titleTextPanel.appendChild(titleText);
38
+ statusTextPanel.appendChild(statusText);
39
+ config.videoContainer.appendChild(titleTextPanel);
40
+ config.videoContainer.appendChild(statusTextPanel);
41
+ // Set init text
42
+ titleText.textContent = translateService.translate('liveness.title');
43
+ statusText.textContent = translateService.translate('liveness.error.noFace');
44
+ return {
45
+ titleText,
46
+ statusText,
47
+ faceMask,
48
+ };
49
+ };
50
+ exports.renderLivenessUI = renderLivenessUI;
51
+ //# sourceMappingURL=liveness.ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveness.ui.js","sourceRoot":"","sources":["../../../../../../../libs/identity-verification/feature-identity-verification/src/lib/ui/liveness.ui.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAE7C,MAAM,gBAAgB,GAAG,CAAC,MAIhC,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,IAAA,2BAAoB,GAAE,CAAC;IAChD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE5C,+BAA+B;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,SAAS,IAAI,CAAC;IAExC,aAAa;IACb,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;IACzC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,eAAe,EAAE,CAAC;IAC1C,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAEnD,gBAAgB;IAChB,SAAS,CAAC,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACrE,UAAU,CAAC,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAE7E,OAAO;QACL,SAAS;QACT,UAAU;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAxDW,QAAA,gBAAgB,oBAwD3B"}
@@ -0,0 +1,73 @@
1
+ import { EAuthMeCardClass, CardOCRResult, IDCardAntiFraudResult, MRZResult } from '@authme/id-recognition';
2
+ import { Observable } from 'rxjs';
3
+ import { IdRecognitionConfig, OcrEngineConfig } from '../interface';
4
+ import { AuthmeOCRResult } from '../interface/result.model';
5
+ export declare function startOCR(config: {
6
+ init: (width: number, height: number) => Promise<OcrEngineConfig>;
7
+ ocrConfig: IdRecognitionConfig;
8
+ ocrStart: (points: [
9
+ [
10
+ number,
11
+ number
12
+ ],
13
+ [
14
+ number,
15
+ number
16
+ ],
17
+ [
18
+ number,
19
+ number
20
+ ],
21
+ [
22
+ number,
23
+ number
24
+ ]
25
+ ], type: EAuthMeCardClass, retry?: boolean) => Promise<boolean>;
26
+ acceptTypes: EAuthMeCardClass[];
27
+ recognition: (img: Uint8ClampedArray) => Promise<CardOCRResult | MRZResult>;
28
+ confirmImage: (type: EAuthMeCardClass) => Promise<boolean>;
29
+ antiFraudStart: (points: [
30
+ [
31
+ number,
32
+ number
33
+ ],
34
+ [
35
+ number,
36
+ number
37
+ ],
38
+ [
39
+ number,
40
+ number
41
+ ],
42
+ [
43
+ number,
44
+ number
45
+ ]
46
+ ]) => Promise<boolean>;
47
+ onAntiFraudFrame: (data: Uint8ClampedArray) => Promise<IDCardAntiFraudResult>;
48
+ setFrameSize: (width: number, height: number, points?: [
49
+ [
50
+ number,
51
+ number
52
+ ],
53
+ [
54
+ number,
55
+ number
56
+ ],
57
+ [
58
+ number,
59
+ number
60
+ ],
61
+ [
62
+ number,
63
+ number
64
+ ]
65
+ ]) => Promise<void>;
66
+ onSuccess: () => Promise<{
67
+ scanId: string;
68
+ details: {
69
+ [key: string]: string;
70
+ };
71
+ }>;
72
+ onDestroy: () => Promise<void>;
73
+ }): Observable<AuthmeOCRResult>;