@authme/identity-verification 2.8.11 → 2.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -75,7 +75,12 @@ function __awaiter(thisArg, _arguments, P, generator) {
75
75
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
76
76
  step((generator = generator.apply(thisArg, _arguments || [])).next());
77
77
  });
78
- }
78
+ }
79
+
80
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
81
+ var e = new Error(message);
82
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
83
+ };
79
84
 
80
85
  const LIVENESS_GUIDE_IMG = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3IiBoZWlnaHQ9IjI3NSIgdmlld0JveD0iMCAwIDMyNyAyNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyNyIgaGVpZ2h0PSIyNzUiIGZpbGw9IiNGOEY4RjgiIC8+CiAgPHBhdGgKICAgIGQ9Ik05NC40NTc1IDg4LjgzNzZMNjcuMzUyNyA3MC4yNzAzQzY1LjUyNzMgNjguNjM4NyA2My4yOTQzIDY3LjQ0NzYgNjAuODgyMSA2Ny4wNzI0QzU3LjU0MDkgNjYuNTUwMiA1My41MTUxIDY3LjM5ODcgNTIuNzQ5MSA3NC4xODZDNTIuMTI5NyA3OS43MDA4IDU0LjAyMDQgODUuMTk5MiA1Ny41NzM1IDg5LjQ0MTNMOTQuNDU3NSAxMzguMDNWODguODM3NloiCiAgICBmaWxsPSIjRjhDQ0M3IiAvPgogIDxwYXRoIG9wYWNpdHk9IjAuMyIKICAgIGQ9Ik0xMTYuNzA5IDI3SDIzMS44OTJDMjQ0LjE2NSAyNyAyNTQuMTM5IDM2Ljk4NTMgMjU0LjEzOSA0OS4yNzExVjI3NC40NjJIOTQuNDYwOVY0OS4yNzExQzk0LjQ2MDkgMzYuOTg1MyAxMDQuNDM2IDI3IDExNi43MDkgMjdaIgogICAgZmlsbD0iIzQzQTJDMiIgLz4KICA8cGF0aAogICAgZD0iTTExNy4yNDUgNDUuOTkyOUgyMzEuMzUyQzIzNy42NDQgNDUuOTkyOSAyNDIuNzYxIDUxLjA5OTcgMjQyLjc2MSA1Ny40MTM5VjI3NC40NjNIMTA1LjgzNlY1Ny4zOTc2QzEwNS44MzYgNTEuMDk5NyAxMTAuOTM3IDQ1Ljk3NjYgMTE3LjI0NSA0NS45NzY2VjQ1Ljk5MjlaIgogICAgZmlsbD0id2hpdGUiIC8+CiAgPHBhdGgKICAgIGQ9Ik0xMjAuMzU5IDI1OS45NTdIMjI3LjgzMkMyMjkuNTkyIDI1OS45NTcgMjMxLjAyNyAyNjEuMzkzIDIzMS4wMjcgMjYzLjE1NVYyNzQuNDc4SDExNy4xNjRWMjYzLjE1NUMxMTcuMTY0IDI2MS4zOTMgMTE4LjU5OCAyNTkuOTU3IDEyMC4zNTkgMjU5Ljk1N1oiCiAgICBmaWxsPSIjMDBDMUI2IiAvPgogIDxwYXRoCiAgICBkPSJNMjcxLjgxOSAyNzQuNDZMMjcxLjUxIDI0My42MzlDMjcxLjUxIDI0My42MzkgMjc1LjQwNSAxNjIuMjIzIDI1NS4yNiAxNTMuNzIzQzI1NS4yNiAxNTMuNzIzIDIzOC42NTEgMTUwLjY4OCAyMzguNDA3IDE4NS42MDRMMjM2Ljk1NiAyMjYuNTA4QzIzNi45NTYgMjI2LjUwOCAyMDkuOTE3IDIzNS4wNzMgMjA2LjA3IDI3NC40NiIKICAgIGZpbGw9IiNGOENDQzciIC8+CiAgPHBhdGgKICAgIGQ9Ik03OS41NDYxIDI0Mi40MDFDNzkuNTQ2MSAyNDIuNDAxIDY1LjMzMzYgMjIxLjg5MiA2Ny45MjUxIDIwMi4xMzRDNjguNTQ0NSAxOTcuMzY5IDcwLjc2MTEgMTkyLjg2NiA3NC41NDI0IDE4OS45MTNDNzYuMTA3MSAxODguNjg5IDc4LjAxNCAxODcuNjI5IDgwLjI3OTUgMTg3LjA3NEw5NC40NDMxIDIwNy4xNzVWMjE2Ljc1M0M5Ni40MTUyIDIyMi4wMzkgOTkuMzE2NCAyMjcuNTM3IDEwMC42MiAyMzMuMDM2QzEwMS42OTYgMjM3LjU4OCAxMDIuNTYgMjQyLjIwNSAxMDIuODg2IDI0Ni44ODhDMTAzLjA5OCAyNDkuOTIzIDEwMy45NDUgMjU0LjgxNyAxMDIuMjgzIDI1Ny41NThDMTAxLjI1NiAyNTkuMjM5IDk4Ljg5MjcgMjU5LjQ4NCA5Ny4wNTA5IDI1OS4zMDRDODguMjY1OSAyNTguNDg4IDgzLjg2NTIgMjQ4LjY1IDc5LjU0NjEgMjQyLjQxN1YyNDIuNDAxWiIKICAgIGZpbGw9IiNGOENDQzciIC8+CiAgPHBhdGgKICAgIGQ9Ik05NC40NTg3IDIwNy4xNzVWMjE2Ljc1MkM5Ni40MzA5IDIyMi4wMzggOTkuMzMyIDIyNy41MzcgMTAwLjYzNiAyMzMuMDM1QzEwMS43MTIgMjM3LjU4NyAxMDIuNTc1IDI0Mi4yMDUgMTAyLjkwMSAyNDYuODg3QzEwMy4xMTMgMjQ5LjkyMiAxMDMuOTYxIDI1NC44MTcgMTAyLjI5OCAyNTcuNTU4QzEwMS4yNzIgMjU5LjIzOCA5OC45MDgzIDI1OS40ODMgOTcuMDY2NSAyNTkuMzA0Qzg4LjI4MTUgMjU4LjQ4OCA4My44ODA5IDI0OC42NDkgNzkuNTYxNyAyNDIuNDE3Qzc5LjU2MTcgMjQyLjQxNyA2NS4zNDkyIDIyMS45MDggNjcuOTQwNyAyMDIuMTQ5QzY4LjU2MDEgMTk3LjM4NSA3MC43NzY3IDE5Mi44ODIgNzQuNTU4IDE4OS45MjlDNzYuMTIyNyAxODguNzA1IDc4LjAyOTYgMTg3LjY0NSA4MC4yOTUxIDE4Ny4wOSIKICAgIHN0cm9rZT0iI0YyQjFBQyIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgPHBhdGgKICAgIGQ9Ik04OC4yNjY4IDQyLjUzMkM4NS43NTY4IDQwLjczNzIgODQuMjA4NCAzOS43MDkzIDgxLjc5NjIgMzkuMzM0MUM3OC40NTUgMzguODEyIDc0LjQyOTIgMzkuNjYwNCA3My42NjMxIDQ2LjQ0NzhDNzMuMDQzOCA1MS45NjI1IDc0LjkzNDQgNTcuNDYwOSA3OC40ODc2IDYxLjcwM0w5NC40OTI5IDgyLjc4M1Y0Ni44MDY3TDg4LjI2NjggNDIuNTQ4M1Y0Mi41MzJaIgogICAgZmlsbD0iI0Y4Q0NDNyIgLz4KICA8cGF0aAogICAgZD0iTTg3LjM3MTMgMjAyLjg2OEM4Ny4zNzEzIDIwMi44NjggNzEuNTk0MSAxODIuNzAxIDY2LjkwMDEgMTU3LjQ5M0M2Ni4yOTcgMTU0LjI0NyA2Ni4yNDgxIDE1MC45MDIgNjcuMDMwNSAxNDcuNzA0QzY4Ljc0MTggMTQwLjcwNSA3NC42MjU3IDEzMS41MTkgOTQuNDYxMiAxMzcuMjEzVjE2My4yNjlDOTQuNDYxMiAxNjMuMjY5IDEwNS4zIDE4NC45NjkgMTAzLjYyMSAyMDAuMDk0QzEwMy42MjEgMjAwLjA5NCAxMDEuNjY1IDIxOC44MDggODcuMzg3NiAyMDIuODY4SDg3LjM3MTNaIgogICAgZmlsbD0iI0Y4Q0NDNyIgLz4KICA8cGF0aAogICAgZD0iTTk0LjQ2MDUgMTYzLjI2OUM5NC40NjA1IDE2My4yNjkgMTA1LjI5OSAxODQuOTY5IDEwMy42MiAyMDAuMDk0QzEwMy42MiAyMDAuMDk0IDEwMS42NjUgMjE4LjgwOCA4Ny4zODY5IDIwMi44NjhDODcuMzg2OSAyMDIuODY4IDcxLjYwOTcgMTgyLjcwMSA2Ni45MTU3IDE1Ny40OTNDNjYuMzEyNyAxNTQuMjQ3IDY2LjI2MzggMTUwLjkwMiA2Ny4wNDYxIDE0Ny43MDRDNjguNzU3NSAxNDAuNzA1IDc0LjY0MTMgMTMxLjUxOSA5NC40NzY4IDEzNy4yMTMiCiAgICBzdHJva2U9IiNGMkIxQUMiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxwYXRoIGQ9Ik0yMTcuMzk4IDExOS40M0gyMjQuMDgxIiBzdHJva2U9IndoaXRlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgLz4KICA8cGF0aCBkPSJNMjIyLjY2OCAxMTcuMTk1TDIyNC42NCAxMTkuMzk4TDIyMi4zOTEgMTIxLjY1IiBzdHJva2U9IndoaXRlIiBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxtYXNrIGlkPSJtYXNrMF8xMDE0MF83OTU0MjgiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIxMjAiIHk9Ijc1IiB3aWR0aD0iMTA4IgogICAgaGVpZ2h0PSIxMzUiPgogICAgPHBhdGgKICAgICAgZD0iTTE3NC4wOTYgMjA5LjM2MkMyMDMuNTU4IDIwOS4zNjIgMjI3LjQ0MSAxNzkuNDg1IDIyNy40NDEgMTQyLjYzQzIyNy40NDEgMTA1Ljc3NSAyMDMuNTU4IDc1Ljg5ODQgMTc0LjA5NiA3NS44OTg0QzE0NC42MzQgNzUuODk4NCAxMjAuNzUgMTA1Ljc3NSAxMjAuNzUgMTQyLjYzQzEyMC43NSAxNzkuNDg1IDE0NC42MzQgMjA5LjM2MiAxNzQuMDk2IDIwOS4zNjJaIgogICAgICBmaWxsPSJ3aGl0ZSIgLz4KICA8L21hc2s+CiAgPGcgbWFzaz0idXJsKCNtYXNrMF8xMDE0MF83OTU0MjgpIj4KICAgIDxwYXRoCiAgICAgIGQ9Ik0yMDYuNjYyIDE3OS4xMjlDMjA2LjY2MiAxNzkuMTI5IDI3NC4wNTggMTg1LjM2MiAyMzMuOTQ2IDIzMi40OThIMTI2Ljg2NEMxMjYuODY0IDIzMi40OTggODkuNTA3NCAxOTkuMjYzIDEzOS4zODEgMTc5LjEyOUgyMDYuNjc5SDIwNi42NjJaIgogICAgICBmaWxsPSIjMjU2MDhBIiAvPgogICAgPHBhdGggZD0iTTE1Ni41OTEgMTg1LjgwNEwxNDkuODU5IDI0OS4wMTFMMTk3Ljg3NSAyNDYuMTcyTDE4OS43MjYgMTc1LjMxMkgxNTcuMjc1TDE1Ni41OTEgMTg1LjgwNFoiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aAogICAgICBkPSJNMTI4LjIzNCAxMzcuMzc1QzEyOC4yMzQgMTM3LjM3NSAxMTYuMDc1IDEzNy44OTcgMTE3LjI5NyAxNTAuMjY0QzExNy4yOTcgMTUwLjI2NCAxMTguOTQzIDE1OC4yMjcgMTMzLjI3IDE1OS40MDFMMTI4LjIxNyAxMzcuMzc1SDEyOC4yMzRaIgogICAgICBmaWxsPSIjRjhDQ0M3IiAvPgogICAgPHBhdGgKICAgICAgZD0iTTEyNi4yMSAxMzAuODY3TDEzNC4yMjkgMTY1Ljg5N0MxMzQuMjI5IDE2NS44OTcgMTM4LjUzMiAxODcuOTcyIDE3MS41NTMgMTg5LjU4OEMyMDQuNTkgMTkxLjIwMyAyMDkuOTIgMTcxLjA4NSAyMDkuOTIgMTcxLjA4NUwyMjMuNTYyIDExOS42OTFDMjIzLjU2MiAxMTkuNjkxIDIyNi4zOTggNzkuNzgyMyAxNzguNDE1IDc1Ljk4MDdDMTc4LjQxNSA3NS45ODA3IDExNi44NTQgNzEuNTU5MSAxMjYuMjEgMTMwLjg2N1oiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aCBkPSJNMjA3LjcwNSAyMDguMTA1TDE3MS4zMjYgMjMwLjM5M0wxNDcuNTYyIDIwOS43MzciIHN0cm9rZT0iIzIzMTgxNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogICAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgPHBhdGgKICAgICAgZD0iTTIxNi45MjcgMTM1LjQwMkMyMTYuOTI3IDEzNS40MDIgMjI5LjA4NiAxMzUuOTI0IDIyNy44NjMgMTQ4LjI5MkMyMjcuODYzIDE0OC4yOTIgMjI2LjIxNyAxNTYuMjU0IDIxMS44OTEgMTU3LjQyOUwyMTYuOTQzIDEzNS40MDJIMjE2LjkyN1oiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aAogICAgICBkPSJNMTkyLjI3IDE0Ni4xMjNDMTk0LjcyNyAxNDYuMTIzIDE5Ni43MTkgMTQ0LjEyOSAxOTYuNzE5IDE0MS42NjlDMTk2LjcxOSAxMzkuMjA5IDE5NC43MjcgMTM3LjIxNSAxOTIuMjcgMTM3LjIxNUMxODkuODEyIDEzNy4yMTUgMTg3LjgyIDEzOS4yMDkgMTg3LjgyIDE0MS42NjlDMTg3LjgyIDE0NC4xMjkgMTg5LjgxMiAxNDYuMTIzIDE5Mi4yNyAxNDYuMTIzWiIKICAgICAgZmlsbD0iIzIzMTgxNSIgLz4KICAgIDxwYXRoCiAgICAgIGQ9Ik0xNTkuODQ4IDE0Ni4xMjNDMTYyLjMwNSAxNDYuMTIzIDE2NC4yOTggMTQ0LjEyOSAxNjQuMjk4IDE0MS42NjlDMTY0LjI5OCAxMzkuMjA5IDE2Mi4zMDUgMTM3LjIxNSAxNTkuODQ4IDEzNy4yMTVDMTU3LjM5MSAxMzcuMjE1IDE1NS4zOTggMTM5LjIwOSAxNTUuMzk4IDE0MS42NjlDMTU1LjM5OCAxNDQuMTI5IDE1Ny4zOTEgMTQ2LjEyMyAxNTkuODQ4IDE0Ni4xMjNaIgogICAgICBmaWxsPSIjMjMxODE1IiAvPgogICAgPHBhdGggZD0iTTE3Ni4wNyAxNDMuODg3VjE1Ny43NTUiIHN0cm9rZT0iIzIzMTgxNSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICA8cGF0aCBkPSJNMTcxLjc1IDE2OC40OTJDMTcxLjc1IDE2OC40OTIgMTc1LjAxIDE3MC40OTkgMTgwLjM4OCAxNjguNDkyIiBzdHJva2U9IiMyMzE4MTUiIHN0cm9rZS13aWR0aD0iMiIKICAgICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgPHBhdGgKICAgICAgZD0iTTE1Ni40NTkgMTg2Ljk5MkMxNTYuNDU5IDE4Ni45OTIgMTY3LjYwNyAxOTQuNDQ5IDE5MS4xMjYgMTg3LjY2MUwxOTIuMDg4IDE5NS44MzVDMTkyLjA4OCAxOTUuODM1IDE3OC4xMzYgMjA0LjY5NSAxNTUuNTYyIDE5NS40MjdMMTU2LjQ1OSAxODYuOTkyWiIKICAgICAgZmlsbD0iIzI3MjgyOCIgLz4KICAgIDxwYXRoCiAgICAgIGQ9Ik0xOTEuMjc1IDEzMi43NkwyMDIuMTYzIDEzMS45OTNMMjAwLjk4OSAxMTEuNTQ5TDIxMy42MjEgMTM2LjQ0N0gyMjMuNTk2QzIyMy41OTYgMTM2LjQ0NyAyNDcuNDI0IDc5LjE2MjcgMjAyLjA5OCA4MC4zNTM3QzIwMi4wOTggODAuMzUzNyAxNjQuNjI3IDQ2LjMxOSAxMjUuMjMzIDg2LjYzNTNDMTI1LjIzMyA4Ni42MzUzIDEwMS4xNzYgMTE3LjU4NiAxMjYuMTk1IDEzOS43NDNMMTM4LjAxMSAxMzguNTg1TDE0MS4yNTUgMTEyLjU0NUwxOTEuMjc1IDEzMi43NloiCiAgICAgIGZpbGw9IiMyNzI4MjgiIC8+CiAgPC9nPgogIDxwYXRoCiAgICBkPSJNMTc0LjA5NiAyMDkuMzYyQzIwMy41NTggMjA5LjM2MiAyMjcuNDQxIDE3OS40ODUgMjI3LjQ0MSAxNDIuNjNDMjI3LjQ0MSAxMDUuNzc1IDIwMy41NTggNzUuODk4NCAxNzQuMDk2IDc1Ljg5ODRDMTQ0LjYzNCA3NS44OTg0IDEyMC43NSAxMDUuNzc1IDEyMC43NSAxNDIuNjNDMTIwLjc1IDE3OS40ODUgMTQ0LjYzNCAyMDkuMzYyIDE3NC4wOTYgMjA5LjM2MloiCiAgICBzdHJva2U9IiMwMEMxQjYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxwYXRoCiAgICBkPSJNMTc0LjEgMTk1LjY4NUMxOTguMTI4IDE5NS42ODUgMjE3LjYwNyAxNzEuNDI3IDIxNy42MDcgMTQxLjUwNEMyMTcuNjA3IDExMS41ODIgMTk4LjEyOCA4Ny4zMjQyIDE3NC4xIDg3LjMyNDJDMTUwLjA3MiA4Ny4zMjQyIDEzMC41OTQgMTExLjU4MiAxMzAuNTk0IDE0MS41MDRDMTMwLjU5NCAxNzEuNDI3IDE1MC4wNzIgMTk1LjY4NSAxNzQuMSAxOTUuNjg1WiIKICAgIHN0cm9rZT0iIzAwQzFCNiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIgLz4KPC9zdmc+';
81
86
  const DEFAULT_ICON_URI = 'data:image/png;base64,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';
@@ -28296,16 +28301,16 @@ function startLiveness(config) {
28296
28301
  livenessConfig = res.parameters;
28297
28302
  expiredIn = res.expiredIn;
28298
28303
  }), rxjs.catchError(error => __awaiter(this, void 0, void 0, function* () {
28299
- var _a, _b, _c, _d, _e, _f;
28304
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
28300
28305
  const EVENT_NAME_ERROR_CODE = 7;
28301
28306
  const INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable = 'Liveness Inavailable';
28302
28307
  const INIT_RESPONSE_ERROR_MESSAGE__NotAllowedNewEvent = 'Not allowed new event';
28303
28308
  const SHOW_ERROR_MESSAGE_INTERVAL = 3000;
28304
28309
  // 針對 event name 沒有開啟 liveness 的相關處理
28305
- if (((_c = (_b = (_a = error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === EVENT_NAME_ERROR_CODE) {
28310
+ if (((_c = (_b = (_a = error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === EVENT_NAME_ERROR_CODE || ((_f = (_e = (_d = error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.code) === 5) {
28306
28311
  let throwError = new core.AuthmeError(core.ErrorCode.EVENT_NAME_WRONG, error.cause);
28307
28312
  let errorMessage = undefined;
28308
- switch ((_f = (_e = (_d = error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.message) {
28313
+ switch ((_j = (_h = (_g = error.cause) === null || _g === void 0 ? void 0 : _g.meta) === null || _h === void 0 ? void 0 : _h.responseContent) === null || _j === void 0 ? void 0 : _j.message) {
28309
28314
  case INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable:
28310
28315
  errorMessage = 'sdk.general.error.functionNotEnabled';
28311
28316
  throwError = new core.AuthmeError(core.ErrorCode.EVENT_NAME_WRONG, INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable);
@@ -28317,14 +28322,38 @@ function startLiveness(config) {
28317
28322
  }
28318
28323
  if (errorMessage) {
28319
28324
  yield util.asyncOnLineShowErrorMessage(translateService.translate(errorMessage), translateService.translate('sdk.general.error.retry'), false);
28325
+ yield util.waitTime(SHOW_ERROR_MESSAGE_INTERVAL);
28326
+ throw throwError;
28320
28327
  } else {
28321
- const defaultErrorMessage = `${translateService.translate('sdk.general.error.eventNameInvalid.title')} : ${translateService.translate('sdk.general.error.eventNameInvalid.content')}`;
28322
- yield util.asyncOnLineShowErrorMessage(defaultErrorMessage, translateService.translate('sdk.general.error.retry'), false);
28328
+ `${translateService.translate('sdk.general.error.eventNameInvalid.title')} : ${translateService.translate('sdk.general.error.eventNameInvalid.content')}`;
28329
+ // await asyncOnLineShowErrorMessage(
28330
+ // defaultErrorMessage,
28331
+ // translateService.translate('sdk.general.error.retry'),
28332
+ // false
28333
+ // );
28334
+ // await asyncShowErrorMessage(
28335
+ // getTranslateInstance().translate(
28336
+ // 'sdk.general.error.eventNameInvalid.content'
28337
+ // ),
28338
+ // true,
28339
+ // {
28340
+ // callback: () => {
28341
+ // throw new AuthmeError(ErrorCode.EVENT_NAME_WRONG);
28342
+ // },
28343
+ // buttonText: getTranslateInstance().translate(
28344
+ // 'sdk.general.confirm'
28345
+ // ),
28346
+ // titleText: getTranslateInstance().translate(
28347
+ // 'sdk.general.error.eventNameInvalid.title'
28348
+ // ),
28349
+ // showErrorMessageHandler: showErrorMessageEventName,
28350
+ // }
28351
+ // );
28352
+ throw new core.AuthmeError(core.ErrorCode.EVENT_NAME_WRONG);
28323
28353
  }
28324
- yield util.waitTime(SHOW_ERROR_MESSAGE_INTERVAL);
28325
- throw throwError;
28354
+ } else {
28355
+ throw error;
28326
28356
  }
28327
- throw error;
28328
28357
  })));
28329
28358
  const applyTextByResult = result => {
28330
28359
  // debugLog('fas-response', result);
@@ -31757,7 +31786,8 @@ function startOCR(config) {
31757
31786
  }
31758
31787
  function main() {
31759
31788
  const flags = {
31760
- onConfirm: false
31789
+ onConfirm: false,
31790
+ resultModalActive: false
31761
31791
  };
31762
31792
  // startSpinner({
31763
31793
  // text: translateService.translate('sdk.general.loading'),
@@ -31798,6 +31828,7 @@ function startOCR(config) {
31798
31828
  if (config.ocrConfig.displayResultPage) {
31799
31829
  // only for TWN IDCard
31800
31830
  if (config.cardTypes[0].includes(idRecognition.IdRecognitionCardType.IDCard) && config.cardTypes[0].includes(idRecognition.CountryCode.TWN)) {
31831
+ flags.resultModalActive = true;
31801
31832
  const keyMapping = {
31802
31833
  [idRecognition.IdRecognitionCardType.IDCard]: 'idCard',
31803
31834
  [idRecognition.IdRecognitionCardType.DriverLicense]: 'driverLicense',
@@ -31822,6 +31853,7 @@ function startOCR(config) {
31822
31853
  // console.log('onClose');
31823
31854
  }
31824
31855
  });
31856
+ flags.resultModalActive = false;
31825
31857
  if (res === 'close') {
31826
31858
  const cancelResultObj = {
31827
31859
  isSuccess: false,
@@ -31832,6 +31864,7 @@ function startOCR(config) {
31832
31864
  return cancelResultObj;
31833
31865
  }
31834
31866
  } else {
31867
+ flags.resultModalActive = true;
31835
31868
  modifiedData = yield renderConfirmUI({
31836
31869
  cardType: config.ocrConfig.type,
31837
31870
  items: {
@@ -31847,6 +31880,7 @@ function startOCR(config) {
31847
31880
  translate: key => translateService.translate(key)
31848
31881
  }
31849
31882
  });
31883
+ flags.resultModalActive = false;
31850
31884
  }
31851
31885
  }
31852
31886
  flags.onConfirm = true;
@@ -31891,7 +31925,11 @@ function startOCR(config) {
31891
31925
  toastManualCapture.clear();
31892
31926
  }
31893
31927
  }));
31894
- const detectScreenResizeError$ = handleScreenResizeError$(detectScreenResize$(), unsubscribe$, () => !flags.onConfirm);
31928
+ const detectScreenResizeError$ = handleScreenResizeError$(detectScreenResize$(), unsubscribe$,
31929
+ // () => !flags.onConfirm
31930
+ () => !flags.onConfirm && !flags.resultModalActive // Add check for resultModalActive
31931
+ );
31932
+
31895
31933
  return rxjs.merge(flow$, cancel$, detectScreenResizeError$, timeout$).pipe(rxjs.take(1));
31896
31934
  }
31897
31935
  rxjs.fromEvent(window, 'offline').pipe(rxjs.switchMap(() => util.asyncOnLineShowErrorMessage(translateService.translate('sdk.general.error.alert.offline'), translateService.translate('sdk.general.error.retry'), false)), rxjs.takeUntil(unsubscribe$)).subscribe();
@@ -32951,11 +32989,11 @@ class LivenessModule {
32951
32989
  uploadFullFrame: config.uploadFullFrame
32952
32990
  }, shouldEncrypt, encryptDataBase64);
32953
32991
  } catch (error) {
32954
- const _error = error;
32955
32992
  // 確保 `handleUploadError` 的結果被等待
32956
32993
  const action = yield handleUploadError$1();
32957
32994
  if (action === 'close') {
32958
- throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
32995
+ // throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
32996
+ throw new core.AuthmeError(core.ErrorCode.ERROR_USER_CANCEL);
32959
32997
  } else if (action === 'retry') {
32960
32998
  yield handleUpload(id, frameList, resultList, meta, config, shouldEncrypt, encryptDataBase64);
32961
32999
  }
@@ -33748,9 +33786,9 @@ function SendRequestWithRetry(promiseFactory, options = {}) {
33748
33786
  var _a, _b, _c;
33749
33787
  const errorParams = (options === null || options === void 0 ? void 0 : options.onErrorHandler) ? options === null || options === void 0 ? void 0 : options.onErrorHandler(e) : {};
33750
33788
  util.stopSpinner();
33751
- return util.asyncShowErrorMessage(core.getTranslateInstance().translate((_a = errorParams === null || errorParams === void 0 ? void 0 : errorParams.errorText) !== null && _a !== void 0 ? _a : 'sdk.general.error.alert.serverError'),
33752
- // errorParams.showRetryButton,
33753
- false, {
33789
+ return util.asyncShowErrorMessage(core.getTranslateInstance().translate((_a = errorParams === null || errorParams === void 0 ? void 0 : errorParams.errorText) !== null && _a !== void 0 ? _a : 'sdk.general.error.alert.serverError'), errorParams.showRetryButton,
33790
+ // false,
33791
+ {
33754
33792
  callback: errorParams === null || errorParams === void 0 ? void 0 : errorParams.onButtonClick,
33755
33793
  buttonText: core.getTranslateInstance().translate((_b = errorParams === null || errorParams === void 0 ? void 0 : errorParams.buttonText) !== null && _b !== void 0 ? _b : 'sdk.general.error.retry'),
33756
33794
  titleText: core.getTranslateInstance().translate((_c = errorParams === null || errorParams === void 0 ? void 0 : errorParams.titleText) !== null && _c !== void 0 ? _c : ''),
@@ -34014,11 +34052,11 @@ class OCRModule {
34014
34052
  }
34015
34053
  return response;
34016
34054
  } catch (error) {
34017
- const _error = error;
34018
34055
  // 確保 `handleUploadError` 的結果被等待
34019
34056
  const action = yield handleUploadError();
34020
34057
  if (action === 'close') {
34021
- throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
34058
+ // throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
34059
+ throw new core.AuthmeError(core.ErrorCode.ERROR_USER_CANCEL);
34022
34060
  } else if (action === 'retry') {
34023
34061
  return yield handleUpload(option, docId, ocrOriginImg, requestImg, ocrImg, report);
34024
34062
  }
@@ -34047,9 +34085,10 @@ class OCRModule {
34047
34085
  return idRecognition.initScan(config.type, config.country, config.needConfirm, config.cardTypes);
34048
34086
  }, {
34049
34087
  onErrorHandler(e) {
34050
- var _a, _b, _c;
34088
+ var _a, _b, _c, _d, _e, _f, _g;
34051
34089
  const _error = e;
34052
- if (((_c = (_b = (_a = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === 7) {
34090
+ if (((_c = (_b = (_a = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === 7 || ((_f = (_e = (_d = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.code) === 5) {
34091
+ (_g = document.querySelector('.video-container__close')) === null || _g === void 0 ? void 0 : _g.classList.add('hide');
34053
34092
  return {
34054
34093
  buttonText: 'sdk.general.confirm',
34055
34094
  titleText: 'sdk.general.error.eventNameInvalid.title',
@@ -35668,8 +35707,8 @@ class AuthmeIdentityVerification extends engine.AuthmeFunctionModule {
35668
35707
  }
35669
35708
 
35670
35709
  var name = "authme/sdk";
35671
- var version$1 = "2.8.11";
35672
- var date = "2025-04-10T03:53:45+0000";
35710
+ var version$1 = "2.8.13";
35711
+ var date = "2025-05-02T03:27:38+0000";
35673
35712
  var packageInfo = {
35674
35713
  name: name,
35675
35714
  version: version$1,
package/index.js CHANGED
@@ -67,7 +67,12 @@ function __awaiter(thisArg, _arguments, P, generator) {
67
67
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
68
68
  step((generator = generator.apply(thisArg, _arguments || [])).next());
69
69
  });
70
- }
70
+ }
71
+
72
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
73
+ var e = new Error(message);
74
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
75
+ };
71
76
 
72
77
  const LIVENESS_GUIDE_IMG = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzI3IiBoZWlnaHQ9IjI3NSIgdmlld0JveD0iMCAwIDMyNyAyNzUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjMyNyIgaGVpZ2h0PSIyNzUiIGZpbGw9IiNGOEY4RjgiIC8+CiAgPHBhdGgKICAgIGQ9Ik05NC40NTc1IDg4LjgzNzZMNjcuMzUyNyA3MC4yNzAzQzY1LjUyNzMgNjguNjM4NyA2My4yOTQzIDY3LjQ0NzYgNjAuODgyMSA2Ny4wNzI0QzU3LjU0MDkgNjYuNTUwMiA1My41MTUxIDY3LjM5ODcgNTIuNzQ5MSA3NC4xODZDNTIuMTI5NyA3OS43MDA4IDU0LjAyMDQgODUuMTk5MiA1Ny41NzM1IDg5LjQ0MTNMOTQuNDU3NSAxMzguMDNWODguODM3NloiCiAgICBmaWxsPSIjRjhDQ0M3IiAvPgogIDxwYXRoIG9wYWNpdHk9IjAuMyIKICAgIGQ9Ik0xMTYuNzA5IDI3SDIzMS44OTJDMjQ0LjE2NSAyNyAyNTQuMTM5IDM2Ljk4NTMgMjU0LjEzOSA0OS4yNzExVjI3NC40NjJIOTQuNDYwOVY0OS4yNzExQzk0LjQ2MDkgMzYuOTg1MyAxMDQuNDM2IDI3IDExNi43MDkgMjdaIgogICAgZmlsbD0iIzQzQTJDMiIgLz4KICA8cGF0aAogICAgZD0iTTExNy4yNDUgNDUuOTkyOUgyMzEuMzUyQzIzNy42NDQgNDUuOTkyOSAyNDIuNzYxIDUxLjA5OTcgMjQyLjc2MSA1Ny40MTM5VjI3NC40NjNIMTA1LjgzNlY1Ny4zOTc2QzEwNS44MzYgNTEuMDk5NyAxMTAuOTM3IDQ1Ljk3NjYgMTE3LjI0NSA0NS45NzY2VjQ1Ljk5MjlaIgogICAgZmlsbD0id2hpdGUiIC8+CiAgPHBhdGgKICAgIGQ9Ik0xMjAuMzU5IDI1OS45NTdIMjI3LjgzMkMyMjkuNTkyIDI1OS45NTcgMjMxLjAyNyAyNjEuMzkzIDIzMS4wMjcgMjYzLjE1NVYyNzQuNDc4SDExNy4xNjRWMjYzLjE1NUMxMTcuMTY0IDI2MS4zOTMgMTE4LjU5OCAyNTkuOTU3IDEyMC4zNTkgMjU5Ljk1N1oiCiAgICBmaWxsPSIjMDBDMUI2IiAvPgogIDxwYXRoCiAgICBkPSJNMjcxLjgxOSAyNzQuNDZMMjcxLjUxIDI0My42MzlDMjcxLjUxIDI0My42MzkgMjc1LjQwNSAxNjIuMjIzIDI1NS4yNiAxNTMuNzIzQzI1NS4yNiAxNTMuNzIzIDIzOC42NTEgMTUwLjY4OCAyMzguNDA3IDE4NS42MDRMMjM2Ljk1NiAyMjYuNTA4QzIzNi45NTYgMjI2LjUwOCAyMDkuOTE3IDIzNS4wNzMgMjA2LjA3IDI3NC40NiIKICAgIGZpbGw9IiNGOENDQzciIC8+CiAgPHBhdGgKICAgIGQ9Ik03OS41NDYxIDI0Mi40MDFDNzkuNTQ2MSAyNDIuNDAxIDY1LjMzMzYgMjIxLjg5MiA2Ny45MjUxIDIwMi4xMzRDNjguNTQ0NSAxOTcuMzY5IDcwLjc2MTEgMTkyLjg2NiA3NC41NDI0IDE4OS45MTNDNzYuMTA3MSAxODguNjg5IDc4LjAxNCAxODcuNjI5IDgwLjI3OTUgMTg3LjA3NEw5NC40NDMxIDIwNy4xNzVWMjE2Ljc1M0M5Ni40MTUyIDIyMi4wMzkgOTkuMzE2NCAyMjcuNTM3IDEwMC42MiAyMzMuMDM2QzEwMS42OTYgMjM3LjU4OCAxMDIuNTYgMjQyLjIwNSAxMDIuODg2IDI0Ni44ODhDMTAzLjA5OCAyNDkuOTIzIDEwMy45NDUgMjU0LjgxNyAxMDIuMjgzIDI1Ny41NThDMTAxLjI1NiAyNTkuMjM5IDk4Ljg5MjcgMjU5LjQ4NCA5Ny4wNTA5IDI1OS4zMDRDODguMjY1OSAyNTguNDg4IDgzLjg2NTIgMjQ4LjY1IDc5LjU0NjEgMjQyLjQxN1YyNDIuNDAxWiIKICAgIGZpbGw9IiNGOENDQzciIC8+CiAgPHBhdGgKICAgIGQ9Ik05NC40NTg3IDIwNy4xNzVWMjE2Ljc1MkM5Ni40MzA5IDIyMi4wMzggOTkuMzMyIDIyNy41MzcgMTAwLjYzNiAyMzMuMDM1QzEwMS43MTIgMjM3LjU4NyAxMDIuNTc1IDI0Mi4yMDUgMTAyLjkwMSAyNDYuODg3QzEwMy4xMTMgMjQ5LjkyMiAxMDMuOTYxIDI1NC44MTcgMTAyLjI5OCAyNTcuNTU4QzEwMS4yNzIgMjU5LjIzOCA5OC45MDgzIDI1OS40ODMgOTcuMDY2NSAyNTkuMzA0Qzg4LjI4MTUgMjU4LjQ4OCA4My44ODA5IDI0OC42NDkgNzkuNTYxNyAyNDIuNDE3Qzc5LjU2MTcgMjQyLjQxNyA2NS4zNDkyIDIyMS45MDggNjcuOTQwNyAyMDIuMTQ5QzY4LjU2MDEgMTk3LjM4NSA3MC43NzY3IDE5Mi44ODIgNzQuNTU4IDE4OS45MjlDNzYuMTIyNyAxODguNzA1IDc4LjAyOTYgMTg3LjY0NSA4MC4yOTUxIDE4Ny4wOSIKICAgIHN0cm9rZT0iI0YyQjFBQyIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgPHBhdGgKICAgIGQ9Ik04OC4yNjY4IDQyLjUzMkM4NS43NTY4IDQwLjczNzIgODQuMjA4NCAzOS43MDkzIDgxLjc5NjIgMzkuMzM0MUM3OC40NTUgMzguODEyIDc0LjQyOTIgMzkuNjYwNCA3My42NjMxIDQ2LjQ0NzhDNzMuMDQzOCA1MS45NjI1IDc0LjkzNDQgNTcuNDYwOSA3OC40ODc2IDYxLjcwM0w5NC40OTI5IDgyLjc4M1Y0Ni44MDY3TDg4LjI2NjggNDIuNTQ4M1Y0Mi41MzJaIgogICAgZmlsbD0iI0Y4Q0NDNyIgLz4KICA8cGF0aAogICAgZD0iTTg3LjM3MTMgMjAyLjg2OEM4Ny4zNzEzIDIwMi44NjggNzEuNTk0MSAxODIuNzAxIDY2LjkwMDEgMTU3LjQ5M0M2Ni4yOTcgMTU0LjI0NyA2Ni4yNDgxIDE1MC45MDIgNjcuMDMwNSAxNDcuNzA0QzY4Ljc0MTggMTQwLjcwNSA3NC42MjU3IDEzMS41MTkgOTQuNDYxMiAxMzcuMjEzVjE2My4yNjlDOTQuNDYxMiAxNjMuMjY5IDEwNS4zIDE4NC45NjkgMTAzLjYyMSAyMDAuMDk0QzEwMy42MjEgMjAwLjA5NCAxMDEuNjY1IDIxOC44MDggODcuMzg3NiAyMDIuODY4SDg3LjM3MTNaIgogICAgZmlsbD0iI0Y4Q0NDNyIgLz4KICA8cGF0aAogICAgZD0iTTk0LjQ2MDUgMTYzLjI2OUM5NC40NjA1IDE2My4yNjkgMTA1LjI5OSAxODQuOTY5IDEwMy42MiAyMDAuMDk0QzEwMy42MiAyMDAuMDk0IDEwMS42NjUgMjE4LjgwOCA4Ny4zODY5IDIwMi44NjhDODcuMzg2OSAyMDIuODY4IDcxLjYwOTcgMTgyLjcwMSA2Ni45MTU3IDE1Ny40OTNDNjYuMzEyNyAxNTQuMjQ3IDY2LjI2MzggMTUwLjkwMiA2Ny4wNDYxIDE0Ny43MDRDNjguNzU3NSAxNDAuNzA1IDc0LjY0MTMgMTMxLjUxOSA5NC40NzY4IDEzNy4yMTMiCiAgICBzdHJva2U9IiNGMkIxQUMiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxwYXRoIGQ9Ik0yMTcuMzk4IDExOS40M0gyMjQuMDgxIiBzdHJva2U9IndoaXRlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgLz4KICA8cGF0aCBkPSJNMjIyLjY2OCAxMTcuMTk1TDIyNC42NCAxMTkuMzk4TDIyMi4zOTEgMTIxLjY1IiBzdHJva2U9IndoaXRlIiBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxtYXNrIGlkPSJtYXNrMF8xMDE0MF83OTU0MjgiIHN0eWxlPSJtYXNrLXR5cGU6bHVtaW5hbmNlIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIxMjAiIHk9Ijc1IiB3aWR0aD0iMTA4IgogICAgaGVpZ2h0PSIxMzUiPgogICAgPHBhdGgKICAgICAgZD0iTTE3NC4wOTYgMjA5LjM2MkMyMDMuNTU4IDIwOS4zNjIgMjI3LjQ0MSAxNzkuNDg1IDIyNy40NDEgMTQyLjYzQzIyNy40NDEgMTA1Ljc3NSAyMDMuNTU4IDc1Ljg5ODQgMTc0LjA5NiA3NS44OTg0QzE0NC42MzQgNzUuODk4NCAxMjAuNzUgMTA1Ljc3NSAxMjAuNzUgMTQyLjYzQzEyMC43NSAxNzkuNDg1IDE0NC42MzQgMjA5LjM2MiAxNzQuMDk2IDIwOS4zNjJaIgogICAgICBmaWxsPSJ3aGl0ZSIgLz4KICA8L21hc2s+CiAgPGcgbWFzaz0idXJsKCNtYXNrMF8xMDE0MF83OTU0MjgpIj4KICAgIDxwYXRoCiAgICAgIGQ9Ik0yMDYuNjYyIDE3OS4xMjlDMjA2LjY2MiAxNzkuMTI5IDI3NC4wNTggMTg1LjM2MiAyMzMuOTQ2IDIzMi40OThIMTI2Ljg2NEMxMjYuODY0IDIzMi40OTggODkuNTA3NCAxOTkuMjYzIDEzOS4zODEgMTc5LjEyOUgyMDYuNjc5SDIwNi42NjJaIgogICAgICBmaWxsPSIjMjU2MDhBIiAvPgogICAgPHBhdGggZD0iTTE1Ni41OTEgMTg1LjgwNEwxNDkuODU5IDI0OS4wMTFMMTk3Ljg3NSAyNDYuMTcyTDE4OS43MjYgMTc1LjMxMkgxNTcuMjc1TDE1Ni41OTEgMTg1LjgwNFoiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aAogICAgICBkPSJNMTI4LjIzNCAxMzcuMzc1QzEyOC4yMzQgMTM3LjM3NSAxMTYuMDc1IDEzNy44OTcgMTE3LjI5NyAxNTAuMjY0QzExNy4yOTcgMTUwLjI2NCAxMTguOTQzIDE1OC4yMjcgMTMzLjI3IDE1OS40MDFMMTI4LjIxNyAxMzcuMzc1SDEyOC4yMzRaIgogICAgICBmaWxsPSIjRjhDQ0M3IiAvPgogICAgPHBhdGgKICAgICAgZD0iTTEyNi4yMSAxMzAuODY3TDEzNC4yMjkgMTY1Ljg5N0MxMzQuMjI5IDE2NS44OTcgMTM4LjUzMiAxODcuOTcyIDE3MS41NTMgMTg5LjU4OEMyMDQuNTkgMTkxLjIwMyAyMDkuOTIgMTcxLjA4NSAyMDkuOTIgMTcxLjA4NUwyMjMuNTYyIDExOS42OTFDMjIzLjU2MiAxMTkuNjkxIDIyNi4zOTggNzkuNzgyMyAxNzguNDE1IDc1Ljk4MDdDMTc4LjQxNSA3NS45ODA3IDExNi44NTQgNzEuNTU5MSAxMjYuMjEgMTMwLjg2N1oiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aCBkPSJNMjA3LjcwNSAyMDguMTA1TDE3MS4zMjYgMjMwLjM5M0wxNDcuNTYyIDIwOS43MzciIHN0cm9rZT0iIzIzMTgxNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogICAgICBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgPHBhdGgKICAgICAgZD0iTTIxNi45MjcgMTM1LjQwMkMyMTYuOTI3IDEzNS40MDIgMjI5LjA4NiAxMzUuOTI0IDIyNy44NjMgMTQ4LjI5MkMyMjcuODYzIDE0OC4yOTIgMjI2LjIxNyAxNTYuMjU0IDIxMS44OTEgMTU3LjQyOUwyMTYuOTQzIDEzNS40MDJIMjE2LjkyN1oiCiAgICAgIGZpbGw9IiNGOENDQzciIC8+CiAgICA8cGF0aAogICAgICBkPSJNMTkyLjI3IDE0Ni4xMjNDMTk0LjcyNyAxNDYuMTIzIDE5Ni43MTkgMTQ0LjEyOSAxOTYuNzE5IDE0MS42NjlDMTk2LjcxOSAxMzkuMjA5IDE5NC43MjcgMTM3LjIxNSAxOTIuMjcgMTM3LjIxNUMxODkuODEyIDEzNy4yMTUgMTg3LjgyIDEzOS4yMDkgMTg3LjgyIDE0MS42NjlDMTg3LjgyIDE0NC4xMjkgMTg5LjgxMiAxNDYuMTIzIDE5Mi4yNyAxNDYuMTIzWiIKICAgICAgZmlsbD0iIzIzMTgxNSIgLz4KICAgIDxwYXRoCiAgICAgIGQ9Ik0xNTkuODQ4IDE0Ni4xMjNDMTYyLjMwNSAxNDYuMTIzIDE2NC4yOTggMTQ0LjEyOSAxNjQuMjk4IDE0MS42NjlDMTY0LjI5OCAxMzkuMjA5IDE2Mi4zMDUgMTM3LjIxNSAxNTkuODQ4IDEzNy4yMTVDMTU3LjM5MSAxMzcuMjE1IDE1NS4zOTggMTM5LjIwOSAxNTUuMzk4IDE0MS42NjlDMTU1LjM5OCAxNDQuMTI5IDE1Ny4zOTEgMTQ2LjEyMyAxNTkuODQ4IDE0Ni4xMjNaIgogICAgICBmaWxsPSIjMjMxODE1IiAvPgogICAgPHBhdGggZD0iTTE3Ni4wNyAxNDMuODg3VjE1Ny43NTUiIHN0cm9rZT0iIzIzMTgxNSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgIHN0cm9rZS1saW5lam9pbj0icm91bmQiIC8+CiAgICA8cGF0aCBkPSJNMTcxLjc1IDE2OC40OTJDMTcxLjc1IDE2OC40OTIgMTc1LjAxIDE3MC40OTkgMTgwLjM4OCAxNjguNDkyIiBzdHJva2U9IiMyMzE4MTUiIHN0cm9rZS13aWR0aD0iMiIKICAgICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgPHBhdGgKICAgICAgZD0iTTE1Ni40NTkgMTg2Ljk5MkMxNTYuNDU5IDE4Ni45OTIgMTY3LjYwNyAxOTQuNDQ5IDE5MS4xMjYgMTg3LjY2MUwxOTIuMDg4IDE5NS44MzVDMTkyLjA4OCAxOTUuODM1IDE3OC4xMzYgMjA0LjY5NSAxNTUuNTYyIDE5NS40MjdMMTU2LjQ1OSAxODYuOTkyWiIKICAgICAgZmlsbD0iIzI3MjgyOCIgLz4KICAgIDxwYXRoCiAgICAgIGQ9Ik0xOTEuMjc1IDEzMi43NkwyMDIuMTYzIDEzMS45OTNMMjAwLjk4OSAxMTEuNTQ5TDIxMy42MjEgMTM2LjQ0N0gyMjMuNTk2QzIyMy41OTYgMTM2LjQ0NyAyNDcuNDI0IDc5LjE2MjcgMjAyLjA5OCA4MC4zNTM3QzIwMi4wOTggODAuMzUzNyAxNjQuNjI3IDQ2LjMxOSAxMjUuMjMzIDg2LjYzNTNDMTI1LjIzMyA4Ni42MzUzIDEwMS4xNzYgMTE3LjU4NiAxMjYuMTk1IDEzOS43NDNMMTM4LjAxMSAxMzguNTg1TDE0MS4yNTUgMTEyLjU0NUwxOTEuMjc1IDEzMi43NloiCiAgICAgIGZpbGw9IiMyNzI4MjgiIC8+CiAgPC9nPgogIDxwYXRoCiAgICBkPSJNMTc0LjA5NiAyMDkuMzYyQzIwMy41NTggMjA5LjM2MiAyMjcuNDQxIDE3OS40ODUgMjI3LjQ0MSAxNDIuNjNDMjI3LjQ0MSAxMDUuNzc1IDIwMy41NTggNzUuODk4NCAxNzQuMDk2IDc1Ljg5ODRDMTQ0LjYzNCA3NS44OTg0IDEyMC43NSAxMDUuNzc1IDEyMC43NSAxNDIuNjNDMTIwLjc1IDE3OS40ODUgMTQ0LjYzNCAyMDkuMzYyIDE3NC4wOTYgMjA5LjM2MloiCiAgICBzdHJva2U9IiMwMEMxQjYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogIDxwYXRoCiAgICBkPSJNMTc0LjEgMTk1LjY4NUMxOTguMTI4IDE5NS42ODUgMjE3LjYwNyAxNzEuNDI3IDIxNy42MDcgMTQxLjUwNEMyMTcuNjA3IDExMS41ODIgMTk4LjEyOCA4Ny4zMjQyIDE3NC4xIDg3LjMyNDJDMTUwLjA3MiA4Ny4zMjQyIDEzMC41OTQgMTExLjU4MiAxMzAuNTk0IDE0MS41MDRDMTMwLjU5NCAxNzEuNDI3IDE1MC4wNzIgMTk1LjY4NSAxNzQuMSAxOTUuNjg1WiIKICAgIHN0cm9rZT0iIzAwQzFCNiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1kYXNoYXJyYXk9IjUgNSIgLz4KPC9zdmc+';
73
78
  const DEFAULT_ICON_URI = 'data:image/png;base64,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';
@@ -28288,16 +28293,16 @@ function startLiveness(config) {
28288
28293
  livenessConfig = res.parameters;
28289
28294
  expiredIn = res.expiredIn;
28290
28295
  }), catchError(error => __awaiter(this, void 0, void 0, function* () {
28291
- var _a, _b, _c, _d, _e, _f;
28296
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
28292
28297
  const EVENT_NAME_ERROR_CODE = 7;
28293
28298
  const INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable = 'Liveness Inavailable';
28294
28299
  const INIT_RESPONSE_ERROR_MESSAGE__NotAllowedNewEvent = 'Not allowed new event';
28295
28300
  const SHOW_ERROR_MESSAGE_INTERVAL = 3000;
28296
28301
  // 針對 event name 沒有開啟 liveness 的相關處理
28297
- if (((_c = (_b = (_a = error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === EVENT_NAME_ERROR_CODE) {
28302
+ if (((_c = (_b = (_a = error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === EVENT_NAME_ERROR_CODE || ((_f = (_e = (_d = error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.code) === 5) {
28298
28303
  let throwError = new AuthmeError(ErrorCode.EVENT_NAME_WRONG, error.cause);
28299
28304
  let errorMessage = undefined;
28300
- switch ((_f = (_e = (_d = error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.message) {
28305
+ switch ((_j = (_h = (_g = error.cause) === null || _g === void 0 ? void 0 : _g.meta) === null || _h === void 0 ? void 0 : _h.responseContent) === null || _j === void 0 ? void 0 : _j.message) {
28301
28306
  case INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable:
28302
28307
  errorMessage = 'sdk.general.error.functionNotEnabled';
28303
28308
  throwError = new AuthmeError(ErrorCode.EVENT_NAME_WRONG, INIT_RESPONSE_ERROR_MESSAGE__LivenessInavailable);
@@ -28309,14 +28314,38 @@ function startLiveness(config) {
28309
28314
  }
28310
28315
  if (errorMessage) {
28311
28316
  yield asyncOnLineShowErrorMessage(translateService.translate(errorMessage), translateService.translate('sdk.general.error.retry'), false);
28317
+ yield waitTime(SHOW_ERROR_MESSAGE_INTERVAL);
28318
+ throw throwError;
28312
28319
  } else {
28313
- const defaultErrorMessage = `${translateService.translate('sdk.general.error.eventNameInvalid.title')} : ${translateService.translate('sdk.general.error.eventNameInvalid.content')}`;
28314
- yield asyncOnLineShowErrorMessage(defaultErrorMessage, translateService.translate('sdk.general.error.retry'), false);
28320
+ `${translateService.translate('sdk.general.error.eventNameInvalid.title')} : ${translateService.translate('sdk.general.error.eventNameInvalid.content')}`;
28321
+ // await asyncOnLineShowErrorMessage(
28322
+ // defaultErrorMessage,
28323
+ // translateService.translate('sdk.general.error.retry'),
28324
+ // false
28325
+ // );
28326
+ // await asyncShowErrorMessage(
28327
+ // getTranslateInstance().translate(
28328
+ // 'sdk.general.error.eventNameInvalid.content'
28329
+ // ),
28330
+ // true,
28331
+ // {
28332
+ // callback: () => {
28333
+ // throw new AuthmeError(ErrorCode.EVENT_NAME_WRONG);
28334
+ // },
28335
+ // buttonText: getTranslateInstance().translate(
28336
+ // 'sdk.general.confirm'
28337
+ // ),
28338
+ // titleText: getTranslateInstance().translate(
28339
+ // 'sdk.general.error.eventNameInvalid.title'
28340
+ // ),
28341
+ // showErrorMessageHandler: showErrorMessageEventName,
28342
+ // }
28343
+ // );
28344
+ throw new AuthmeError(ErrorCode.EVENT_NAME_WRONG);
28315
28345
  }
28316
- yield waitTime(SHOW_ERROR_MESSAGE_INTERVAL);
28317
- throw throwError;
28346
+ } else {
28347
+ throw error;
28318
28348
  }
28319
- throw error;
28320
28349
  })));
28321
28350
  const applyTextByResult = result => {
28322
28351
  // debugLog('fas-response', result);
@@ -31749,7 +31778,8 @@ function startOCR(config) {
31749
31778
  }
31750
31779
  function main() {
31751
31780
  const flags = {
31752
- onConfirm: false
31781
+ onConfirm: false,
31782
+ resultModalActive: false
31753
31783
  };
31754
31784
  // startSpinner({
31755
31785
  // text: translateService.translate('sdk.general.loading'),
@@ -31790,6 +31820,7 @@ function startOCR(config) {
31790
31820
  if (config.ocrConfig.displayResultPage) {
31791
31821
  // only for TWN IDCard
31792
31822
  if (config.cardTypes[0].includes(IdRecognitionCardType.IDCard) && config.cardTypes[0].includes(CountryCode.TWN)) {
31823
+ flags.resultModalActive = true;
31793
31824
  const keyMapping = {
31794
31825
  [IdRecognitionCardType.IDCard]: 'idCard',
31795
31826
  [IdRecognitionCardType.DriverLicense]: 'driverLicense',
@@ -31814,6 +31845,7 @@ function startOCR(config) {
31814
31845
  // console.log('onClose');
31815
31846
  }
31816
31847
  });
31848
+ flags.resultModalActive = false;
31817
31849
  if (res === 'close') {
31818
31850
  const cancelResultObj = {
31819
31851
  isSuccess: false,
@@ -31824,6 +31856,7 @@ function startOCR(config) {
31824
31856
  return cancelResultObj;
31825
31857
  }
31826
31858
  } else {
31859
+ flags.resultModalActive = true;
31827
31860
  modifiedData = yield renderConfirmUI({
31828
31861
  cardType: config.ocrConfig.type,
31829
31862
  items: {
@@ -31839,6 +31872,7 @@ function startOCR(config) {
31839
31872
  translate: key => translateService.translate(key)
31840
31873
  }
31841
31874
  });
31875
+ flags.resultModalActive = false;
31842
31876
  }
31843
31877
  }
31844
31878
  flags.onConfirm = true;
@@ -31883,7 +31917,11 @@ function startOCR(config) {
31883
31917
  toastManualCapture.clear();
31884
31918
  }
31885
31919
  }));
31886
- const detectScreenResizeError$ = handleScreenResizeError$(detectScreenResize$(), unsubscribe$, () => !flags.onConfirm);
31920
+ const detectScreenResizeError$ = handleScreenResizeError$(detectScreenResize$(), unsubscribe$,
31921
+ // () => !flags.onConfirm
31922
+ () => !flags.onConfirm && !flags.resultModalActive // Add check for resultModalActive
31923
+ );
31924
+
31887
31925
  return merge(flow$, cancel$, detectScreenResizeError$, timeout$).pipe(take(1));
31888
31926
  }
31889
31927
  fromEvent(window, 'offline').pipe(switchMap(() => asyncOnLineShowErrorMessage(translateService.translate('sdk.general.error.alert.offline'), translateService.translate('sdk.general.error.retry'), false)), takeUntil(unsubscribe$)).subscribe();
@@ -32943,11 +32981,11 @@ class LivenessModule {
32943
32981
  uploadFullFrame: config.uploadFullFrame
32944
32982
  }, shouldEncrypt, encryptDataBase64);
32945
32983
  } catch (error) {
32946
- const _error = error;
32947
32984
  // 確保 `handleUploadError` 的結果被等待
32948
32985
  const action = yield handleUploadError$1();
32949
32986
  if (action === 'close') {
32950
- throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
32987
+ // throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
32988
+ throw new AuthmeError(ErrorCode.ERROR_USER_CANCEL);
32951
32989
  } else if (action === 'retry') {
32952
32990
  yield handleUpload(id, frameList, resultList, meta, config, shouldEncrypt, encryptDataBase64);
32953
32991
  }
@@ -33740,9 +33778,9 @@ function SendRequestWithRetry(promiseFactory, options = {}) {
33740
33778
  var _a, _b, _c;
33741
33779
  const errorParams = (options === null || options === void 0 ? void 0 : options.onErrorHandler) ? options === null || options === void 0 ? void 0 : options.onErrorHandler(e) : {};
33742
33780
  stopSpinner();
33743
- return asyncShowErrorMessage(getTranslateInstance().translate((_a = errorParams === null || errorParams === void 0 ? void 0 : errorParams.errorText) !== null && _a !== void 0 ? _a : 'sdk.general.error.alert.serverError'),
33744
- // errorParams.showRetryButton,
33745
- false, {
33781
+ return asyncShowErrorMessage(getTranslateInstance().translate((_a = errorParams === null || errorParams === void 0 ? void 0 : errorParams.errorText) !== null && _a !== void 0 ? _a : 'sdk.general.error.alert.serverError'), errorParams.showRetryButton,
33782
+ // false,
33783
+ {
33746
33784
  callback: errorParams === null || errorParams === void 0 ? void 0 : errorParams.onButtonClick,
33747
33785
  buttonText: getTranslateInstance().translate((_b = errorParams === null || errorParams === void 0 ? void 0 : errorParams.buttonText) !== null && _b !== void 0 ? _b : 'sdk.general.error.retry'),
33748
33786
  titleText: getTranslateInstance().translate((_c = errorParams === null || errorParams === void 0 ? void 0 : errorParams.titleText) !== null && _c !== void 0 ? _c : ''),
@@ -34006,11 +34044,11 @@ class OCRModule {
34006
34044
  }
34007
34045
  return response;
34008
34046
  } catch (error) {
34009
- const _error = error;
34010
34047
  // 確保 `handleUploadError` 的結果被等待
34011
34048
  const action = yield handleUploadError();
34012
34049
  if (action === 'close') {
34013
- throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
34050
+ // throw _error; // 這樣 `throw` 就能正確被 `catch` 處理
34051
+ throw new AuthmeError(ErrorCode.ERROR_USER_CANCEL);
34014
34052
  } else if (action === 'retry') {
34015
34053
  return yield handleUpload(option, docId, ocrOriginImg, requestImg, ocrImg, report);
34016
34054
  }
@@ -34039,9 +34077,10 @@ class OCRModule {
34039
34077
  return initScan(config.type, config.country, config.needConfirm, config.cardTypes);
34040
34078
  }, {
34041
34079
  onErrorHandler(e) {
34042
- var _a, _b, _c;
34080
+ var _a, _b, _c, _d, _e, _f, _g;
34043
34081
  const _error = e;
34044
- if (((_c = (_b = (_a = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === 7) {
34082
+ if (((_c = (_b = (_a = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _a === void 0 ? void 0 : _a.meta) === null || _b === void 0 ? void 0 : _b.responseContent) === null || _c === void 0 ? void 0 : _c.code) === 7 || ((_f = (_e = (_d = _error === null || _error === void 0 ? void 0 : _error.cause) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.responseContent) === null || _f === void 0 ? void 0 : _f.code) === 5) {
34083
+ (_g = document.querySelector('.video-container__close')) === null || _g === void 0 ? void 0 : _g.classList.add('hide');
34045
34084
  return {
34046
34085
  buttonText: 'sdk.general.confirm',
34047
34086
  titleText: 'sdk.general.error.eventNameInvalid.title',
@@ -35660,8 +35699,8 @@ class AuthmeIdentityVerification extends AuthmeFunctionModule {
35660
35699
  }
35661
35700
 
35662
35701
  var name = "authme/sdk";
35663
- var version$1 = "2.8.11";
35664
- var date = "2025-04-10T03:53:45+0000";
35702
+ var version$1 = "2.8.13";
35703
+ var date = "2025-05-02T03:27:38+0000";
35665
35704
  var packageInfo = {
35666
35705
  name: name,
35667
35706
  version: version$1,
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@authme/identity-verification",
3
- "version": "2.8.11",
3
+ "version": "2.8.13",
4
4
  "peerDependencies": {
5
5
  "core-js": "^3.6.0",
6
6
  "lottie-web": "^5.9.2",
7
7
  "rxjs": "^7.4.0",
8
- "@authme/core": "2.8.11",
9
- "@authme/engine": "2.8.11",
10
- "@authme/id-recognition": "2.8.11",
11
- "@authme/util": "2.8.11",
12
- "@authme/liveness": "2.8.11"
8
+ "@authme/core": "2.8.13",
9
+ "@authme/engine": "2.8.13",
10
+ "@authme/id-recognition": "2.8.13",
11
+ "@authme/liveness": "2.8.13",
12
+ "@authme/util": "2.8.13"
13
13
  },
14
14
  "module": "./index.js",
15
15
  "main": "./index.cjs",