pipwave-ekyc-uikit 0.0.1-beta.6 → 0.0.1-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pw-bundle.js +28 -28
- package/package.json +2 -2
package/dist/pw-bundle.js
CHANGED
|
@@ -26,7 +26,7 @@ return /******/ (() => { // webpackBootstrap
|
|
|
26
26
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
27
27
|
|
|
28
28
|
"use strict";
|
|
29
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_pikaday_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! -!../../../node_modules/css-loader/dist/cjs.js!./pikaday.css */ \"./node_modules/css-loader/dist/cjs.js!./src/assets/scss/pikaday.css\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3__);\n// Imports\n\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ../img/mask-smile.png */ \"./src/assets/img/mask-smile.png\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ../img/mask-neutral.png */ \"./src/assets/img/mask-neutral.png\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto+Flex:ital,wght@0,400;0,600;1,400;1,600&display=swap);\"]);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\"]);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200);\"]);\n___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_pikaday_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);\n --tw-ring-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow-colored: 0 0 rgba(0,0,0,0);\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);\n --tw-ring-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow-colored: 0 0 rgba(0,0,0,0);\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.pw-invisible {\n visibility: hidden;\n}\n\n.\\\\!pw-absolute {\n position: absolute !important;\n}\n\n.pw-absolute {\n position: absolute;\n}\n\n.pw-relative {\n position: relative;\n}\n\n.pw-inset-0 {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n\n.pw-bottom-0 {\n bottom: 0px;\n}\n\n.pw-bottom-16 {\n bottom: 4rem;\n}\n\n.pw-bottom-28 {\n bottom: 7rem;\n}\n\n.pw-bottom-\\\\[10\\\\%\\\\] {\n bottom: 10%;\n}\n\n.pw-left-0 {\n left: 0px;\n}\n\n.pw-left-1 {\n left: 0.25rem;\n}\n\n.pw-left-1\\\\/2 {\n left: 50%;\n}\n\n.pw-left-10 {\n left: 2.5rem;\n}\n\n.pw-left-2 {\n left: 0.5rem;\n}\n\n.pw-left-4 {\n left: 1rem;\n}\n\n.pw-left-8 {\n left: 2rem;\n}\n\n.pw-left-\\\\[100\\\\%\\\\] {\n left: 100%;\n}\n\n.pw-right-0 {\n right: 0px;\n}\n\n.pw-right-1 {\n right: 0.25rem;\n}\n\n.pw-right-2\\\\/4 {\n right: 50%;\n}\n\n.pw-right-3 {\n right: 0.75rem;\n}\n\n.pw-right-5 {\n right: 1.25rem;\n}\n\n.pw-top-0 {\n top: 0px;\n}\n\n.pw-top-1\\\\/2 {\n top: 50%;\n}\n\n.pw-top-1\\\\/3 {\n top: 33.333333%;\n}\n\n.pw-top-2 {\n top: 0.5rem;\n}\n\n.pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-top-3 {\n top: 0.75rem;\n}\n\n.pw-top-4 {\n top: 1rem;\n}\n\n.pw-top-5 {\n top: 1.25rem;\n}\n\n.pw-z-10 {\n z-index: 10;\n}\n\n.pw-z-30 {\n z-index: 30;\n}\n\n.pw-z-40 {\n z-index: 40;\n}\n\n.pw-z-50 {\n z-index: 50;\n}\n\n.pw-z-\\\\[2\\\\] {\n z-index: 2;\n}\n\n.pw-m-0 {\n margin: 0px;\n}\n\n.pw-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.pw-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.pw-mb-10 {\n margin-bottom: 2.5rem;\n}\n\n.pw-mb-16 {\n margin-bottom: 4rem;\n}\n\n.pw-mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.pw-mb-3 {\n margin-bottom: 0.75rem;\n}\n\n.pw-mb-4 {\n margin-bottom: 1rem;\n}\n\n.pw-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.pw-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.pw-mb-7 {\n margin-bottom: 1.75rem;\n}\n\n.pw-mb-8 {\n margin-bottom: 2rem;\n}\n\n.pw-mb-9 {\n margin-bottom: 2.25rem;\n}\n\n.pw-ml-2 {\n margin-left: 0.5rem;\n}\n\n.pw-mt-16 {\n margin-top: 4rem;\n}\n\n.pw-mt-2 {\n margin-top: 0.5rem;\n}\n\n.pw-mt-4 {\n margin-top: 1rem;\n}\n\n.pw-mt-7 {\n margin-top: 1.75rem;\n}\n\n.pw-box-border {\n box-sizing: border-box;\n}\n\n.pw-block {\n display: block;\n}\n\n.pw-inline-block {\n display: inline-block;\n}\n\n.pw-flex {\n display: flex;\n}\n\n.pw-hidden {\n display: none;\n}\n\n.\\\\!pw-h-px {\n height: 1px !important;\n}\n\n.pw-h-1 {\n height: 0.25rem;\n}\n\n.pw-h-10 {\n height: 2.5rem;\n}\n\n.pw-h-11 {\n height: 2.75rem;\n}\n\n.pw-h-14 {\n height: 3.5rem;\n}\n\n.pw-h-16 {\n height: 4rem;\n}\n\n.pw-h-24 {\n height: 6rem;\n}\n\n.pw-h-3 {\n height: 0.75rem;\n}\n\n.pw-h-40 {\n height: 10rem;\n}\n\n.pw-h-52 {\n height: 13rem;\n}\n\n.pw-h-9 {\n height: 2.25rem;\n}\n\n.pw-h-\\\\[calc\\\\(100\\\\%-2\\\\*1rem\\\\)\\\\] {\n height: calc(100% - 2rem);\n}\n\n.pw-h-\\\\[calc\\\\(100vh-3rem\\\\)\\\\] {\n height: calc(100vh - 3rem);\n}\n\n.pw-h-full {\n height: 100%;\n}\n\n.pw-max-h-\\\\[51rem\\\\] {\n max-height: 51rem;\n}\n\n.pw-max-h-\\\\[90vh\\\\] {\n max-height: 90vh;\n}\n\n.\\\\!pw-w-px {\n width: 1px !important;\n}\n\n.pw-w-10\\\\/12 {\n width: 83.333333%;\n}\n\n.pw-w-11 {\n width: 2.75rem;\n}\n\n.pw-w-14 {\n width: 3.5rem;\n}\n\n.pw-w-16 {\n width: 4rem;\n}\n\n.pw-w-24 {\n width: 6rem;\n}\n\n.pw-w-36 {\n width: 9rem;\n}\n\n.pw-w-4\\\\/5 {\n width: 80%;\n}\n\n.pw-w-48 {\n width: 12rem;\n}\n\n.pw-w-6 {\n width: 1.5rem;\n}\n\n.pw-w-60 {\n width: 15rem;\n}\n\n.pw-w-72 {\n width: 18rem;\n}\n\n.pw-w-\\\\[calc\\\\(100\\\\%-2\\\\*1\\\\.25rem\\\\)\\\\] {\n width: calc(100% - 2.5rem);\n}\n\n.pw-w-full {\n width: 100%;\n}\n\n.pw-max-w-sm {\n max-width: 24rem;\n}\n\n.pw-flex-none {\n flex: none;\n}\n\n.pw-grow {\n flex-grow: 1;\n}\n\n.pw-basis-2\\\\/5 {\n flex-basis: 40%;\n}\n\n.pw-basis-3\\\\/5 {\n flex-basis: 60%;\n}\n\n.-pw-translate-x-1\\\\/2 {\n --tw-translate-x: -50%;\n transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-1\\\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-1\\\\/3 {\n --tw-translate-y: -33.333333%;\n transform: translate(var(--tw-translate-x), -33.333333%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-translate-x-2\\\\/4 {\n --tw-translate-x: 50%;\n transform: translate(50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), 100%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-scale-\\\\[1\\\\.7\\\\] {\n --tw-scale-x: 1.7;\n --tw-scale-y: 1.7;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1.7) scaleY(1.7);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes pw-camera-rotation {\n 0% {\n transform: rotate3d(0, 1, 0, 0deg);\n }\n 100% {\n transform: rotate3d(0, 1, 0, 180deg);\n }\n}\n.pw-animate-camera {\n animation: pw-camera-rotation 1s ease-out 0.5s 1;\n}\n\n@keyframes pw-loading {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(100%);\n }\n}\n.pw-animate-loading {\n animation: pw-loading 1.25s linear infinite;\n}\n\n@keyframes pw-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.pw-animate-spin {\n animation: pw-spin 1s linear infinite;\n}\n\n.pw-cursor-pointer {\n cursor: pointer;\n}\n\n.pw-resize-none {\n resize: none;\n}\n\n.pw-flex-row {\n flex-direction: row;\n}\n\n.pw-flex-col {\n flex-direction: column;\n}\n\n.pw-items-end {\n align-items: flex-end;\n}\n\n.pw-items-center {\n align-items: center;\n}\n\n.pw-justify-end {\n justify-content: flex-end;\n}\n\n.pw-justify-center {\n justify-content: center;\n}\n\n.pw-justify-between {\n justify-content: space-between;\n}\n\n.pw-gap-1 {\n gap: 0.25rem;\n}\n\n.pw-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n\n.pw-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n\n.pw-overflow-auto {\n overflow: auto;\n}\n\n.\\\\!pw-overflow-hidden {\n overflow: hidden !important;\n}\n\n.pw-overflow-hidden {\n overflow: hidden;\n}\n\n.pw-overflow-y-auto {\n overflow-y: auto;\n}\n\n.pw-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.pw-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.\\\\!pw-whitespace-nowrap {\n white-space: nowrap !important;\n}\n\n.pw-rounded-2xl {\n border-radius: 1rem;\n}\n\n.pw-rounded-\\\\[2\\\\.5rem\\\\] {\n border-radius: 2.5rem;\n}\n\n.pw-rounded-\\\\[40px\\\\] {\n border-radius: 40px;\n}\n\n.pw-rounded-full {\n border-radius: 9999px;\n}\n\n.pw-rounded-lg {\n border-radius: 0.5rem;\n}\n\n.pw-rounded-t-lg {\n border-top-left-radius: 0.5rem;\n border-top-right-radius: 0.5rem;\n}\n\n.\\\\!pw-border-0 {\n border-width: 0px !important;\n}\n\n.pw-border {\n border-width: 1px;\n}\n\n.pw-border-2 {\n border-width: 2px;\n}\n\n.pw-border-4 {\n border-width: 4px;\n}\n\n.pw-border-8 {\n border-width: 8px;\n}\n\n.pw-border-solid {\n border-style: solid;\n}\n\n.pw-border-none {\n border-style: none;\n}\n\n.pw-border-current {\n border-color: currentColor;\n}\n\n.pw-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229, 231, 235);\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n}\n\n.pw-border-grey-5 {\n --tw-border-opacity: 1;\n border-color: rgb(201, 201, 201);\n border-color: rgba(201, 201, 201, var(--tw-border-opacity));\n}\n\n.pw-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(154, 45, 183);\n border-color: rgba(154, 45, 183, var(--tw-border-opacity));\n}\n\n.pw-border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}\n\n.pw-border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255, 255, 255);\n border-color: rgba(255, 255, 255, var(--tw-border-opacity));\n}\n\n.pw-border-r-transparent {\n border-right-color: transparent;\n}\n\n.pw-bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0, 0, 0);\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\n}\n\n.pw-bg-grey-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(250, 250, 252);\n background-color: rgba(250, 250, 252, var(--tw-bg-opacity));\n}\n\n.pw-bg-grey-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(231, 231, 236);\n background-color: rgba(231, 231, 236, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(154, 45, 183);\n background-color: rgba(154, 45, 183, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary-light {\n --tw-bg-opacity: 1;\n background-color: rgb(251, 235, 255);\n background-color: rgba(251, 235, 255, var(--tw-bg-opacity));\n}\n\n.pw-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 255, 255);\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.pw-bg-opacity-70 {\n --tw-bg-opacity: 0.7 ;\n}\n\n.pw-bg-opacity-75 {\n --tw-bg-opacity: 0.75 ;\n}\n\n.pw-bg-opacity-80 {\n --tw-bg-opacity: 0.8 ;\n}\n\n.pw-bg-opacity-90 {\n --tw-bg-opacity: 0.9 ;\n}\n\n.pw-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n\n.pw-from-\\\\[\\\\#AF4AFF\\\\] {\n --tw-gradient-from: #AF4AFF var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(175, 74, 255, 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) ;\n}\n\n.pw-to-\\\\[\\\\#DD53FF\\\\] {\n --tw-gradient-to: #DD53FF var(--tw-gradient-to-position) ;\n}\n\n.pw-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n\n.\\\\!pw-p-0 {\n padding: 0px !important;\n}\n\n.pw-p-0 {\n padding: 0px;\n}\n\n.pw-p-4 {\n padding: 1rem;\n}\n\n.pw-p-5 {\n padding: 1.25rem;\n}\n\n.pw-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.pw-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.pw-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.pw-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.pw-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.pw-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.pw-pl-8 {\n padding-left: 2rem;\n}\n\n.pw-pt-1 {\n padding-top: 0.25rem;\n}\n\n.pw-pt-3 {\n padding-top: 0.75rem;\n}\n\n.pw-pt-4 {\n padding-top: 1rem;\n}\n\n.pw-text-center {\n text-align: center;\n}\n\n.pw-align-\\\\[-0\\\\.125em\\\\] {\n vertical-align: -0.125em;\n}\n\n.pw-font-\\\\[\\\\'Roboto_Flex\\\\'\\\\] {\n font-family: \"Roboto Flex\";\n}\n\n.pw-font-pw {\n font-family: Roboto Flex;\n}\n\n.pw-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.pw-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.pw-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.pw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.pw-font-medium {\n font-weight: 500;\n}\n\n.pw-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175);\n color: rgba(156, 163, 175, var(--tw-text-opacity));\n}\n\n.pw-text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34, 197, 94);\n color: rgba(34, 197, 94, var(--tw-text-opacity));\n}\n\n.pw-text-grey-10 {\n --tw-text-opacity: 1;\n color: rgb(29, 30, 34);\n color: rgba(29, 30, 34, var(--tw-text-opacity));\n}\n\n.pw-text-grey-5 {\n --tw-text-opacity: 1;\n color: rgb(201, 201, 201);\n color: rgba(201, 201, 201, var(--tw-text-opacity));\n}\n\n.pw-text-grey-6 {\n --tw-text-opacity: 1;\n color: rgb(158, 158, 158);\n color: rgba(158, 158, 158, var(--tw-text-opacity));\n}\n\n.pw-text-grey-7 {\n --tw-text-opacity: 1;\n color: rgb(117, 117, 117);\n color: rgba(117, 117, 117, var(--tw-text-opacity));\n}\n\n.pw-text-orange-400 {\n --tw-text-opacity: 1;\n color: rgb(251, 146, 60);\n color: rgba(251, 146, 60, var(--tw-text-opacity));\n}\n\n.pw-text-primary {\n --tw-text-opacity: 1;\n color: rgb(154, 45, 183);\n color: rgba(154, 45, 183, var(--tw-text-opacity));\n}\n\n.pw-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68);\n color: rgba(239, 68, 68, var(--tw-text-opacity));\n}\n\n.pw-text-white {\n --tw-text-opacity: 1;\n color: rgb(255, 255, 255);\n color: rgba(255, 255, 255, var(--tw-text-opacity));\n}\n\n.pw-no-underline {\n text-decoration-line: none;\n}\n\n.pw-shadow-footer-shadow {\n --tw-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);\n --tw-shadow-colored: 0px 0px 8px 0px var(--tw-shadow-color);\n box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0px 0px 8px 0px rgba(0, 0, 0, 0.15);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.pw-shadow-grey-5 {\n --tw-shadow-color: #C9C9C9;\n --tw-shadow: var(--tw-shadow-colored) ;\n}\n\n.pw-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.pw-outline-dashed {\n outline-style: dashed;\n}\n\n.pw-outline-grey-6 {\n outline-color: #9E9E9E;\n}\n\n.pw-drop-shadow-\\\\[0_4px_8px_rgba\\\\(200\\\\,123\\\\,221\\\\,0\\\\.60\\\\)\\\\] {\n --tw-drop-shadow: drop-shadow(0 4px 8px rgba(200,123,221,0.60));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 4px 8px rgba(200, 123, 221, 0.6));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.pw-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.pw-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.pw-duration-100 {\n transition-duration: 100ms;\n}\n\n.pw-duration-200 {\n transition-duration: 200ms;\n}\n\n.pw-duration-500 {\n transition-duration: 500ms;\n}\n\n.\\\\!\\\\[clip\\\\:pw-rect\\\\(0\\\\,0\\\\,0\\\\,0\\\\)\\\\] {\n clip: pw-rect(0, 0, 0, 0) !important;\n}\n\n.pw-watermark {\n position: absolute;\n transform: rotate(-25deg);\n opacity: 0.5;\n font-weight: 500;\n font-size: 20px;\n text-transform: capitalize;\n color: #9e9e9e;\n white-space: nowrap;\n overflow: hidden;\n -webkit-text-stroke-width: 0.3px;\n -webkit-text-stroke-color: #1d1e22;\n}\n\n.camera-bg {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n margin: 0;\n height: 100%;\n width: 100%;\n background-color: black;\n}\n.camera-header-area {\n position: absolute;\n text-align: center;\n z-index: 2;\n top: 5%;\n width: 100%;\n}\n.camera-header-area .title {\n color: white;\n}\n.camera-body-area {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n}\n.camera-body-area .video-container {\n z-index: -1;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.camera-body-area .video-element {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.camera-body-area .canvas-element {\n position: absolute;\n z-index: 9;\n}\n.camera-body-area .overlay-container {\n position: absolute;\n margin: auto;\n z-index: 1;\n}\n.camera-body-area .overlay-element {\n position: relative;\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n box-shadow: 0px -50px 200px rgba(60, 60, 58, 0.76), 0px 50px 200px rgba(60, 60, 58, 0.76), -100px 0px 100px 9999px rgba(25, 20, 20, 0.9);\n}\n.camera-body-area .border-element {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.camera-body-area .border-top-element:before,\n.camera-body-area .border-top-element:after,\n.camera-body-area .border-bottom-element:before,\n.camera-body-area .border-bottom-element:after {\n position: absolute;\n content: \"\";\n width: 10%;\n height: 15%;\n border-color: white;\n border-style: solid;\n}\n.camera-body-area .border-top-element:before {\n top: -2px;\n left: -2px;\n border-width: 4px 0 0 4px;\n border-top-left-radius: 15px;\n}\n.camera-body-area .border-top-element:after {\n top: -2px;\n right: -2px;\n border-width: 4px 4px 0 0;\n border-top-right-radius: 15px;\n}\n.camera-body-area .border-bottom-element:before {\n bottom: -2px;\n right: -2px;\n border-width: 0 4px 4px 0;\n border-bottom-right-radius: 15px;\n}\n.camera-body-area .border-bottom-element:after {\n bottom: -2px;\n left: -2px;\n border-width: 0 0 4px 4px;\n border-bottom-left-radius: 15px;\n}\n.camera-body-area .overlay-element--active {\n border-color: #8ede34 !important;\n}\n.camera-body-area .overlay-element--selfie-smile {\n background-size: contain;\n background-position: center center;\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n}\n.camera-body-area .overlay-element--selfie-neutral {\n background-size: contain;\n background-position: center center;\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n}\n.camera-footer-area {\n position: absolute;\n text-align: center;\n z-index: 2;\n bottom: 10%;\n width: 100%;\n}\n.camera-footer-area .instruction {\n color: white;\n}\n\n.active\\\\:pw-scale-90:active {\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0.9) scaleY(0.9);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-visible {\n visibility: visible;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-visible {\n visibility: visible;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-7 {\n top: 1.75rem;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-7 {\n top: 1.75rem;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-invisible {\n visibility: hidden;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-top-3 {\n top: 0.75rem;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n@media (min-width: 384px) {\n .pw-min\\\\:pw-border-solid {\n border-style: solid;\n }\n .pw-min\\\\:pw-border-grey-4 {\n --tw-border-opacity: 1;\n border-color: rgb(231, 231, 236);\n border-color: rgba(231, 231, 236, var(--tw-border-opacity));\n }\n}\n.invalid\\\\:\\\\[\\\\&\\\\:not\\\\(\\\\:-moz-placeholder-shown\\\\)\\\\:not\\\\(\\\\:focus\\\\)\\\\]\\\\:pw-border-red-500:not(:-moz-placeholder-shown):not(:focus):invalid {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}\n\n.invalid\\\\:\\\\[\\\\&\\\\:not\\\\(\\\\:placeholder-shown\\\\)\\\\:not\\\\(\\\\:focus\\\\)\\\\]\\\\:pw-border-red-500:not(:placeholder-shown):not(:focus):invalid {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://PWUISDK/./src/assets/scss/index.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js");
|
|
29
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _node_modules_css_loader_dist_cjs_js_pikaday_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! -!../../../node_modules/css-loader/dist/cjs.js!./pikaday.css */ \"./node_modules/css-loader/dist/cjs.js!./src/assets/scss/pikaday.css\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3__);\n// Imports\n\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ../img/mask-smile.png */ \"./src/assets/img/mask-smile.png\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ../img/mask-neutral.png */ \"./src/assets/img/mask-neutral.png\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Roboto+Flex:ital,wght@0,400;0,600;1,400;1,600&display=swap);\"]);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/icon?family=Material+Icons);\"]);\n___CSS_LOADER_EXPORT___.push([module.id, \"@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200);\"]);\n___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_pikaday_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_3___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);\n --tw-ring-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow-colored: 0 0 rgba(0,0,0,0);\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);\n --tw-ring-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow: 0 0 rgba(0,0,0,0);\n --tw-shadow-colored: 0 0 rgba(0,0,0,0);\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n\n.pw-invisible {\n visibility: hidden;\n}\n\n.\\\\!pw-absolute {\n position: absolute !important;\n}\n\n.pw-absolute {\n position: absolute;\n}\n\n.pw-relative {\n position: relative;\n}\n\n.pw-inset-0 {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n}\n\n.pw-bottom-0 {\n bottom: 0px;\n}\n\n.pw-bottom-16 {\n bottom: 4rem;\n}\n\n.pw-bottom-28 {\n bottom: 7rem;\n}\n\n.pw-bottom-\\\\[10\\\\%\\\\] {\n bottom: 10%;\n}\n\n.pw-left-0 {\n left: 0px;\n}\n\n.pw-left-1 {\n left: 0.25rem;\n}\n\n.pw-left-1\\\\/2 {\n left: 50%;\n}\n\n.pw-left-10 {\n left: 2.5rem;\n}\n\n.pw-left-2 {\n left: 0.5rem;\n}\n\n.pw-left-4 {\n left: 1rem;\n}\n\n.pw-left-8 {\n left: 2rem;\n}\n\n.pw-left-\\\\[100\\\\%\\\\] {\n left: 100%;\n}\n\n.pw-right-0 {\n right: 0px;\n}\n\n.pw-right-1 {\n right: 0.25rem;\n}\n\n.pw-right-2\\\\/4 {\n right: 50%;\n}\n\n.pw-right-3 {\n right: 0.75rem;\n}\n\n.pw-right-5 {\n right: 1.25rem;\n}\n\n.pw-top-0 {\n top: 0px;\n}\n\n.pw-top-1\\\\/2 {\n top: 50%;\n}\n\n.pw-top-1\\\\/3 {\n top: 33.333333%;\n}\n\n.pw-top-2 {\n top: 0.5rem;\n}\n\n.pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-top-3 {\n top: 0.75rem;\n}\n\n.pw-top-4 {\n top: 1rem;\n}\n\n.pw-top-5 {\n top: 1.25rem;\n}\n\n.pw-z-10 {\n z-index: 10;\n}\n\n.pw-z-30 {\n z-index: 30;\n}\n\n.pw-z-40 {\n z-index: 40;\n}\n\n.pw-z-50 {\n z-index: 50;\n}\n\n.pw-z-\\\\[2\\\\] {\n z-index: 2;\n}\n\n.pw-m-0 {\n margin: 0px;\n}\n\n.pw-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n\n.pw-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.pw-mb-10 {\n margin-bottom: 2.5rem;\n}\n\n.pw-mb-16 {\n margin-bottom: 4rem;\n}\n\n.pw-mb-2 {\n margin-bottom: 0.5rem;\n}\n\n.pw-mb-3 {\n margin-bottom: 0.75rem;\n}\n\n.pw-mb-4 {\n margin-bottom: 1rem;\n}\n\n.pw-mb-5 {\n margin-bottom: 1.25rem;\n}\n\n.pw-mb-6 {\n margin-bottom: 1.5rem;\n}\n\n.pw-mb-7 {\n margin-bottom: 1.75rem;\n}\n\n.pw-mb-8 {\n margin-bottom: 2rem;\n}\n\n.pw-mb-9 {\n margin-bottom: 2.25rem;\n}\n\n.pw-ml-2 {\n margin-left: 0.5rem;\n}\n\n.pw-mt-16 {\n margin-top: 4rem;\n}\n\n.pw-mt-2 {\n margin-top: 0.5rem;\n}\n\n.pw-mt-4 {\n margin-top: 1rem;\n}\n\n.pw-mt-5 {\n margin-top: 1.25rem;\n}\n\n.pw-mt-7 {\n margin-top: 1.75rem;\n}\n\n.pw-box-border {\n box-sizing: border-box;\n}\n\n.pw-block {\n display: block;\n}\n\n.pw-inline-block {\n display: inline-block;\n}\n\n.pw-flex {\n display: flex;\n}\n\n.pw-hidden {\n display: none;\n}\n\n.\\\\!pw-h-px {\n height: 1px !important;\n}\n\n.pw-h-1 {\n height: 0.25rem;\n}\n\n.pw-h-10 {\n height: 2.5rem;\n}\n\n.pw-h-11 {\n height: 2.75rem;\n}\n\n.pw-h-14 {\n height: 3.5rem;\n}\n\n.pw-h-16 {\n height: 4rem;\n}\n\n.pw-h-24 {\n height: 6rem;\n}\n\n.pw-h-3 {\n height: 0.75rem;\n}\n\n.pw-h-40 {\n height: 10rem;\n}\n\n.pw-h-52 {\n height: 13rem;\n}\n\n.pw-h-9 {\n height: 2.25rem;\n}\n\n.pw-h-\\\\[calc\\\\(100\\\\%-2\\\\*1rem\\\\)\\\\] {\n height: calc(100% - 2rem);\n}\n\n.pw-h-\\\\[calc\\\\(100vh-3rem\\\\)\\\\] {\n height: calc(100vh - 3rem);\n}\n\n.pw-h-full {\n height: 100%;\n}\n\n.pw-max-h-40 {\n max-height: 10rem;\n}\n\n.pw-max-h-\\\\[51rem\\\\] {\n max-height: 51rem;\n}\n\n.pw-max-h-\\\\[90vh\\\\] {\n max-height: 90vh;\n}\n\n.\\\\!pw-w-px {\n width: 1px !important;\n}\n\n.pw-w-10\\\\/12 {\n width: 83.333333%;\n}\n\n.pw-w-11 {\n width: 2.75rem;\n}\n\n.pw-w-14 {\n width: 3.5rem;\n}\n\n.pw-w-16 {\n width: 4rem;\n}\n\n.pw-w-24 {\n width: 6rem;\n}\n\n.pw-w-36 {\n width: 9rem;\n}\n\n.pw-w-4\\\\/5 {\n width: 80%;\n}\n\n.pw-w-48 {\n width: 12rem;\n}\n\n.pw-w-6 {\n width: 1.5rem;\n}\n\n.pw-w-60 {\n width: 15rem;\n}\n\n.pw-w-72 {\n width: 18rem;\n}\n\n.pw-w-\\\\[calc\\\\(100\\\\%-2\\\\*1\\\\.25rem\\\\)\\\\] {\n width: calc(100% - 2.5rem);\n}\n\n.pw-w-full {\n width: 100%;\n}\n\n.pw-max-w-sm {\n max-width: 24rem;\n}\n\n.pw-flex-none {\n flex: none;\n}\n\n.pw-grow {\n flex-grow: 1;\n}\n\n.pw-basis-2\\\\/5 {\n flex-basis: 40%;\n}\n\n.pw-basis-3\\\\/5 {\n flex-basis: 60%;\n}\n\n.-pw-translate-x-1\\\\/2 {\n --tw-translate-x: -50%;\n transform: translate(-50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-1\\\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-1\\\\/3 {\n --tw-translate-y: -33.333333%;\n transform: translate(var(--tw-translate-x), -33.333333%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-translate-x-2\\\\/4 {\n --tw-translate-x: 50%;\n transform: translate(50%, var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-translate-y-full {\n --tw-translate-y: 100%;\n transform: translate(var(--tw-translate-x), 100%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-scale-\\\\[1\\\\.7\\\\] {\n --tw-scale-x: 1.7;\n --tw-scale-y: 1.7;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(1.7) scaleY(1.7);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n@keyframes pw-camera-rotation {\n 0% {\n transform: rotate3d(0, 1, 0, 0deg);\n }\n 100% {\n transform: rotate3d(0, 1, 0, 180deg);\n }\n}\n.pw-animate-camera {\n animation: pw-camera-rotation 1s ease-out 0.5s 1;\n}\n\n@keyframes pw-loading {\n 0% {\n transform: translateX(-100%);\n }\n 50% {\n transform: translateX(0%);\n }\n 100% {\n transform: translateX(100%);\n }\n}\n.pw-animate-loading {\n animation: pw-loading 1.25s linear infinite;\n}\n\n@keyframes pw-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.pw-animate-spin {\n animation: pw-spin 1s linear infinite;\n}\n\n.pw-cursor-pointer {\n cursor: pointer;\n}\n\n.pw-resize-none {\n resize: none;\n}\n\n.pw-flex-row {\n flex-direction: row;\n}\n\n.pw-flex-col {\n flex-direction: column;\n}\n\n.pw-items-end {\n align-items: flex-end;\n}\n\n.pw-items-center {\n align-items: center;\n}\n\n.pw-justify-end {\n justify-content: flex-end;\n}\n\n.pw-justify-center {\n justify-content: center;\n}\n\n.pw-justify-between {\n justify-content: space-between;\n}\n\n.pw-gap-1 {\n gap: 0.25rem;\n}\n\n.pw-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n\n.pw-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n\n.pw-overflow-auto {\n overflow: auto;\n}\n\n.\\\\!pw-overflow-hidden {\n overflow: hidden !important;\n}\n\n.pw-overflow-hidden {\n overflow: hidden;\n}\n\n.pw-overflow-y-auto {\n overflow-y: auto;\n}\n\n.pw-overflow-x-hidden {\n overflow-x: hidden;\n}\n\n.pw-overflow-y-hidden {\n overflow-y: hidden;\n}\n\n.\\\\!pw-whitespace-nowrap {\n white-space: nowrap !important;\n}\n\n.pw-rounded-2xl {\n border-radius: 1rem;\n}\n\n.pw-rounded-\\\\[2\\\\.5rem\\\\] {\n border-radius: 2.5rem;\n}\n\n.pw-rounded-\\\\[40px\\\\] {\n border-radius: 40px;\n}\n\n.pw-rounded-full {\n border-radius: 9999px;\n}\n\n.pw-rounded-lg {\n border-radius: 0.5rem;\n}\n\n.pw-rounded-t-lg {\n border-top-left-radius: 0.5rem;\n border-top-right-radius: 0.5rem;\n}\n\n.\\\\!pw-border-0 {\n border-width: 0px !important;\n}\n\n.pw-border {\n border-width: 1px;\n}\n\n.pw-border-4 {\n border-width: 4px;\n}\n\n.pw-border-solid {\n border-style: solid;\n}\n\n.pw-border-none {\n border-style: none;\n}\n\n.pw-border-current {\n border-color: currentColor;\n}\n\n.pw-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229, 231, 235);\n border-color: rgba(229, 231, 235, var(--tw-border-opacity));\n}\n\n.pw-border-grey-5 {\n --tw-border-opacity: 1;\n border-color: rgb(201, 201, 201);\n border-color: rgba(201, 201, 201, var(--tw-border-opacity));\n}\n\n.pw-border-primary {\n --tw-border-opacity: 1;\n border-color: rgb(154, 45, 183);\n border-color: rgba(154, 45, 183, var(--tw-border-opacity));\n}\n\n.pw-border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}\n\n.pw-border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255, 255, 255);\n border-color: rgba(255, 255, 255, var(--tw-border-opacity));\n}\n\n.pw-border-r-transparent {\n border-right-color: transparent;\n}\n\n.pw-bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0, 0, 0);\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\n}\n\n.pw-bg-grey-2 {\n --tw-bg-opacity: 1;\n background-color: rgb(250, 250, 252);\n background-color: rgba(250, 250, 252, var(--tw-bg-opacity));\n}\n\n.pw-bg-grey-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(231, 231, 236);\n background-color: rgba(231, 231, 236, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(154, 45, 183);\n background-color: rgba(154, 45, 183, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary-light {\n --tw-bg-opacity: 1;\n background-color: rgb(251, 235, 255);\n background-color: rgba(251, 235, 255, var(--tw-bg-opacity));\n}\n\n.pw-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255, 255, 255);\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.pw-bg-opacity-70 {\n --tw-bg-opacity: 0.7 ;\n}\n\n.pw-bg-opacity-75 {\n --tw-bg-opacity: 0.75 ;\n}\n\n.pw-bg-opacity-80 {\n --tw-bg-opacity: 0.8 ;\n}\n\n.pw-bg-opacity-90 {\n --tw-bg-opacity: 0.9 ;\n}\n\n.pw-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n\n.pw-from-\\\\[\\\\#AF4AFF\\\\] {\n --tw-gradient-from: #AF4AFF var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(175, 74, 255, 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) ;\n}\n\n.pw-to-\\\\[\\\\#DD53FF\\\\] {\n --tw-gradient-to: #DD53FF var(--tw-gradient-to-position) ;\n}\n\n.pw-object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n\n.\\\\!pw-p-0 {\n padding: 0px !important;\n}\n\n.pw-p-0 {\n padding: 0px;\n}\n\n.pw-p-4 {\n padding: 1rem;\n}\n\n.pw-p-5 {\n padding: 1.25rem;\n}\n\n.pw-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.pw-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.pw-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.pw-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.pw-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.pw-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.pw-pl-8 {\n padding-left: 2rem;\n}\n\n.pw-pt-1 {\n padding-top: 0.25rem;\n}\n\n.pw-pt-3 {\n padding-top: 0.75rem;\n}\n\n.pw-pt-4 {\n padding-top: 1rem;\n}\n\n.pw-text-center {\n text-align: center;\n}\n\n.pw-align-\\\\[-0\\\\.125em\\\\] {\n vertical-align: -0.125em;\n}\n\n.pw-font-\\\\[\\\\'Roboto_Flex\\\\'\\\\] {\n font-family: \"Roboto Flex\";\n}\n\n.pw-font-pw {\n font-family: Roboto Flex;\n}\n\n.pw-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n\n.pw-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n\n.pw-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n\n.pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n\n.pw-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n\n.pw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n.pw-font-medium {\n font-weight: 500;\n}\n\n.pw-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156, 163, 175);\n color: rgba(156, 163, 175, var(--tw-text-opacity));\n}\n\n.pw-text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(34, 197, 94);\n color: rgba(34, 197, 94, var(--tw-text-opacity));\n}\n\n.pw-text-grey-10 {\n --tw-text-opacity: 1;\n color: rgb(29, 30, 34);\n color: rgba(29, 30, 34, var(--tw-text-opacity));\n}\n\n.pw-text-grey-5 {\n --tw-text-opacity: 1;\n color: rgb(201, 201, 201);\n color: rgba(201, 201, 201, var(--tw-text-opacity));\n}\n\n.pw-text-grey-6 {\n --tw-text-opacity: 1;\n color: rgb(158, 158, 158);\n color: rgba(158, 158, 158, var(--tw-text-opacity));\n}\n\n.pw-text-grey-7 {\n --tw-text-opacity: 1;\n color: rgb(117, 117, 117);\n color: rgba(117, 117, 117, var(--tw-text-opacity));\n}\n\n.pw-text-orange-400 {\n --tw-text-opacity: 1;\n color: rgb(251, 146, 60);\n color: rgba(251, 146, 60, var(--tw-text-opacity));\n}\n\n.pw-text-primary {\n --tw-text-opacity: 1;\n color: rgb(154, 45, 183);\n color: rgba(154, 45, 183, var(--tw-text-opacity));\n}\n\n.pw-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239, 68, 68);\n color: rgba(239, 68, 68, var(--tw-text-opacity));\n}\n\n.pw-text-white {\n --tw-text-opacity: 1;\n color: rgb(255, 255, 255);\n color: rgba(255, 255, 255, var(--tw-text-opacity));\n}\n\n.pw-no-underline {\n text-decoration-line: none;\n}\n\n.pw-shadow-footer-shadow {\n --tw-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);\n --tw-shadow-colored: 0px 0px 8px 0px var(--tw-shadow-color);\n box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0px 0px 8px 0px rgba(0, 0, 0, 0.15);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);\n}\n\n.pw-shadow-grey-5 {\n --tw-shadow-color: #C9C9C9;\n --tw-shadow: var(--tw-shadow-colored) ;\n}\n\n.pw-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.pw-outline-dashed {\n outline-style: dashed;\n}\n\n.pw-outline-grey-6 {\n outline-color: #9E9E9E;\n}\n\n.pw-drop-shadow-\\\\[0_4px_8px_rgba\\\\(200\\\\,123\\\\,221\\\\,0\\\\.60\\\\)\\\\] {\n --tw-drop-shadow: drop-shadow(0 4px 8px rgba(200,123,221,0.60));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) drop-shadow(0 4px 8px rgba(200, 123, 221, 0.6));\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n\n.pw-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.pw-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.pw-duration-100 {\n transition-duration: 100ms;\n}\n\n.pw-duration-200 {\n transition-duration: 200ms;\n}\n\n.pw-duration-500 {\n transition-duration: 500ms;\n}\n\n.\\\\!\\\\[clip\\\\:pw-rect\\\\(0\\\\,0\\\\,0\\\\,0\\\\)\\\\] {\n clip: pw-rect(0, 0, 0, 0) !important;\n}\n\n.pw-watermark {\n position: absolute;\n transform: rotate(-25deg);\n opacity: 0.5;\n font-weight: 500;\n font-size: 20px;\n text-transform: capitalize;\n color: #9e9e9e;\n white-space: nowrap;\n overflow: hidden;\n -webkit-text-stroke-width: 0.3px;\n -webkit-text-stroke-color: #1d1e22;\n}\n\n.camera-bg {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n margin: 0;\n height: 100%;\n width: 100%;\n background-color: black;\n}\n.camera-header-area {\n position: absolute;\n text-align: center;\n z-index: 2;\n top: 5%;\n width: 100%;\n}\n.camera-header-area .title {\n color: white;\n}\n.camera-body-area {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n}\n.camera-body-area .video-container {\n z-index: -1;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.camera-body-area .video-element {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.camera-body-area .canvas-element {\n position: absolute;\n z-index: 9;\n}\n.camera-body-area .overlay-container {\n position: absolute;\n margin: auto;\n z-index: 1;\n}\n.camera-body-area .overlay-element {\n position: relative;\n background-position: center center;\n background-repeat: no-repeat;\n background-size: cover;\n box-shadow: 0px -50px 200px rgba(60, 60, 58, 0.76), 0px 50px 200px rgba(60, 60, 58, 0.76), -100px 0px 100px 9999px rgba(25, 20, 20, 0.9);\n}\n.camera-body-area .border-element {\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.camera-body-area .border-top-element:before,\n.camera-body-area .border-top-element:after,\n.camera-body-area .border-bottom-element:before,\n.camera-body-area .border-bottom-element:after {\n position: absolute;\n content: \"\";\n width: 10%;\n height: 15%;\n border-color: white;\n border-style: solid;\n}\n.camera-body-area .border-top-element:before {\n top: -2px;\n left: -2px;\n border-width: 4px 0 0 4px;\n border-top-left-radius: 15px;\n}\n.camera-body-area .border-top-element:after {\n top: -2px;\n right: -2px;\n border-width: 4px 4px 0 0;\n border-top-right-radius: 15px;\n}\n.camera-body-area .border-bottom-element:before {\n bottom: -2px;\n right: -2px;\n border-width: 0 4px 4px 0;\n border-bottom-right-radius: 15px;\n}\n.camera-body-area .border-bottom-element:after {\n bottom: -2px;\n left: -2px;\n border-width: 0 0 4px 4px;\n border-bottom-left-radius: 15px;\n}\n.camera-body-area .overlay-element--active {\n border-color: #8ede34 !important;\n}\n.camera-body-area .overlay-element--selfie-smile {\n background-size: contain;\n background-position: center center;\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_0___});\n}\n.camera-body-area .overlay-element--selfie-neutral {\n background-size: contain;\n background-position: center center;\n background-image: url(${___CSS_LOADER_URL_REPLACEMENT_1___});\n}\n.camera-footer-area {\n position: absolute;\n text-align: center;\n z-index: 2;\n bottom: 10%;\n width: 100%;\n}\n.camera-footer-area .instruction {\n color: white;\n}\n\n.active\\\\:pw-scale-90:active {\n --tw-scale-x: .9;\n --tw-scale-y: .9;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(0.9) scaleY(0.9);\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-visible {\n visibility: visible;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-visible {\n visibility: visible;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-2\\\\/4 {\n top: 50%;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-7 {\n top: 1.75rem;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-top-7 {\n top: 1.75rem;\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:-pw-translate-y-2\\\\/4 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), -50%) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.pw-peer:-moz-placeholder-shown ~ .peer-placeholder-shown\\\\:pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-peer:placeholder-shown ~ .peer-placeholder-shown\\\\:pw-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-invisible {\n visibility: hidden;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-top-3 {\n top: 0.75rem;\n}\n\n.pw-peer:focus ~ .peer-focus\\\\:pw-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n\n@media (min-width: 384px) {\n .pw-min\\\\:pw-border-solid {\n border-style: solid;\n }\n .pw-min\\\\:pw-border-grey-4 {\n --tw-border-opacity: 1;\n border-color: rgb(231, 231, 236);\n border-color: rgba(231, 231, 236, var(--tw-border-opacity));\n }\n}\n.invalid\\\\:\\\\[\\\\&\\\\:not\\\\(\\\\:-moz-placeholder-shown\\\\)\\\\:not\\\\(\\\\:focus\\\\)\\\\]\\\\:pw-border-red-500:not(:-moz-placeholder-shown):not(:focus):invalid {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}\n\n.invalid\\\\:\\\\[\\\\&\\\\:not\\\\(\\\\:placeholder-shown\\\\)\\\\:not\\\\(\\\\:focus\\\\)\\\\]\\\\:pw-border-red-500:not(:placeholder-shown):not(:focus):invalid {\n --tw-border-opacity: 1;\n border-color: rgb(239, 68, 68);\n border-color: rgba(239, 68, 68, var(--tw-border-opacity));\n}`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://PWUISDK/./src/assets/scss/index.scss?./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js");
|
|
30
30
|
|
|
31
31
|
/***/ }),
|
|
32
32
|
|
|
@@ -3385,7 +3385,7 @@ eval("/*!\n * Pikaday\n *\n * Copyright © 2014 David Bushell | BSD & MIT licens
|
|
|
3385
3385
|
\*********************************************************/
|
|
3386
3386
|
/***/ ((module) => {
|
|
3387
3387
|
|
|
3388
|
-
eval("!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{\"use strict\";var e={245:(e,t,n)=>{function r(e){this.message=e}n.r(t),n.d(t,{InvalidTokenError:()=>s,default:()=>a}),r.prototype=new Error,r.prototype.name=\"InvalidCharacterError\";var o=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,\"\");if(t.length%4==1)throw new r(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,i=0,s=0,a=\"\";o=t.charAt(s++);~o&&(n=i%4?64*n+o:o,i++%4)?a+=String.fromCharCode(255&n>>(-2*i&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return a};function i(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(o(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=\"0\"+n),\"%\"+n})))}(t)}catch(e){return o(t)}}function s(e){this.message=e}s.prototype=new Error,s.prototype.name=\"InvalidTokenError\";const a=function(e,t){if(\"string\"!=typeof e)throw new s(\"Invalid token specified\");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(i(e.split(\".\")[n]))}catch(e){throw new s(\"Invalid token specified: \"+e.message)}}},607:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWSDK=void 0;const o=r(n(245)),i=r(n(207)),s=n(284),a=n(860),c=n(882);class u{constructor(){this._countries=[],this._issuingCountries=[],this.init=s.PWAUTHSDK.prototype.init,this.fetchStates=a.PWCOMMONSDK.prototype.fetchStates,this.viewIpCountry=a.PWCOMMONSDK.prototype.viewIpCountry,this.fetchCountries=a.PWCOMMONSDK.prototype.fetchCountries,this.fetchIssuingCountries=a.PWCOMMONSDK.prototype.fetchIssuingCountries,this.viewDefaultCountry=a.PWCOMMONSDK.prototype.viewDefaultCountry,this.uploadDoc=c.PWPROOFSDK.prototype.uploadDoc,this.uploadSelfie=c.PWPROOFSDK.prototype.uploadSelfie,this.viewResult=c.PWPROOFSDK.prototype.viewResult,this.updateForm=c.PWPROOFSDK.prototype.updateForm}get ipCountry(){return this._ipCountry}get countries(){return this._countries}get issuingCountries(){return this._issuingCountries}get defaultCountry(){return this._defaultCountry}get merchantDetail(){return this._merchantDetail}get tokenDetails(){const e=i.default.getAccessToken();return e?(0,o.default)(e):{}}get sessionId(){return this.tokenDetails.sessionId||\"\"}get verificationTypes(){return this.tokenDetails.verificationTypes||[]}}t.PWSDK=u,t.default={PWSDK:u}},207:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.instance=void 0;const i=o(n(218)),s=n(249);t.instance={};let a=\"\",c=Object.freeze(new class{getAccessToken(){return a}create(e,n){t.instance&&!Object.keys(t.instance).length&&(a=n,t.instance=i.default.create({baseURL:e||\"https://staging-open-api.pipwave.com\",headers:{common:{Authorization:n}}}),t.instance.interceptors.request.use((function(e){return e}),this.onResponseError),t.instance.interceptors.response.use(void 0,this.onResponseError))}onResponseError(e){return r(this,void 0,void 0,(function*(){const t=(0,s.constructAxiosError)(e);return Promise.reject(t)}))}});t.default=c},599:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ERROR_TYPE=t.ERROR_MESSAGE=t.INVALID_ARGUMENT_FORMAT=t.INVALID_ARGUMENT_LENGTH=t.INVALID_ARGUMENTS=t.ATTEMPT_EXCEEDED=t.CODE_BAD_REQ=t.CODE_LIMIT_EXCEED=t.CODE_ACCESS_DENIED=t.CODE_VALIDATION_ERROR=t.CODE_MISSING_PARAM=t.CODE_IMG_EXPOSED_3=t.CODE_IMG_EXPOSED_2=t.CODE_IMG_EXPOSED_1=t.CODE_DOC_NOT_POSITIONED=t.CODE_DOC_IMG_UNSIMILAR=t.CODE_DOC_EMPTY=t.CODE_DOC_UNPAIR=t.CODE_DOC_TYPE_INVALID=t.CODE_MAX_SESSION_ATTEMPT=t.CODE_MAX_DOC_ATTEMPT=t.CODE_MAX_SELFIE_ATTEMPT=t.CODE_ISSUING_COUNTRY_INVALID=t.CODE_VERIFICATION_TYPE_INVALID=t.CODE_SESSION_EXPIRED=t.API_MODULE=t.REQUEST_ERROR_NAME=t.ERROR_NAME=void 0,t.ERROR_NAME=\"PwError\",t.REQUEST_ERROR_NAME=\"PwReqError\",t.API_MODULE=\"openApi\",t.CODE_SESSION_EXPIRED=14003,t.CODE_VERIFICATION_TYPE_INVALID=14002,t.CODE_ISSUING_COUNTRY_INVALID=12015,t.CODE_MAX_SELFIE_ATTEMPT=14019,t.CODE_MAX_DOC_ATTEMPT=14020,t.CODE_MAX_SESSION_ATTEMPT=14021,t.CODE_DOC_TYPE_INVALID=12002,t.CODE_DOC_UNPAIR=12006,t.CODE_DOC_EMPTY=12014,t.CODE_DOC_IMG_UNSIMILAR=12013,t.CODE_DOC_NOT_POSITIONED=12009,t.CODE_IMG_EXPOSED_1=11008,t.CODE_IMG_EXPOSED_2=11010,t.CODE_IMG_EXPOSED_3=12012,t.CODE_MISSING_PARAM=4001,t.CODE_VALIDATION_ERROR=4002,t.CODE_ACCESS_DENIED=4031,t.CODE_LIMIT_EXCEED=4291,t.CODE_BAD_REQ=4003,t.ATTEMPT_EXCEEDED=\"ATTEMPT_EXCEEDED\",t.INVALID_ARGUMENTS=\"INVALID_ARGUMENTS\",t.INVALID_ARGUMENT_LENGTH=\"INVALID_ARGUMENT_LENGTH\",t.INVALID_ARGUMENT_FORMAT=\"INVALID_ARGUMENT_FORMAT\",t.ERROR_MESSAGE={[t.ATTEMPT_EXCEEDED]:\"Maximum attempt exceeded\",[t.INVALID_ARGUMENTS]:\"Invalid arguments\",[t.INVALID_ARGUMENT_LENGTH]:\"Invalid length for argument\",[t.INVALID_ARGUMENT_FORMAT]:\"Invalid format for argument\",[t.CODE_SESSION_EXPIRED]:\"Token expired\"},t.ERROR_TYPE={[t.ATTEMPT_EXCEEDED]:\"attempt-exceeded\",[t.INVALID_ARGUMENTS]:\"invalid-arguments\",[t.INVALID_ARGUMENT_LENGTH]:\"invalid-argument-length\",[t.INVALID_ARGUMENT_FORMAT]:\"invalid-argument-format\",[t.CODE_SESSION_EXPIRED]:\"session-id-expired\",[t.CODE_VERIFICATION_TYPE_INVALID]:\"verification-type-invalid\",[t.CODE_ISSUING_COUNTRY_INVALID]:\"issuing-country-invalid\",[t.CODE_MAX_SELFIE_ATTEMPT]:\"max-selfie-attempt\",[t.CODE_MAX_DOC_ATTEMPT]:\"max-doc-attempt\",[t.CODE_MAX_SESSION_ATTEMPT]:\"max-session-attempt\",[t.CODE_DOC_TYPE_INVALID]:\"doc-type-invalid\",[t.CODE_DOC_UNPAIR]:\"doc-unpair\",[t.CODE_DOC_EMPTY]:\"doc-empty\",[t.CODE_DOC_IMG_UNSIMILAR]:\"doc-front-back-img-unsimilar\",[t.CODE_DOC_NOT_POSITIONED]:\"doc-not-positioned-proper\",[t.CODE_IMG_EXPOSED_1|t.CODE_IMG_EXPOSED_2|t.CODE_IMG_EXPOSED_3]:\"img-exposed\",[t.CODE_MISSING_PARAM]:\"missing-param\",[t.CODE_VALIDATION_ERROR]:\"validation-error\",[t.CODE_ACCESS_DENIED]:\"access-denied\",[t.CODE_LIMIT_EXCEED]:\"limit-exceed\",[t.CODE_BAD_REQ]:\"bad-request\"}},249:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateRegex=t.validateLength=t.validateParam=t.validateParams=t.constructAxiosError=void 0;const r=n(145),o=n(599);t.constructAxiosError=e=>{let t=new r.PwReqError;const{code:n,message:i,config:s,request:a,response:c}=e;if(t.status=null==c?void 0:c.status,t.statusText=n,t.message=i,t.config=s,t.request=a,t.response=c,null==c?void 0:c.data){const{code:e,messages:n=[],Message:r=\"\"}=c.data;if(r&&(t.message=r),n.length){const{code:r,text:i}=n[0];t.code=r||e||void 0,i&&(t.message=i);const s=t.code&&o.ERROR_TYPE[t.code];t.type=s?`${o.API_MODULE}/${s}`:\"unknown\"}}return t},t.validateParams=function(e,n,r){const o=Object.keys(n);for(const i of o){const o=!!r&&r.includes(i);(0,t.validateParam)(i,e[i],n[i],o)}return!0},t.validateParam=(e,t,n,i)=>{const s=null!==t&&(\"array\"===n?Array.isArray(t):typeof t===n&&!Array.isArray(t));if(!i&&(void 0===t||s))return!0;if(s&&\"object\"===n&&Object.keys(t).length>0)return!0;if(s&&\"array\"===n&&t.length>0)return!0;if(s&&\"string\"===n&&t)return!0;const a=new r.PwError(`${o.ERROR_MESSAGE[o.INVALID_ARGUMENTS]}: ${e}`);throw a.type=o.ERROR_TYPE[o.INVALID_ARGUMENTS],a},t.validateLength=(e,t,n,i,s)=>{if(void 0===t)return!0;const a=\"string\"==typeof t?t.length:t.toString().length,c=new r.PwError;if(c.type=o.ERROR_TYPE[o.INVALID_ARGUMENT_LENGTH],c.message=`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_LENGTH]}: ${e} `,n&&a!==n)throw c.message+=`must have exactly length ${n}`,c;if(i&&s&&(a<i||a>s))throw c.message+=`must be between ${i} and ${s} characters in length`,c;if(i&&a<i)throw c.message+=`must be at least ${i} characters in length`,c;if(s&&a>s)throw c.message+=`must not exceed ${s} characters in length`,c;return!0},t.validateRegex=(e,t,n,i)=>{if(i.test(t))return!0;const s=new r.PwError(`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_FORMAT]}: ${e} ${n} `);throw s.type=o.ERROR_TYPE[o.INVALID_ARGUMENT_FORMAT],s}},145:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PwReqError=t.PwError=void 0;const r=n(599);class o extends Error{constructor(e){super(e),this.name=r.ERROR_NAME}}t.PwError=o,t.PwReqError=class extends o{constructor(e){super(e),this.name=r.REQUEST_ERROR_NAME}}},531:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEW_MERCHANT=t.CREATE_SESSION=void 0;const r=n(207);t.CREATE_SESSION=(e,t)=>r.instance.post(\"ekyc/session\",e,{headers:t}),t.VIEW_MERCHANT=e=>r.instance.get(`merchant/${e}`)},219:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isExpired=void 0,t.isExpired=e=>!e||e<Math.floor(Date.now()/1e3)},284:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWAUTHSDK=void 0;const i=o(n(245)),s=o(n(207)),a=n(249),c=n(599),u=n(145),l=n(531),d=n(219);t.PWAUTHSDK=class{constructor(){this.fetchCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.fetchIssuingCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.viewDefaultCountry=()=>r(this,void 0,void 0,(function*(){return{}}))}get tokenDetails(){return{}}get sessionId(){return\"\"}init(e){return r(this,void 0,void 0,(function*(){(0,a.validateParam)(\"accessToken\",e,\"string\",!0);const{verificationTypes:t,sessionId:n,exp:r,sub:o,aud:f,merchantId:h}=(0,i.default)(e);if((0,d.isExpired)(r)){const e=new u.PwError(c.ERROR_MESSAGE[c.CODE_SESSION_EXPIRED]);throw e.type=c.ERROR_TYPE[c.CODE_SESSION_EXPIRED],e}s.default.create(f,e);const p=yield(0,l.VIEW_MERCHANT)(h),{payload:E}=p.data;return this._merchantDetail=E,yield this.fetchCountries(),yield this.fetchIssuingCountries(),yield this.viewDefaultCountry(),{verification_types:t,session_id:n,expired_at:r,user_id:o}}))}}},99:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FETCH_STATES=t.FETCH_COUNTRIES=t.VIEW_IP_COUNTRY=void 0;const r=n(207);t.VIEW_IP_COUNTRY=()=>r.instance.get(\"locale/ip_info\"),t.FETCH_COUNTRIES=()=>r.instance.get(\"locale/country\"),t.FETCH_STATES=e=>r.instance.get(\"locale/states\",{params:e})},860:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWCOMMONSDK=void 0;const o=n(249),i=n(99);t.PWCOMMONSDK=class{constructor(){this._countries=[],this._issuingCountries=[]}get tokenDetails(){return{}}viewIpCountry(){return r(this,void 0,void 0,(function*(){if(this._ipCountry)return this._ipCountry;const e=yield(0,i.VIEW_IP_COUNTRY)(),{payload:t}=e.data;return this._ipCountry=t,t}))}fetchStates(e){return r(this,void 0,void 0,(function*(){(0,o.validateParam)(\"country\",e,\"string\",!0);const t=yield(0,i.FETCH_STATES)({country:e}),{payload:n}=t.data,{results:r}=n;return Object.entries(r).map((([e,t])=>({iso_code:e,name:t})))}))}fetchCountries(){return r(this,void 0,void 0,(function*(){if(this._countries.length)return this._countries;const e=yield(0,i.FETCH_COUNTRIES)(),{payload:t}=e.data;return this._countries=t.results.map((e=>({iso_code:e.country,name:e.country_name}))),this._countries}))}fetchIssuingCountries(){return r(this,void 0,void 0,(function*(){let e=yield this.fetchCountries();const t=e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.iso_code]:t})),{}),{supportedCountries:n=[],excludedCountries:r=[]}=this.tokenDetails;if(n&&n.length)e=n.map((e=>t[e.toLowerCase()]));else if(r&&r.length){const t=r.map((e=>e.toLowerCase()));e=e.filter((e=>!t.includes(e.iso_code)))}return this._issuingCountries=e,this._issuingCountries}))}viewDefaultCountry(){return r(this,void 0,void 0,(function*(){const e=yield this.viewIpCountry(),t=yield this.fetchIssuingCountries();let{country:n}=this.tokenDetails,r={};if(n){const e=t.find((e=>e.iso_code===n.toLowerCase()));e&&(r=e)}if(null==e?void 0:e.country){const n=t.find((t=>t.iso_code===(null==e?void 0:e.country.toLowerCase())));n&&(r=n)}return this._defaultCountry=r,this._defaultCountry}))}}},639:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEW_RESULT=t.UPDATE_FORM=t.UPLOAD_SELFIE=t.UPLOAD_DOC=void 0;const r=n(207);t.UPLOAD_DOC=(e,t)=>r.instance.post(`/ekyc/session/${e}/doc`,t),t.UPLOAD_SELFIE=(e,t)=>r.instance.post(`/ekyc/session/${e}/selfie`,t),t.UPDATE_FORM=(e,t)=>r.instance.put(`/ekyc/session/${e}/feedback`,t),t.VIEW_RESULT=e=>r.instance.get(`/ekyc/session/${e}/check`)},746:(e,t)=>{var n,r,o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERIFICATION_STATUS=t.AI_DOC_TYPE=t.DOC_TYPE=void 0,function(e){e.PASSPORT=\"passport\",e.NATIONAL_ID=\"national_identity_document\",e.LICENSE=\"driving_license\"}(n||(t.DOC_TYPE=n={})),function(e){e.PASSPORT=\"passport\",e.ID=\"identity_document\",e.LICENSE=\"driving_license\"}(r||(t.AI_DOC_TYPE=r={})),function(e){e.PENDING=\"pending\",e.APPROVED=\"approved\",e.REJECTED=\"rejected\",e.REVIEW=\"review\"}(o||(t.VERIFICATION_STATUS=o={}))},602:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.viewResult=void 0;const o=n(145),i=n(599),s=n(639),a=n(746);t.viewResult=(e,n=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,s.VIEW_RESULT)(e),{payload:c}=r.data,{status:u=\"\"}=c;if(u===a.VERIFICATION_STATUS.PENDING){if(n<5)return yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewResult)(e,n+1);const r=new o.PwReqError;return r.type=`${i.API_MODULE}/${i.ERROR_TYPE[i.ATTEMPT_EXCEEDED]}`,r.message=`${i.ERROR_MESSAGE[i.ATTEMPT_EXCEEDED]}: 5\"}`,Promise.reject(r)}{const{status:e,is_retriable:t,identity_document:n,selfie:r}=c,o={status:e,is_retriable:t,id_status:null==n?void 0:n.system_status,selfie_status:null==r?void 0:r.system_status},i=null==n?void 0:n.system_result;if(!i)return o;const{name:s,id_result:u,doc_type:l,filepaths:d}=i;if(!u)return o;const f=l===a.AI_DOC_TYPE.ID?a.DOC_TYPE.NATIONAL_ID:l,{full_name:h,given_name:p,surname:E}=s,{nationality:_=\"\",id_number:m=\"\",date_of_birth:O=\"\",address:y}=u;let g={nationality:_,id_number:m,date_of_birth:O};h?g.full_name=h||\"\":p||E?(g.given_name=p||\"\",g.surname=E||\"\"):g.full_name=h||\"\";const R={state_iso:\"\",state_name:\"\",country_iso2:\"\",country_name:\"\",city:\"\",line1:\"\",zip:\"\"};if(y){for(const[e,t]of Object.entries(R))R[e]=y[e]||t;g=Object.assign(Object.assign({},g),R)}return Object.assign(Object.assign({},o),{result:g,id_type:f,filepaths:d})}}))},882:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWPROOFSDK=void 0;const o=n(249),i=n(602),s=n(639);t.PWPROOFSDK=class{get sessionId(){return\"\"}uploadDoc(e){return r(this,void 0,void 0,(function*(){const t=e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\";(0,o.validateParams)(e,{front_doc_uri:\"string\",back_doc_uri:\"string\",front_doc_base64:\"string\",back_doc_base64:\"string\",doc_type:\"string\",issuing_country:\"string\"},[t,\"doc_type\",\"issuing_country\"]);const n=yield(0,s.UPLOAD_DOC)(this.sessionId,e),{payload:r}=n.data;return r}))}uploadSelfie(e){return r(this,void 0,void 0,(function*(){const t=e.selfie_uri?\"selfie_uri\":\"selfie_base64\";(0,o.validateParams)(e,{selfie_uri:\"string\",selfie_base64:\"string\",liveness_score:\"number\"},[t]);const{selfie_uri:n,selfie_base64:r,liveness_score:i}=e,a=Object.assign({selfie_uri:n,selfie_base64:r},i&&{metadata:{facial_liveness_score:i.toString()}}),c=yield(0,s.UPLOAD_SELFIE)(this.sessionId,a),{payload:u}=c.data;return u}))}viewResult(){return r(this,void 0,void 0,(function*(){return yield(0,i.viewResult)(this.sessionId)}))}updateForm(e){return r(this,void 0,void 0,(function*(){let t=[\"id_number\",\"date_of_birth\",\"line1\",\"city\",\"zip\",\"state_iso\",\"country_iso2\"];if(e.given_name||e.surname?(t.push(\"surname\"),t.push(\"given_name\")):t.push(\"full_name\"),(0,o.validateParams)(e,{full_name:\"string\",given_name:\"string\",surname:\"string\",id_number:\"string\",date_of_birth:\"string\",line1:\"string\",city:\"string\",zip:\"string\",state_iso:\"string\",country_iso2:\"string\"},t),(0,o.validateLength)(\"full_name\",e.full_name,0,1,160),(0,o.validateLength)(\"given_name\",e.given_name,0,1,70),(0,o.validateLength)(\"surname\",e.surname,0,1,70),(0,o.validateLength)(\"id_number\",e.id_number,0,1,40),(0,o.validateLength)(\"date_of_birth\",e.date_of_birth,0,1,10),(0,o.validateLength)(\"line1\",e.line1,0,1,350),(0,o.validateLength)(\"city\",e.city,0,1,70),(0,o.validateLength)(\"state_iso\",e.state_iso,0,1,9),(0,o.validateLength)(\"address\",e.zip,0,1,40),(0,o.validateLength)(\"country_iso2\",e.country_iso2,2),e.date_of_birth){const t=/^\\d{4}-\\d{2}-\\d{2}$/;(0,o.validateRegex)(\"date_of_birth\",e.date_of_birth,\"YYYY-MM-DD\",t)}const n=yield(0,s.UPDATE_FORM)(this.sessionId,{feedback_params:e}),{payload:r}=n.data;return r}))}}},218:(e,t,n)=>{function r(e,t){return function(){return e.apply(t,arguments)}}const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(a=Object.create(null),e=>{const t=o.call(e);return a[t]||(a[t]=t.slice(8,-1).toLowerCase())});var a;const c=e=>(e=e.toLowerCase(),t=>s(t)===e),u=e=>t=>typeof t===e,{isArray:l}=Array,d=u(\"undefined\"),f=c(\"ArrayBuffer\"),h=u(\"string\"),p=u(\"function\"),E=u(\"number\"),_=e=>null!==e&&\"object\"==typeof e,m=e=>{if(\"object\"!==s(e))return!1;const t=i(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},O=c(\"Date\"),y=c(\"File\"),g=c(\"Blob\"),R=c(\"FileList\"),D=c(\"URLSearchParams\");function T(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if(\"object\"!=typeof e&&(e=[e]),l(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),i=o.length;let s;for(r=0;r<i;r++)s=o[r],t.call(null,e[s],s,e)}}function A(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const S=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:n.g,v=e=>!d(e)&&e!==S,b=(C=\"undefined\"!=typeof Uint8Array&&i(Uint8Array),e=>C&&e instanceof C);var C;const w=c(\"HTMLFormElement\"),I=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),P=c(\"RegExp\"),N=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};T(n,((n,o)=>{!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},M=\"abcdefghijklmnopqrstuvwxyz\",L=\"0123456789\",U={DIGIT:L,ALPHA:M,ALPHA_DIGIT:M+M.toUpperCase()+L},x=c(\"AsyncFunction\");var j={isArray:l,isArrayBuffer:f,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&(\"function\"==typeof FormData&&e instanceof FormData||p(e.append)&&(\"formdata\"===(t=s(e))||\"object\"===t&&p(e.toString)&&\"[object FormData]\"===e.toString()))},isArrayBufferView:function(e){let t;return t=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&f(e.buffer),t},isString:h,isNumber:E,isBoolean:e=>!0===e||!1===e,isObject:_,isPlainObject:m,isUndefined:d,isDate:O,isFile:y,isBlob:g,isRegExp:P,isFunction:p,isStream:e=>_(e)&&p(e.pipe),isURLSearchParams:D,isTypedArray:b,isFileList:R,forEach:T,merge:function e(){const{caseless:t}=v(this)&&this||{},n={},r=(r,o)=>{const i=t&&A(n,o)||o;m(n[i])&&m(r)?n[i]=e(n[i],r):m(r)?n[i]=e({},r):l(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&T(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:o}={})=>(T(t,((t,o)=>{n&&p(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\"),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,\"super\",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:c,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(l(e))return e;let t=e.length;if(!E(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:w,hasOwnProperty:I,hasOwnProp:I,reduceDescriptors:N,freezeMethods:e=>{N(e,((t,n)=>{if(p(e)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;const r=e[n];p(r)&&(t.enumerable=!1,\"writable\"in t?t.writable=!1:t.set||(t.set=()=>{throw Error(\"Can not rewrite read-only method '\"+n+\"'\")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return l(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:A,global:S,isContextDefined:v,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let n=\"\";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&\"FormData\"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(_(e)){if(t.indexOf(e)>=0)return;if(!(\"toJSON\"in e)){t[r]=e;const o=l(e)?[]:{};return T(e,((e,t)=>{const i=n(e,r+1);!d(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:x,isThenable:e=>e&&(_(e)||p(e))&&p(e.then)&&p(e.catch)};function F(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name=\"AxiosError\",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}j.inherits(F,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:j.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const k=F.prototype,B={};function V(e){return j.isPlainObject(e)||j.isArray(e)}function G(e){return j.endsWith(e,\"[]\")?e.slice(0,-2):e}function W(e,t,n){return e?e.concat(t).map((function(e,t){return e=G(e),!n&&t?\"[\"+e+\"]\":e})).join(n?\".\":\"\"):t}[\"ERR_BAD_OPTION_VALUE\",\"ERR_BAD_OPTION\",\"ECONNABORTED\",\"ETIMEDOUT\",\"ERR_NETWORK\",\"ERR_FR_TOO_MANY_REDIRECTS\",\"ERR_DEPRECATED\",\"ERR_BAD_RESPONSE\",\"ERR_BAD_REQUEST\",\"ERR_CANCELED\",\"ERR_NOT_SUPPORT\",\"ERR_INVALID_URL\"].forEach((e=>{B[e]={value:e}})),Object.defineProperties(F,B),Object.defineProperty(k,\"isAxiosError\",{value:!0}),F.from=(e,t,n,r,o,i)=>{const s=Object.create(k);return j.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>\"isAxiosError\"!==e)),F.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const H=j.toFlatObject(j,{},null,(function(e){return/^is[A-Z]/.test(e)}));function q(e,t,n){if(!j.isObject(e))throw new TypeError(\"target must be an object\");t=t||new FormData;const r=(n=j.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!j.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,a=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&j.isSpecCompliantForm(t);if(!j.isFunction(o))throw new TypeError(\"visitor must be a function\");function c(e){if(null===e)return\"\";if(j.isDate(e))return e.toISOString();if(!a&&j.isBlob(e))throw new F(\"Blob is not supported. Use a Buffer instead.\");return j.isArrayBuffer(e)||j.isTypedArray(e)?a&&\"function\"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let a=e;if(e&&!o&&\"object\"==typeof e)if(j.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(j.isArray(e)&&function(e){return j.isArray(e)&&!e.some(V)}(e)||(j.isFileList(e)||j.endsWith(n,\"[]\"))&&(a=j.toArray(e)))return n=G(n),a.forEach((function(e,r){!j.isUndefined(e)&&null!==e&&t.append(!0===s?W([n],r,i):null===s?n:n+\"[]\",c(e))})),!1;return!!V(e)||(t.append(W(o,n,i),c(e)),!1)}const l=[],d=Object.assign(H,{defaultVisitor:u,convertValue:c,isVisitable:V});if(!j.isObject(e))throw new TypeError(\"data must be an object\");return function e(n,r){if(!j.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),j.forEach(n,(function(n,i){!0===(!(j.isUndefined(n)||null===n)&&o.call(t,n,j.isString(i)?i.trim():i,r,d))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t}function X(e){const t={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function K(e,t){this._pairs=[],e&&q(e,this,t)}const z=K.prototype;function Y(e){return encodeURIComponent(e).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function $(e,t,n){if(!t)return e;const r=n&&n.encode||Y,o=n&&n.serialize;let i;if(i=o?o(t,n):j.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),i){const t=e.indexOf(\"#\");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf(\"?\")?\"?\":\"&\")+i}return e}z.append=function(e,t){this._pairs.push([e,t])},z.toString=function(e){const t=e?function(t){return e.call(this,t,X)}:X;return this._pairs.map((function(e){return t(e[0])+\"=\"+t(e[1])}),\"\").join(\"&\")};var J=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){j.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Q={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Z={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:K,FormData:\"undefined\"!=typeof FormData?FormData:null,Blob:\"undefined\"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return(\"undefined\"==typeof navigator||\"ReactNative\"!==(e=navigator.product)&&\"NativeScript\"!==e&&\"NS\"!==e)&&\"undefined\"!=typeof window&&\"undefined\"!=typeof document})(),isStandardBrowserWebWorkerEnv:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&\"function\"==typeof self.importScripts,protocols:[\"http\",\"https\",\"file\",\"blob\",\"url\",\"data\"]};function ee(e){function t(e,n,r,o){let i=e[o++];const s=Number.isFinite(+i),a=o>=e.length;return i=!i&&j.isArray(r)?r.length:i,a?(j.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s):(r[i]&&j.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&j.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],t[i]=e[i];return t}(r[i])),!s)}if(j.isFormData(e)&&j.isFunction(e.entries)){const n={};return j.forEachEntry(e,((e,r)=>{t(function(e){return j.matchAll(/\\w+|\\[(\\w*)]/g,e).map((e=>\"[]\"===e[0]?\"\":e[1]||e[0]))}(e),r,n,0)})),n}return null}const te={\"Content-Type\":void 0},ne={transitional:Q,adapter:[\"xhr\",\"http\"],transformRequest:[function(e,t){const n=t.getContentType()||\"\",r=n.indexOf(\"application/json\")>-1,o=j.isObject(e);if(o&&j.isHTMLForm(e)&&(e=new FormData(e)),j.isFormData(e))return r&&r?JSON.stringify(ee(e)):e;if(j.isArrayBuffer(e)||j.isBuffer(e)||j.isStream(e)||j.isFile(e)||j.isBlob(e))return e;if(j.isArrayBufferView(e))return e.buffer;if(j.isURLSearchParams(e))return t.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),e.toString();let i;if(o){if(n.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(e,t){return q(e,new Z.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Z.isNode&&j.isBuffer(e)?(this.append(t,e.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=j.isFileList(e))||n.indexOf(\"multipart/form-data\")>-1){const t=this.env&&this.env.FormData;return q(i?{\"files[]\":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType(\"application/json\",!1),function(e,t,n){if(j.isString(e))try{return(0,JSON.parse)(e),j.trim(e)}catch(e){if(\"SyntaxError\"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ne.transitional,n=t&&t.forcedJSONParsing,r=\"json\"===this.responseType;if(e&&j.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if(\"SyntaxError\"===e.name)throw F.from(e,F.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Z.classes.FormData,Blob:Z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};j.forEach([\"delete\",\"get\",\"head\"],(function(e){ne.headers[e]={}})),j.forEach([\"post\",\"put\",\"patch\"],(function(e){ne.headers[e]=j.merge(te)}));var re=ne;const oe=j.toObjectSet([\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"]),ie=Symbol(\"internals\");function se(e){return e&&String(e).trim().toLowerCase()}function ae(e){return!1===e||null==e?e:j.isArray(e)?e.map(ae):String(e)}function ce(e,t,n,r,o){return j.isFunction(r)?r.call(this,t,n):(o&&(t=n),j.isString(t)?j.isString(r)?-1!==t.indexOf(r):j.isRegExp(r)?r.test(t):void 0:void 0)}class ue{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=se(t);if(!o)throw new Error(\"header name must be a non-empty string\");const i=j.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=ae(e))}const i=(e,t)=>j.forEach(e,((e,n)=>o(e,n,t)));return j.isPlainObject(e)||e instanceof this.constructor?i(e,t):j.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?i((e=>{const t={};let n,r,o;return e&&e.split(\"\\n\").forEach((function(e){o=e.indexOf(\":\"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&oe[n]||(\"set-cookie\"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+\", \"+r:r)})),t})(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=se(e)){const n=j.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(j.isFunction(t))return t.call(this,e,n);if(j.isRegExp(t))return t.exec(e);throw new TypeError(\"parser must be boolean|regexp|function\")}}}has(e,t){if(e=se(e)){const n=j.findKey(this,e);return!(!n||void 0===this[n]||t&&!ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=se(e)){const o=j.findKey(n,e);!o||t&&!ce(0,n[o],o,t)||(delete n[o],r=!0)}}return j.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!ce(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return j.forEach(this,((r,o)=>{const i=j.findKey(n,o);if(i)return t[i]=ae(r),void delete t[o];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();s!==o&&delete t[o],t[s]=ae(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return j.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&j.isArray(n)?n.join(\", \"):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+\": \"+t)).join(\"\\n\")}get[Symbol.toStringTag](){return\"AxiosHeaders\"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ie]=this[ie]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=j.toCamelCase(\" \"+t);[\"get\",\"set\",\"has\"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return j.isArray(e)?e.forEach(r):r(e),this}}ue.accessor([\"Content-Type\",\"Content-Length\",\"Accept\",\"Accept-Encoding\",\"User-Agent\",\"Authorization\"]),j.freezeMethods(ue.prototype),j.freezeMethods(ue);var le=ue;function de(e,t){const n=this||re,r=t||n,o=le.from(r.headers);let i=r.data;return j.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function fe(e){return!(!e||!e.__CANCEL__)}function he(e,t,n){F.call(this,null==e?\"canceled\":e,F.ERR_CANCELED,t,n),this.name=\"CanceledError\"}j.inherits(he,F,{__CANCEL__:!0});var pe=Z.isStandardBrowserEnv?{write:function(e,t,n,r,o,i){const s=[];s.push(e+\"=\"+encodeURIComponent(t)),j.isNumber(n)&&s.push(\"expires=\"+new Date(n).toGMTString()),j.isString(r)&&s.push(\"path=\"+r),j.isString(o)&&s.push(\"domain=\"+o),!0===i&&s.push(\"secure\"),document.cookie=s.join(\"; \")},read:function(e){const t=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+e+\")=([^;]*)\"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Ee(e,t){return e&&!/^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(t)?function(e,t){return t?e.replace(/\\/+$/,\"\")+\"/\"+t.replace(/^\\/+/,\"\"):e}(e,t):t}var _e=Z.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement(\"a\");let n;function r(n){let r=n;return e&&(t.setAttribute(\"href\",r),r=t.href),t.setAttribute(\"href\",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,\"\"):\"\",host:t.host,search:t.search?t.search.replace(/^\\?/,\"\"):\"\",hash:t.hash?t.hash.replace(/^#/,\"\"):\"\",hostname:t.hostname,port:t.port,pathname:\"/\"===t.pathname.charAt(0)?t.pathname:\"/\"+t.pathname}}return n=r(window.location.href),function(e){const t=j.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function me(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,d=0;for(;l!==i;)d+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o<t)return;const f=u&&c-u;return f?Math.round(1e3*d/f):void 0}}(50,250);return o=>{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a);n=i;const u={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&i<=s?(s-i)/c:void 0,event:o};u[t?\"download\":\"upload\"]=!0,e(u)}}const Oe={http:null,xhr:\"undefined\"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const o=le.from(e.headers).normalize(),i=e.responseType;let s;function a(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener(\"abort\",s)}j.isFormData(r)&&(Z.isStandardBrowserEnv||Z.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.setContentType(\"multipart/form-data;\",!1));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||\"\",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):\"\";o.set(\"Authorization\",\"Basic \"+btoa(t+\":\"+n))}const u=Ee(e.baseURL,e.url);function l(){if(!c)return;const r=le.from(\"getAllResponseHeaders\"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new F(\"Request failed with status code \"+n.status,[F.ERR_BAD_REQUEST,F.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),a()}),(function(e){n(e),a()}),{data:i&&\"text\"!==i&&\"json\"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),$(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,\"onloadend\"in c?c.onloadend=l:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf(\"file:\"))&&setTimeout(l)},c.onabort=function(){c&&(n(new F(\"Request aborted\",F.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new F(\"Network Error\",F.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?\"timeout of \"+e.timeout+\"ms exceeded\":\"timeout exceeded\";const r=e.transitional||Q;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new F(t,r.clarifyTimeoutError?F.ETIMEDOUT:F.ECONNABORTED,e,c)),c=null},Z.isStandardBrowserEnv){const t=(e.withCredentials||_e(u))&&e.xsrfCookieName&&pe.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),\"setRequestHeader\"in c&&j.forEach(o.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),j.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),i&&\"json\"!==i&&(c.responseType=e.responseType),\"function\"==typeof e.onDownloadProgress&&c.addEventListener(\"progress\",me(e.onDownloadProgress,!0)),\"function\"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener(\"progress\",me(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{c&&(n(!t||t.type?new he(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener(\"abort\",s)));const d=function(e){const t=/^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(e);return t&&t[1]||\"\"}(u);d&&-1===Z.protocols.indexOf(d)?n(new F(\"Unsupported protocol \"+d+\":\",F.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};j.forEach(Oe,((e,t)=>{if(e){try{Object.defineProperty(e,\"name\",{value:t})}catch(e){}Object.defineProperty(e,\"adapterName\",{value:t})}}));function ye(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new he(null,e)}function ge(e){return ye(e),e.headers=le.from(e.headers),e.data=de.call(e,e.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(e.method)&&e.headers.setContentType(\"application/x-www-form-urlencoded\",!1),(e=>{e=j.isArray(e)?e:[e];const{length:t}=e;let n,r;for(let o=0;o<t&&(n=e[o],!(r=j.isString(n)?Oe[n.toLowerCase()]:n));o++);if(!r){if(!1===r)throw new F(`Adapter ${n} is not supported by the environment`,\"ERR_NOT_SUPPORT\");throw new Error(j.hasOwnProp(Oe,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`)}if(!j.isFunction(r))throw new TypeError(\"adapter is not a function\");return r})(e.adapter||re.adapter)(e).then((function(t){return ye(e),t.data=de.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return fe(t)||(ye(e),t&&t.response&&(t.response.data=de.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const Re=e=>e instanceof le?e.toJSON():e;function De(e,t){t=t||{};const n={};function r(e,t,n){return j.isPlainObject(e)&&j.isPlainObject(t)?j.merge.call({caseless:n},e,t):j.isPlainObject(t)?j.merge({},t):j.isArray(t)?t.slice():t}function o(e,t,n){return j.isUndefined(t)?j.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!j.isUndefined(t))return r(void 0,t)}function s(e,t){return j.isUndefined(t)?j.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Re(e),Re(t),!0)};return j.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);j.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Te={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach(((e,t)=>{Te[e]=function(n){return typeof n===e||\"a\"+(t<1?\"n \":\" \")+e}}));const Ae={};Te.transitional=function(e,t,n){function r(e,t){return\"[Axios v1.4.0] Transitional option '\"+e+\"'\"+t+(n?\". \"+n:\"\")}return(n,o,i)=>{if(!1===e)throw new F(r(o,\" has been removed\"+(t?\" in \"+t:\"\")),F.ERR_DEPRECATED);return t&&!Ae[o]&&(Ae[o]=!0,console.warn(r(o,\" has been deprecated since v\"+t+\" and will be removed in the near future\"))),!e||e(n,o,i)}};var Se={assertOptions:function(e,t,n){if(\"object\"!=typeof e)throw new F(\"options must be an object\",F.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new F(\"option \"+i+\" must be \"+n,F.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new F(\"Unknown option \"+i,F.ERR_BAD_OPTION)}},validators:Te};const ve=Se.validators;class be{constructor(e){this.defaults=e,this.interceptors={request:new J,response:new J}}request(e,t){\"string\"==typeof e?(t=t||{}).url=e:t=e||{},t=De(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;let i;void 0!==n&&Se.assertOptions(n,{silentJSONParsing:ve.transitional(ve.boolean),forcedJSONParsing:ve.transitional(ve.boolean),clarifyTimeoutError:ve.transitional(ve.boolean)},!1),null!=r&&(j.isFunction(r)?t.paramsSerializer={serialize:r}:Se.assertOptions(r,{encode:ve.function,serialize:ve.function},!0)),t.method=(t.method||this.defaults.method||\"get\").toLowerCase(),i=o&&j.merge(o.common,o[t.method]),i&&j.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(e=>{delete o[e]})),t.headers=le.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){\"function\"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,d=0;if(!a){const e=[ge.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);d<l;)u=u.then(e[d++],e[d++]);return u}l=s.length;let f=t;for(d=0;d<l;){const e=s[d++],t=s[d++];try{f=e(f)}catch(e){t.call(this,e);break}}try{u=ge.call(this,f)}catch(e){return Promise.reject(e)}for(d=0,l=c.length;d<l;)u=u.then(c[d++],c[d++]);return u}getUri(e){return $(Ee((e=De(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}j.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){be.prototype[e]=function(t,n){return this.request(De(n||{},{method:e,url:t,data:(n||{}).data}))}})),j.forEach([\"post\",\"put\",\"patch\"],(function(e){function t(t){return function(n,r,o){return this.request(De(o||{},{method:e,headers:t?{\"Content-Type\":\"multipart/form-data\"}:{},url:n,data:r}))}}be.prototype[e]=t(),be.prototype[e+\"Form\"]=t(!0)}));var Ce=be;class we{constructor(e){if(\"function\"!=typeof e)throw new TypeError(\"executor must be a function.\");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new he(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new we((function(t){e=t})),cancel:e}}}var Ie=we;const Pe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Pe).forEach((([e,t])=>{Pe[t]=e}));var Ne=Pe;const Me=function e(t){const n=new Ce(t),o=r(Ce.prototype.request,n);return j.extend(o,Ce.prototype,n,{allOwnKeys:!0}),j.extend(o,n,null,{allOwnKeys:!0}),o.create=function(n){return e(De(t,n))},o}(re);Me.Axios=Ce,Me.CanceledError=he,Me.CancelToken=Ie,Me.isCancel=fe,Me.VERSION=\"1.4.0\",Me.toFormData=q,Me.AxiosError=F,Me.Cancel=Me.CanceledError,Me.all=function(e){return Promise.all(e)},Me.spread=function(e){return function(t){return e.apply(null,t)}},Me.isAxiosError=function(e){return j.isObject(e)&&!0===e.isAxiosError},Me.mergeConfig=De,Me.AxiosHeaders=le,Me.formToJSON=e=>ee(j.isHTMLForm(e)?new FormData(e):e),Me.HttpStatusCode=Ne,Me.default=Me,e.exports=Me}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r=n(607);return r.default})()));\n\n//# sourceURL=webpack://PWUISDK/./node_modules/pipwave-ekyc-sdk/dist/pw-bundle.js?");
|
|
3388
|
+
eval("!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{\"use strict\";var e={245:(e,t,n)=>{function r(e){this.message=e}n.r(t),n.d(t,{InvalidTokenError:()=>s,default:()=>a}),r.prototype=new Error,r.prototype.name=\"InvalidCharacterError\";var o=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(e){var t=String(e).replace(/=+$/,\"\");if(t.length%4==1)throw new r(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,i=0,s=0,a=\"\";o=t.charAt(s++);~o&&(n=i%4?64*n+o:o,i++%4)?a+=String.fromCharCode(255&n>>(-2*i&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return a};function i(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(o(e).replace(/(.)/g,(function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=\"0\"+n),\"%\"+n})))}(t)}catch(e){return o(t)}}function s(e){this.message=e}s.prototype=new Error,s.prototype.name=\"InvalidTokenError\";const a=function(e,t){if(\"string\"!=typeof e)throw new s(\"Invalid token specified\");var n=!0===(t=t||{}).header?0:1;try{return JSON.parse(i(e.split(\".\")[n]))}catch(e){throw new s(\"Invalid token specified: \"+e.message)}}},607:function(e,t,n){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWSDK=void 0;const o=r(n(245)),i=r(n(207)),s=n(284),a=n(860),c=n(882);class u{constructor(){this._countries=[],this._issuingCountries=[],this.init=s.PWAUTHSDK.prototype.init,this.fetchStates=a.PWCOMMONSDK.prototype.fetchStates,this.viewIpCountry=a.PWCOMMONSDK.prototype.viewIpCountry,this.fetchCountries=a.PWCOMMONSDK.prototype.fetchCountries,this.fetchIssuingCountries=a.PWCOMMONSDK.prototype.fetchIssuingCountries,this.viewDefaultCountry=a.PWCOMMONSDK.prototype.viewDefaultCountry,this.uploadDoc=c.PWPROOFSDK.prototype.uploadDoc,this.uploadSelfie=c.PWPROOFSDK.prototype.uploadSelfie,this.viewResult=c.PWPROOFSDK.prototype.viewResult,this.updateForm=c.PWPROOFSDK.prototype.updateForm}get ipCountry(){return this._ipCountry}get countries(){return this._countries}get issuingCountries(){return this._issuingCountries}get defaultCountry(){return this._defaultCountry}get merchantDetail(){return this._merchantDetail}get tokenDetails(){const e=i.default.getAccessToken();return e?(0,o.default)(e):{}}get sessionId(){return this.tokenDetails.sessionId||\"\"}get verificationTypes(){return this.tokenDetails.verificationTypes||[]}}t.PWSDK=u,t.default={PWSDK:u}},207:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.instance=void 0;const i=o(n(218)),s=n(249);t.instance={};let a=\"\",c=Object.freeze(new class{getAccessToken(){return a}create(e,n){if(a=n,!t.instance||Object.keys(t.instance).length)return t.instance.defaults.headers.common.Authorization=n;t.instance=i.default.create({baseURL:e||\"https://staging-open-api.pipwave.com\",headers:{common:{Authorization:n}}}),t.instance.interceptors.request.use((function(e){return e}),this.onResponseError),t.instance.interceptors.response.use(void 0,this.onResponseError)}onResponseError(e){return r(this,void 0,void 0,(function*(){const t=(0,s.constructAxiosError)(e);return Promise.reject(t)}))}});t.default=c},599:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ERROR_TYPE=t.ERROR_MESSAGE=t.INVALID_ARGUMENT_FORMAT=t.INVALID_ARGUMENT_LENGTH=t.INVALID_ARGUMENTS=t.ATTEMPT_EXCEEDED=t.CODE_BAD_REQ=t.CODE_LIMIT_EXCEED=t.CODE_ACCESS_DENIED=t.CODE_VALIDATION_ERROR=t.CODE_MISSING_PARAM=t.CODE_IMG_EXPOSED_3=t.CODE_IMG_EXPOSED_2=t.CODE_IMG_EXPOSED_1=t.CODE_DOC_NOT_POSITIONED=t.CODE_DOC_IMG_UNSIMILAR=t.CODE_DOC_EMPTY=t.CODE_DOC_UNPAIR=t.CODE_DOC_TYPE_INVALID=t.CODE_MAX_SESSION_ATTEMPT=t.CODE_MAX_DOC_ATTEMPT=t.CODE_MAX_SELFIE_ATTEMPT=t.CODE_ISSUING_COUNTRY_INVALID=t.CODE_VERIFICATION_TYPE_INVALID=t.CODE_SESSION_EXPIRED=t.API_MODULE=t.REQUEST_ERROR_NAME=t.ERROR_NAME=void 0,t.ERROR_NAME=\"PwError\",t.REQUEST_ERROR_NAME=\"PwReqError\",t.API_MODULE=\"openApi\",t.CODE_SESSION_EXPIRED=14003,t.CODE_VERIFICATION_TYPE_INVALID=14002,t.CODE_ISSUING_COUNTRY_INVALID=12015,t.CODE_MAX_SELFIE_ATTEMPT=14019,t.CODE_MAX_DOC_ATTEMPT=14020,t.CODE_MAX_SESSION_ATTEMPT=14021,t.CODE_DOC_TYPE_INVALID=12002,t.CODE_DOC_UNPAIR=12006,t.CODE_DOC_EMPTY=12014,t.CODE_DOC_IMG_UNSIMILAR=12013,t.CODE_DOC_NOT_POSITIONED=12009,t.CODE_IMG_EXPOSED_1=11008,t.CODE_IMG_EXPOSED_2=11010,t.CODE_IMG_EXPOSED_3=12012,t.CODE_MISSING_PARAM=4001,t.CODE_VALIDATION_ERROR=4002,t.CODE_ACCESS_DENIED=4031,t.CODE_LIMIT_EXCEED=4291,t.CODE_BAD_REQ=4003,t.ATTEMPT_EXCEEDED=\"ATTEMPT_EXCEEDED\",t.INVALID_ARGUMENTS=\"INVALID_ARGUMENTS\",t.INVALID_ARGUMENT_LENGTH=\"INVALID_ARGUMENT_LENGTH\",t.INVALID_ARGUMENT_FORMAT=\"INVALID_ARGUMENT_FORMAT\",t.ERROR_MESSAGE={[t.ATTEMPT_EXCEEDED]:\"Maximum attempt exceeded\",[t.INVALID_ARGUMENTS]:\"Invalid arguments\",[t.INVALID_ARGUMENT_LENGTH]:\"Invalid length for argument\",[t.INVALID_ARGUMENT_FORMAT]:\"Invalid format for argument\",[t.CODE_SESSION_EXPIRED]:\"Token expired\"},t.ERROR_TYPE={[t.ATTEMPT_EXCEEDED]:\"attempt-exceeded\",[t.INVALID_ARGUMENTS]:\"invalid-arguments\",[t.INVALID_ARGUMENT_LENGTH]:\"invalid-argument-length\",[t.INVALID_ARGUMENT_FORMAT]:\"invalid-argument-format\",[t.CODE_SESSION_EXPIRED]:\"session-id-expired\",[t.CODE_VERIFICATION_TYPE_INVALID]:\"verification-type-invalid\",[t.CODE_ISSUING_COUNTRY_INVALID]:\"issuing-country-invalid\",[t.CODE_MAX_SELFIE_ATTEMPT]:\"max-selfie-attempt\",[t.CODE_MAX_DOC_ATTEMPT]:\"max-doc-attempt\",[t.CODE_MAX_SESSION_ATTEMPT]:\"max-session-attempt\",[t.CODE_DOC_TYPE_INVALID]:\"doc-type-invalid\",[t.CODE_DOC_UNPAIR]:\"doc-unpair\",[t.CODE_DOC_EMPTY]:\"doc-empty\",[t.CODE_DOC_IMG_UNSIMILAR]:\"doc-front-back-img-unsimilar\",[t.CODE_DOC_NOT_POSITIONED]:\"doc-not-positioned-proper\",[t.CODE_IMG_EXPOSED_1|t.CODE_IMG_EXPOSED_2|t.CODE_IMG_EXPOSED_3]:\"img-exposed\",[t.CODE_MISSING_PARAM]:\"missing-param\",[t.CODE_VALIDATION_ERROR]:\"validation-error\",[t.CODE_ACCESS_DENIED]:\"access-denied\",[t.CODE_LIMIT_EXCEED]:\"limit-exceed\",[t.CODE_BAD_REQ]:\"bad-request\"}},249:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateRegex=t.validateLength=t.validateParam=t.validateParams=t.constructAxiosError=void 0;const r=n(145),o=n(599);t.constructAxiosError=e=>{let t=new r.PwReqError;const{code:n,message:i,config:s,request:a,response:c}=e;if(t.status=null==c?void 0:c.status,t.statusText=n,t.message=i,t.config=s,t.request=a,t.response=c,null==c?void 0:c.data){const{code:e,messages:n=[],Message:r=\"\"}=c.data;if(r&&(t.message=r),n.length){const{code:r,text:i}=n[0];t.code=r||e||void 0,i&&(t.message=i);const s=t.code&&o.ERROR_TYPE[t.code];t.type=s?`${o.API_MODULE}/${s}`:\"unknown\"}}return t},t.validateParams=function(e,n,r){const o=Object.keys(n);for(const i of o){const o=!!r&&r.includes(i);(0,t.validateParam)(i,e[i],n[i],o)}return!0},t.validateParam=(e,t,n,i)=>{const s=null!==t&&(\"array\"===n?Array.isArray(t):typeof t===n&&!Array.isArray(t));if(!i&&(void 0===t||s))return!0;if(s&&\"object\"===n&&Object.keys(t).length>0)return!0;if(s&&\"array\"===n&&t.length>0)return!0;if(s&&\"string\"===n&&t)return!0;const a=new r.PwError(`${o.ERROR_MESSAGE[o.INVALID_ARGUMENTS]}: ${e}`);throw a.type=o.ERROR_TYPE[o.INVALID_ARGUMENTS],a},t.validateLength=(e,t,n,i,s)=>{if(void 0===t)return!0;const a=\"string\"==typeof t?t.length:t.toString().length,c=new r.PwError;if(c.type=o.ERROR_TYPE[o.INVALID_ARGUMENT_LENGTH],c.message=`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_LENGTH]}: ${e} `,n&&a!==n)throw c.message+=`must have exactly length ${n}`,c;if(i&&s&&(a<i||a>s))throw c.message+=`must be between ${i} and ${s} characters in length`,c;if(i&&a<i)throw c.message+=`must be at least ${i} characters in length`,c;if(s&&a>s)throw c.message+=`must not exceed ${s} characters in length`,c;return!0},t.validateRegex=(e,t,n,i)=>{if(i.test(t))return!0;const s=new r.PwError(`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_FORMAT]}: ${e} ${n} `);throw s.type=o.ERROR_TYPE[o.INVALID_ARGUMENT_FORMAT],s}},145:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PwReqError=t.PwError=void 0;const r=n(599);class o extends Error{constructor(e){super(e),this.name=r.ERROR_NAME}}t.PwError=o,t.PwReqError=class extends o{constructor(e){super(e),this.name=r.REQUEST_ERROR_NAME}}},531:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEW_MERCHANT=t.CREATE_SESSION=void 0;const r=n(207);t.CREATE_SESSION=(e,t)=>r.instance.post(\"ekyc/session\",e,{headers:t}),t.VIEW_MERCHANT=e=>r.instance.get(`merchant/${e}`)},219:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isExpired=void 0,t.isExpired=e=>!e||e<Math.floor(Date.now()/1e3)},284:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWAUTHSDK=void 0;const i=o(n(245)),s=o(n(207)),a=n(249),c=n(599),u=n(145),l=n(531),d=n(219);t.PWAUTHSDK=class{constructor(){this.fetchCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.fetchIssuingCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.viewDefaultCountry=()=>r(this,void 0,void 0,(function*(){return{}}))}get tokenDetails(){return{}}get sessionId(){return\"\"}init(e){return r(this,void 0,void 0,(function*(){(0,a.validateParam)(\"accessToken\",e,\"string\",!0);const{verificationTypes:t,sessionId:n,exp:r,sub:o,aud:f,merchantId:h}=(0,i.default)(e);if((0,d.isExpired)(r)){const e=new u.PwError(c.ERROR_MESSAGE[c.CODE_SESSION_EXPIRED]);throw e.type=c.ERROR_TYPE[c.CODE_SESSION_EXPIRED],e}s.default.create(f,e);const p=yield(0,l.VIEW_MERCHANT)(h),{payload:E}=p.data;return this._merchantDetail=E,yield this.fetchCountries(),yield this.fetchIssuingCountries(),yield this.viewDefaultCountry(),{verification_types:t,session_id:n,expired_at:r,user_id:o}}))}}},99:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FETCH_STATES=t.FETCH_COUNTRIES=t.VIEW_IP_COUNTRY=void 0;const r=n(207);t.VIEW_IP_COUNTRY=()=>r.instance.get(\"locale/ip_info\"),t.FETCH_COUNTRIES=()=>r.instance.get(\"locale/country\"),t.FETCH_STATES=e=>r.instance.get(\"locale/states\",{params:e})},860:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWCOMMONSDK=void 0;const o=n(249),i=n(99);t.PWCOMMONSDK=class{constructor(){this._countries=[],this._issuingCountries=[]}get tokenDetails(){return{}}viewIpCountry(){return r(this,void 0,void 0,(function*(){if(this._ipCountry)return this._ipCountry;const e=yield(0,i.VIEW_IP_COUNTRY)(),{payload:t}=e.data;return this._ipCountry=t,t}))}fetchStates(e){return r(this,void 0,void 0,(function*(){(0,o.validateParam)(\"country\",e,\"string\",!0);const t=yield(0,i.FETCH_STATES)({country:e}),{payload:n}=t.data,{results:r}=n;return Object.entries(r).map((([e,t])=>({iso_code:e,name:t})))}))}fetchCountries(){return r(this,void 0,void 0,(function*(){if(this._countries.length)return this._countries;const e=yield(0,i.FETCH_COUNTRIES)(),{payload:t}=e.data;return this._countries=t.results.map((e=>({iso_code:e.country,name:e.country_name}))),this._countries}))}fetchIssuingCountries(){return r(this,void 0,void 0,(function*(){let e=yield this.fetchCountries();const t=e.reduce(((e,t)=>Object.assign(Object.assign({},e),{[t.iso_code]:t})),{}),{supportedCountries:n=[],excludedCountries:r=[]}=this.tokenDetails;if(n&&n.length)e=n.map((e=>t[e.toLowerCase()]));else if(r&&r.length){const t=r.map((e=>e.toLowerCase()));e=e.filter((e=>!t.includes(e.iso_code)))}return this._issuingCountries=e,this._issuingCountries}))}viewDefaultCountry(){return r(this,void 0,void 0,(function*(){const e=yield this.viewIpCountry(),t=yield this.fetchIssuingCountries();let{country:n}=this.tokenDetails,r={};if(n){const e=t.find((e=>e.iso_code===n.toLowerCase()));e&&(r=e)}if(null==e?void 0:e.country){const n=t.find((t=>t.iso_code===(null==e?void 0:e.country.toLowerCase())));n&&(r=n)}return this._defaultCountry=r,this._defaultCountry}))}}},639:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.VIEW_RESULT=t.UPDATE_FORM=t.UPLOAD_SELFIE=t.UPLOAD_DOC=void 0;const r=n(207);t.UPLOAD_DOC=(e,t)=>r.instance.post(`/ekyc/session/${e}/doc`,t),t.UPLOAD_SELFIE=(e,t)=>r.instance.post(`/ekyc/session/${e}/selfie`,t),t.UPDATE_FORM=(e,t)=>r.instance.put(`/ekyc/session/${e}/feedback`,t),t.VIEW_RESULT=e=>r.instance.get(`/ekyc/session/${e}/check`)},746:(e,t)=>{var n,r,o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.VERIFICATION_STATUS=t.AI_DOC_TYPE=t.DOC_TYPE=void 0,function(e){e.PASSPORT=\"passport\",e.NATIONAL_ID=\"national_identity_document\",e.LICENSE=\"driving_license\"}(n||(t.DOC_TYPE=n={})),function(e){e.PASSPORT=\"passport\",e.ID=\"identity_document\",e.LICENSE=\"driving_license\"}(r||(t.AI_DOC_TYPE=r={})),function(e){e.PENDING=\"pending\",e.APPROVED=\"approved\",e.REJECTED=\"rejected\",e.REVIEW=\"review\"}(o||(t.VERIFICATION_STATUS=o={}))},602:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.viewResult=void 0;const o=n(145),i=n(599),s=n(639),a=n(746);t.viewResult=(e,n=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,s.VIEW_RESULT)(e),{payload:c}=r.data,{status:u=\"\"}=c;if(u===a.VERIFICATION_STATUS.PENDING){if(n<5)return yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewResult)(e,n+1);const r=new o.PwReqError;return r.type=`${i.API_MODULE}/${i.ERROR_TYPE[i.ATTEMPT_EXCEEDED]}`,r.message=`${i.ERROR_MESSAGE[i.ATTEMPT_EXCEEDED]}: 5\"}`,Promise.reject(r)}{const{status:e,is_retriable:t,identity_document:n,selfie:r}=c,o={status:e,is_retriable:t,id_status:null==n?void 0:n.system_status,selfie_status:null==r?void 0:r.system_status},i=null==n?void 0:n.system_result;if(!i)return o;const{name:s,id_result:u,doc_type:l,filepaths:d}=i;if(!u)return o;const f=l===a.AI_DOC_TYPE.ID?a.DOC_TYPE.NATIONAL_ID:l,{full_name:h,given_name:p,surname:E}=s,{nationality:_=\"\",id_number:m=\"\",date_of_birth:O=\"\",address:y}=u;let g={nationality:_,id_number:m,date_of_birth:O};h?g.full_name=h||\"\":p||E?(g.given_name=p||\"\",g.surname=E||\"\"):g.full_name=h||\"\";const R={state_iso:\"\",state_name:\"\",country_iso2:\"\",country_name:\"\",city:\"\",line1:\"\",zip:\"\"};if(y){for(const[e,t]of Object.entries(R))R[e]=y[e]||t;g=Object.assign(Object.assign({},g),R)}return Object.assign(Object.assign({},o),{result:g,id_type:f,filepaths:d})}}))},882:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWPROOFSDK=void 0;const o=n(249),i=n(602),s=n(639);t.PWPROOFSDK=class{get sessionId(){return\"\"}uploadDoc(e){return r(this,void 0,void 0,(function*(){const t=e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\";(0,o.validateParams)(e,{front_doc_uri:\"string\",back_doc_uri:\"string\",front_doc_base64:\"string\",back_doc_base64:\"string\",doc_type:\"string\",issuing_country:\"string\"},[t,\"doc_type\",\"issuing_country\"]);const n=yield(0,s.UPLOAD_DOC)(this.sessionId,e),{payload:r}=n.data;return r}))}uploadSelfie(e){return r(this,void 0,void 0,(function*(){const t=e.selfie_uri?\"selfie_uri\":\"selfie_base64\";(0,o.validateParams)(e,{selfie_uri:\"string\",selfie_base64:\"string\",liveness_score:\"number\"},[t]);const{selfie_uri:n,selfie_base64:r,liveness_score:i}=e,a=Object.assign({selfie_uri:n,selfie_base64:r},i&&{metadata:{facial_liveness_score:i.toString()}}),c=yield(0,s.UPLOAD_SELFIE)(this.sessionId,a),{payload:u}=c.data;return u}))}viewResult(){return r(this,void 0,void 0,(function*(){return yield(0,i.viewResult)(this.sessionId)}))}updateForm(e){return r(this,void 0,void 0,(function*(){let t=[\"id_number\",\"date_of_birth\",\"line1\",\"city\",\"zip\",\"state_iso\",\"country_iso2\"];if(e.given_name||e.surname?(t.push(\"surname\"),t.push(\"given_name\")):t.push(\"full_name\"),(0,o.validateParams)(e,{full_name:\"string\",given_name:\"string\",surname:\"string\",id_number:\"string\",date_of_birth:\"string\",line1:\"string\",city:\"string\",zip:\"string\",state_iso:\"string\",country_iso2:\"string\"},t),(0,o.validateLength)(\"full_name\",e.full_name,0,1,160),(0,o.validateLength)(\"given_name\",e.given_name,0,1,70),(0,o.validateLength)(\"surname\",e.surname,0,1,70),(0,o.validateLength)(\"id_number\",e.id_number,0,1,40),(0,o.validateLength)(\"date_of_birth\",e.date_of_birth,0,1,10),(0,o.validateLength)(\"line1\",e.line1,0,1,350),(0,o.validateLength)(\"city\",e.city,0,1,70),(0,o.validateLength)(\"state_iso\",e.state_iso,0,1,9),(0,o.validateLength)(\"address\",e.zip,0,1,40),(0,o.validateLength)(\"country_iso2\",e.country_iso2,2),e.date_of_birth){const t=/^\\d{4}-\\d{2}-\\d{2}$/;(0,o.validateRegex)(\"date_of_birth\",e.date_of_birth,\"YYYY-MM-DD\",t)}const n=yield(0,s.UPDATE_FORM)(this.sessionId,{feedback_params:e}),{payload:r}=n.data;return r}))}}},218:(e,t,n)=>{function r(e,t){return function(){return e.apply(t,arguments)}}const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(a=Object.create(null),e=>{const t=o.call(e);return a[t]||(a[t]=t.slice(8,-1).toLowerCase())});var a;const c=e=>(e=e.toLowerCase(),t=>s(t)===e),u=e=>t=>typeof t===e,{isArray:l}=Array,d=u(\"undefined\"),f=c(\"ArrayBuffer\"),h=u(\"string\"),p=u(\"function\"),E=u(\"number\"),_=e=>null!==e&&\"object\"==typeof e,m=e=>{if(\"object\"!==s(e))return!1;const t=i(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},O=c(\"Date\"),y=c(\"File\"),g=c(\"Blob\"),R=c(\"FileList\"),D=c(\"URLSearchParams\");function A(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if(\"object\"!=typeof e&&(e=[e]),l(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),i=o.length;let s;for(r=0;r<i;r++)s=o[r],t.call(null,e[s],s,e)}}function T(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const S=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:n.g,v=e=>!d(e)&&e!==S,b=(C=\"undefined\"!=typeof Uint8Array&&i(Uint8Array),e=>C&&e instanceof C);var C;const w=c(\"HTMLFormElement\"),I=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),P=c(\"RegExp\"),N=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};A(n,((n,o)=>{!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},M=\"abcdefghijklmnopqrstuvwxyz\",L=\"0123456789\",U={DIGIT:L,ALPHA:M,ALPHA_DIGIT:M+M.toUpperCase()+L},x=c(\"AsyncFunction\");var j={isArray:l,isArrayBuffer:f,isBuffer:function(e){return null!==e&&!d(e)&&null!==e.constructor&&!d(e.constructor)&&p(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&(\"function\"==typeof FormData&&e instanceof FormData||p(e.append)&&(\"formdata\"===(t=s(e))||\"object\"===t&&p(e.toString)&&\"[object FormData]\"===e.toString()))},isArrayBufferView:function(e){let t;return t=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&f(e.buffer),t},isString:h,isNumber:E,isBoolean:e=>!0===e||!1===e,isObject:_,isPlainObject:m,isUndefined:d,isDate:O,isFile:y,isBlob:g,isRegExp:P,isFunction:p,isStream:e=>_(e)&&p(e.pipe),isURLSearchParams:D,isTypedArray:b,isFileList:R,forEach:A,merge:function e(){const{caseless:t}=v(this)&&this||{},n={},r=(r,o)=>{const i=t&&T(n,o)||o;m(n[i])&&m(r)?n[i]=e(n[i],r):m(r)?n[i]=e({},r):l(r)?n[i]=r.slice():n[i]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&A(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:o}={})=>(A(t,((t,o)=>{n&&p(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),trim:e=>e.trim?e.trim():e.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\"),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,\"super\",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:c,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(l(e))return e;let t=e.length;if(!E(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:w,hasOwnProperty:I,hasOwnProp:I,reduceDescriptors:N,freezeMethods:e=>{N(e,((t,n)=>{if(p(e)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;const r=e[n];p(r)&&(t.enumerable=!1,\"writable\"in t?t.writable=!1:t.set||(t.set=()=>{throw Error(\"Can not rewrite read-only method '\"+n+\"'\")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return l(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:T,global:S,isContextDefined:v,ALPHABET:U,generateString:(e=16,t=U.ALPHA_DIGIT)=>{let n=\"\";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&p(e.append)&&\"FormData\"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(_(e)){if(t.indexOf(e)>=0)return;if(!(\"toJSON\"in e)){t[r]=e;const o=l(e)?[]:{};return A(e,((e,t)=>{const i=n(e,r+1);!d(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:x,isThenable:e=>e&&(_(e)||p(e))&&p(e.then)&&p(e.catch)};function F(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name=\"AxiosError\",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}j.inherits(F,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:j.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const k=F.prototype,B={};function V(e){return j.isPlainObject(e)||j.isArray(e)}function G(e){return j.endsWith(e,\"[]\")?e.slice(0,-2):e}function W(e,t,n){return e?e.concat(t).map((function(e,t){return e=G(e),!n&&t?\"[\"+e+\"]\":e})).join(n?\".\":\"\"):t}[\"ERR_BAD_OPTION_VALUE\",\"ERR_BAD_OPTION\",\"ECONNABORTED\",\"ETIMEDOUT\",\"ERR_NETWORK\",\"ERR_FR_TOO_MANY_REDIRECTS\",\"ERR_DEPRECATED\",\"ERR_BAD_RESPONSE\",\"ERR_BAD_REQUEST\",\"ERR_CANCELED\",\"ERR_NOT_SUPPORT\",\"ERR_INVALID_URL\"].forEach((e=>{B[e]={value:e}})),Object.defineProperties(F,B),Object.defineProperty(k,\"isAxiosError\",{value:!0}),F.from=(e,t,n,r,o,i)=>{const s=Object.create(k);return j.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>\"isAxiosError\"!==e)),F.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const H=j.toFlatObject(j,{},null,(function(e){return/^is[A-Z]/.test(e)}));function q(e,t,n){if(!j.isObject(e))throw new TypeError(\"target must be an object\");t=t||new FormData;const r=(n=j.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!j.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,a=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&j.isSpecCompliantForm(t);if(!j.isFunction(o))throw new TypeError(\"visitor must be a function\");function c(e){if(null===e)return\"\";if(j.isDate(e))return e.toISOString();if(!a&&j.isBlob(e))throw new F(\"Blob is not supported. Use a Buffer instead.\");return j.isArrayBuffer(e)||j.isTypedArray(e)?a&&\"function\"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let a=e;if(e&&!o&&\"object\"==typeof e)if(j.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(j.isArray(e)&&function(e){return j.isArray(e)&&!e.some(V)}(e)||(j.isFileList(e)||j.endsWith(n,\"[]\"))&&(a=j.toArray(e)))return n=G(n),a.forEach((function(e,r){!j.isUndefined(e)&&null!==e&&t.append(!0===s?W([n],r,i):null===s?n:n+\"[]\",c(e))})),!1;return!!V(e)||(t.append(W(o,n,i),c(e)),!1)}const l=[],d=Object.assign(H,{defaultVisitor:u,convertValue:c,isVisitable:V});if(!j.isObject(e))throw new TypeError(\"data must be an object\");return function e(n,r){if(!j.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),j.forEach(n,(function(n,i){!0===(!(j.isUndefined(n)||null===n)&&o.call(t,n,j.isString(i)?i.trim():i,r,d))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t}function X(e){const t={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function K(e,t){this._pairs=[],e&&q(e,this,t)}const z=K.prototype;function Y(e){return encodeURIComponent(e).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function $(e,t,n){if(!t)return e;const r=n&&n.encode||Y,o=n&&n.serialize;let i;if(i=o?o(t,n):j.isURLSearchParams(t)?t.toString():new K(t,n).toString(r),i){const t=e.indexOf(\"#\");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf(\"?\")?\"?\":\"&\")+i}return e}z.append=function(e,t){this._pairs.push([e,t])},z.toString=function(e){const t=e?function(t){return e.call(this,t,X)}:X;return this._pairs.map((function(e){return t(e[0])+\"=\"+t(e[1])}),\"\").join(\"&\")};var J=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){j.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Q={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Z={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:K,FormData:\"undefined\"!=typeof FormData?FormData:null,Blob:\"undefined\"!=typeof Blob?Blob:null},isStandardBrowserEnv:(()=>{let e;return(\"undefined\"==typeof navigator||\"ReactNative\"!==(e=navigator.product)&&\"NativeScript\"!==e&&\"NS\"!==e)&&\"undefined\"!=typeof window&&\"undefined\"!=typeof document})(),isStandardBrowserWebWorkerEnv:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&\"function\"==typeof self.importScripts,protocols:[\"http\",\"https\",\"file\",\"blob\",\"url\",\"data\"]};function ee(e){function t(e,n,r,o){let i=e[o++];const s=Number.isFinite(+i),a=o>=e.length;return i=!i&&j.isArray(r)?r.length:i,a?(j.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s):(r[i]&&j.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&j.isArray(r[i])&&(r[i]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],t[i]=e[i];return t}(r[i])),!s)}if(j.isFormData(e)&&j.isFunction(e.entries)){const n={};return j.forEachEntry(e,((e,r)=>{t(function(e){return j.matchAll(/\\w+|\\[(\\w*)]/g,e).map((e=>\"[]\"===e[0]?\"\":e[1]||e[0]))}(e),r,n,0)})),n}return null}const te={\"Content-Type\":void 0},ne={transitional:Q,adapter:[\"xhr\",\"http\"],transformRequest:[function(e,t){const n=t.getContentType()||\"\",r=n.indexOf(\"application/json\")>-1,o=j.isObject(e);if(o&&j.isHTMLForm(e)&&(e=new FormData(e)),j.isFormData(e))return r&&r?JSON.stringify(ee(e)):e;if(j.isArrayBuffer(e)||j.isBuffer(e)||j.isStream(e)||j.isFile(e)||j.isBlob(e))return e;if(j.isArrayBufferView(e))return e.buffer;if(j.isURLSearchParams(e))return t.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),e.toString();let i;if(o){if(n.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(e,t){return q(e,new Z.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Z.isNode&&j.isBuffer(e)?(this.append(t,e.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=j.isFileList(e))||n.indexOf(\"multipart/form-data\")>-1){const t=this.env&&this.env.FormData;return q(i?{\"files[]\":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType(\"application/json\",!1),function(e,t,n){if(j.isString(e))try{return(0,JSON.parse)(e),j.trim(e)}catch(e){if(\"SyntaxError\"!==e.name)throw e}return(0,JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||ne.transitional,n=t&&t.forcedJSONParsing,r=\"json\"===this.responseType;if(e&&j.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if(\"SyntaxError\"===e.name)throw F.from(e,F.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Z.classes.FormData,Blob:Z.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};j.forEach([\"delete\",\"get\",\"head\"],(function(e){ne.headers[e]={}})),j.forEach([\"post\",\"put\",\"patch\"],(function(e){ne.headers[e]=j.merge(te)}));var re=ne;const oe=j.toObjectSet([\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"]),ie=Symbol(\"internals\");function se(e){return e&&String(e).trim().toLowerCase()}function ae(e){return!1===e||null==e?e:j.isArray(e)?e.map(ae):String(e)}function ce(e,t,n,r,o){return j.isFunction(r)?r.call(this,t,n):(o&&(t=n),j.isString(t)?j.isString(r)?-1!==t.indexOf(r):j.isRegExp(r)?r.test(t):void 0:void 0)}class ue{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=se(t);if(!o)throw new Error(\"header name must be a non-empty string\");const i=j.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=ae(e))}const i=(e,t)=>j.forEach(e,((e,n)=>o(e,n,t)));return j.isPlainObject(e)||e instanceof this.constructor?i(e,t):j.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?i((e=>{const t={};let n,r,o;return e&&e.split(\"\\n\").forEach((function(e){o=e.indexOf(\":\"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&oe[n]||(\"set-cookie\"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+\", \"+r:r)})),t})(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=se(e)){const n=j.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(j.isFunction(t))return t.call(this,e,n);if(j.isRegExp(t))return t.exec(e);throw new TypeError(\"parser must be boolean|regexp|function\")}}}has(e,t){if(e=se(e)){const n=j.findKey(this,e);return!(!n||void 0===this[n]||t&&!ce(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=se(e)){const o=j.findKey(n,e);!o||t&&!ce(0,n[o],o,t)||(delete n[o],r=!0)}}return j.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!ce(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return j.forEach(this,((r,o)=>{const i=j.findKey(n,o);if(i)return t[i]=ae(r),void delete t[o];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();s!==o&&delete t[o],t[s]=ae(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return j.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&j.isArray(n)?n.join(\", \"):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+\": \"+t)).join(\"\\n\")}get[Symbol.toStringTag](){return\"AxiosHeaders\"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[ie]=this[ie]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=j.toCamelCase(\" \"+t);[\"get\",\"set\",\"has\"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return j.isArray(e)?e.forEach(r):r(e),this}}ue.accessor([\"Content-Type\",\"Content-Length\",\"Accept\",\"Accept-Encoding\",\"User-Agent\",\"Authorization\"]),j.freezeMethods(ue.prototype),j.freezeMethods(ue);var le=ue;function de(e,t){const n=this||re,r=t||n,o=le.from(r.headers);let i=r.data;return j.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function fe(e){return!(!e||!e.__CANCEL__)}function he(e,t,n){F.call(this,null==e?\"canceled\":e,F.ERR_CANCELED,t,n),this.name=\"CanceledError\"}j.inherits(he,F,{__CANCEL__:!0});var pe=Z.isStandardBrowserEnv?{write:function(e,t,n,r,o,i){const s=[];s.push(e+\"=\"+encodeURIComponent(t)),j.isNumber(n)&&s.push(\"expires=\"+new Date(n).toGMTString()),j.isString(r)&&s.push(\"path=\"+r),j.isString(o)&&s.push(\"domain=\"+o),!0===i&&s.push(\"secure\"),document.cookie=s.join(\"; \")},read:function(e){const t=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+e+\")=([^;]*)\"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function Ee(e,t){return e&&!/^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(t)?function(e,t){return t?e.replace(/\\/+$/,\"\")+\"/\"+t.replace(/^\\/+/,\"\"):e}(e,t):t}var _e=Z.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement(\"a\");let n;function r(n){let r=n;return e&&(t.setAttribute(\"href\",r),r=t.href),t.setAttribute(\"href\",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,\"\"):\"\",host:t.host,search:t.search?t.search.replace(/^\\?/,\"\"):\"\",hash:t.hash?t.hash.replace(/^#/,\"\"):\"\",hostname:t.hostname,port:t.port,pathname:\"/\"===t.pathname.charAt(0)?t.pathname:\"/\"+t.pathname}}return n=r(window.location.href),function(e){const t=j.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function me(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,d=0;for(;l!==i;)d+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o<t)return;const f=u&&c-u;return f?Math.round(1e3*d/f):void 0}}(50,250);return o=>{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a);n=i;const u={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&i<=s?(s-i)/c:void 0,event:o};u[t?\"download\":\"upload\"]=!0,e(u)}}const Oe={http:null,xhr:\"undefined\"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const o=le.from(e.headers).normalize(),i=e.responseType;let s;function a(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener(\"abort\",s)}j.isFormData(r)&&(Z.isStandardBrowserEnv||Z.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.setContentType(\"multipart/form-data;\",!1));let c=new XMLHttpRequest;if(e.auth){const t=e.auth.username||\"\",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):\"\";o.set(\"Authorization\",\"Basic \"+btoa(t+\":\"+n))}const u=Ee(e.baseURL,e.url);function l(){if(!c)return;const r=le.from(\"getAllResponseHeaders\"in c&&c.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new F(\"Request failed with status code \"+n.status,[F.ERR_BAD_REQUEST,F.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),a()}),(function(e){n(e),a()}),{data:i&&\"text\"!==i&&\"json\"!==i?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),$(u,e.params,e.paramsSerializer),!0),c.timeout=e.timeout,\"onloadend\"in c?c.onloadend=l:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf(\"file:\"))&&setTimeout(l)},c.onabort=function(){c&&(n(new F(\"Request aborted\",F.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new F(\"Network Error\",F.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let t=e.timeout?\"timeout of \"+e.timeout+\"ms exceeded\":\"timeout exceeded\";const r=e.transitional||Q;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new F(t,r.clarifyTimeoutError?F.ETIMEDOUT:F.ECONNABORTED,e,c)),c=null},Z.isStandardBrowserEnv){const t=(e.withCredentials||_e(u))&&e.xsrfCookieName&&pe.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),\"setRequestHeader\"in c&&j.forEach(o.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),j.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),i&&\"json\"!==i&&(c.responseType=e.responseType),\"function\"==typeof e.onDownloadProgress&&c.addEventListener(\"progress\",me(e.onDownloadProgress,!0)),\"function\"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener(\"progress\",me(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{c&&(n(!t||t.type?new he(null,e,c):t),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener(\"abort\",s)));const d=function(e){const t=/^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(e);return t&&t[1]||\"\"}(u);d&&-1===Z.protocols.indexOf(d)?n(new F(\"Unsupported protocol \"+d+\":\",F.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};j.forEach(Oe,((e,t)=>{if(e){try{Object.defineProperty(e,\"name\",{value:t})}catch(e){}Object.defineProperty(e,\"adapterName\",{value:t})}}));function ye(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new he(null,e)}function ge(e){return ye(e),e.headers=le.from(e.headers),e.data=de.call(e,e.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(e.method)&&e.headers.setContentType(\"application/x-www-form-urlencoded\",!1),(e=>{e=j.isArray(e)?e:[e];const{length:t}=e;let n,r;for(let o=0;o<t&&(n=e[o],!(r=j.isString(n)?Oe[n.toLowerCase()]:n));o++);if(!r){if(!1===r)throw new F(`Adapter ${n} is not supported by the environment`,\"ERR_NOT_SUPPORT\");throw new Error(j.hasOwnProp(Oe,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`)}if(!j.isFunction(r))throw new TypeError(\"adapter is not a function\");return r})(e.adapter||re.adapter)(e).then((function(t){return ye(e),t.data=de.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return fe(t)||(ye(e),t&&t.response&&(t.response.data=de.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const Re=e=>e instanceof le?e.toJSON():e;function De(e,t){t=t||{};const n={};function r(e,t,n){return j.isPlainObject(e)&&j.isPlainObject(t)?j.merge.call({caseless:n},e,t):j.isPlainObject(t)?j.merge({},t):j.isArray(t)?t.slice():t}function o(e,t,n){return j.isUndefined(t)?j.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!j.isUndefined(t))return r(void 0,t)}function s(e,t){return j.isUndefined(t)?j.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Re(e),Re(t),!0)};return j.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);j.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Ae={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach(((e,t)=>{Ae[e]=function(n){return typeof n===e||\"a\"+(t<1?\"n \":\" \")+e}}));const Te={};Ae.transitional=function(e,t,n){function r(e,t){return\"[Axios v1.4.0] Transitional option '\"+e+\"'\"+t+(n?\". \"+n:\"\")}return(n,o,i)=>{if(!1===e)throw new F(r(o,\" has been removed\"+(t?\" in \"+t:\"\")),F.ERR_DEPRECATED);return t&&!Te[o]&&(Te[o]=!0,console.warn(r(o,\" has been deprecated since v\"+t+\" and will be removed in the near future\"))),!e||e(n,o,i)}};var Se={assertOptions:function(e,t,n){if(\"object\"!=typeof e)throw new F(\"options must be an object\",F.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new F(\"option \"+i+\" must be \"+n,F.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new F(\"Unknown option \"+i,F.ERR_BAD_OPTION)}},validators:Ae};const ve=Se.validators;class be{constructor(e){this.defaults=e,this.interceptors={request:new J,response:new J}}request(e,t){\"string\"==typeof e?(t=t||{}).url=e:t=e||{},t=De(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;let i;void 0!==n&&Se.assertOptions(n,{silentJSONParsing:ve.transitional(ve.boolean),forcedJSONParsing:ve.transitional(ve.boolean),clarifyTimeoutError:ve.transitional(ve.boolean)},!1),null!=r&&(j.isFunction(r)?t.paramsSerializer={serialize:r}:Se.assertOptions(r,{encode:ve.function,serialize:ve.function},!0)),t.method=(t.method||this.defaults.method||\"get\").toLowerCase(),i=o&&j.merge(o.common,o[t.method]),i&&j.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(e=>{delete o[e]})),t.headers=le.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){\"function\"==typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,d=0;if(!a){const e=[ge.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);d<l;)u=u.then(e[d++],e[d++]);return u}l=s.length;let f=t;for(d=0;d<l;){const e=s[d++],t=s[d++];try{f=e(f)}catch(e){t.call(this,e);break}}try{u=ge.call(this,f)}catch(e){return Promise.reject(e)}for(d=0,l=c.length;d<l;)u=u.then(c[d++],c[d++]);return u}getUri(e){return $(Ee((e=De(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}j.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){be.prototype[e]=function(t,n){return this.request(De(n||{},{method:e,url:t,data:(n||{}).data}))}})),j.forEach([\"post\",\"put\",\"patch\"],(function(e){function t(t){return function(n,r,o){return this.request(De(o||{},{method:e,headers:t?{\"Content-Type\":\"multipart/form-data\"}:{},url:n,data:r}))}}be.prototype[e]=t(),be.prototype[e+\"Form\"]=t(!0)}));var Ce=be;class we{constructor(e){if(\"function\"!=typeof e)throw new TypeError(\"executor must be a function.\");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new he(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;return{token:new we((function(t){e=t})),cancel:e}}}var Ie=we;const Pe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Pe).forEach((([e,t])=>{Pe[t]=e}));var Ne=Pe;const Me=function e(t){const n=new Ce(t),o=r(Ce.prototype.request,n);return j.extend(o,Ce.prototype,n,{allOwnKeys:!0}),j.extend(o,n,null,{allOwnKeys:!0}),o.create=function(n){return e(De(t,n))},o}(re);Me.Axios=Ce,Me.CanceledError=he,Me.CancelToken=Ie,Me.isCancel=fe,Me.VERSION=\"1.4.0\",Me.toFormData=q,Me.AxiosError=F,Me.Cancel=Me.CanceledError,Me.all=function(e){return Promise.all(e)},Me.spread=function(e){return function(t){return e.apply(null,t)}},Me.isAxiosError=function(e){return j.isObject(e)&&!0===e.isAxiosError},Me.mergeConfig=De,Me.AxiosHeaders=le,Me.formToJSON=e=>ee(j.isHTMLForm(e)?new FormData(e):e),Me.HttpStatusCode=Ne,Me.default=Me,e.exports=Me}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r=n(607);return r.default})()));\n\n//# sourceURL=webpack://PWUISDK/./node_modules/pipwave-ekyc-sdk/dist/pw-bundle.js?");
|
|
3389
3389
|
|
|
3390
3390
|
/***/ }),
|
|
3391
3391
|
|
|
@@ -3470,10 +3470,10 @@ eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElem
|
|
|
3470
3470
|
/*!*********************************!*\
|
|
3471
3471
|
!*** ./src/classes/MainPage.ts ***!
|
|
3472
3472
|
\*********************************/
|
|
3473
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__)
|
|
3473
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3474
3474
|
|
|
3475
3475
|
"use strict";
|
|
3476
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.displayMode = exports.mainScreenId = void 0;\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass MainPage {\n get mainScreenId() {\n return exports.mainScreenId;\n }\n get displayMode() {\n return exports.displayMode;\n }\n set mainScreenId(value) {\n exports.mainScreenId = value;\n }\n set displayMode(value) {\n exports.displayMode = value;\n }\n constructor(mainScreenId, displayMode) {\n this.mainScreenId = mainScreenId;\n this.displayMode = displayMode;\n }\n renderLoadingScreen() {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\");\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\");\n const spinner = (0, components_1.createSpinner)(4, \"grey-5\", 8);\n this.overlayContent.appendChild(spinner);\n this.overlayElement.appendChild(this.overlayContent);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(this.overlayElement);\n }\n updateOverlayContent(content) {\n var _a, _b;\n (_a = this.overlayContent) === null || _a === void 0 ? void 0 : _a.remove();\n this.overlayContent = content;\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.appendChild(this.overlayContent);\n }\n removeOverlayElement() {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.remove();\n }\n proceedNextMainstep(nextStep) { }\n closeMainPage() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"close:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n }\n renderContent(content) {\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(content);\n }\n clearScreen() {\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.replaceChildren();\n }\n finishEkyc() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"finish:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n }\n openImageFullScreen(img, watermarkText) {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-bg-opacity-90\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\", \"pw-transition-all\", \"pw-duration-500\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeIcon.classList.add(\"pw-absolute\", \"pw-top-5\", \"pw-right-5\");\n closeIcon.addEventListener(\"click\", () => {\n this.removeOverlayElement();\n });\n this.overlayElement.appendChild(closeIcon);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1\", \"pw-right-1\", \"pw-top-1/3\", \"pw-text-white\");\n const imageDiv = document.createElement(\"div\");\n imageDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\", \"pw-overflow-hidden\");\n const image = document.createElement(\"img\");\n image.classList.add(\"pw-w-full\");\n image.setAttribute(\"src\", img);\n if (watermarkText && watermarkText.trim() !== \"\") {\n const imgWatermark = document.createElement(\"div\");\n imgWatermark.classList.add(\"pw-watermark\");\n imgWatermark.innerHTML = watermarkText;\n imageDiv.appendChild(imgWatermark);\n }\n imageDiv.appendChild(image);\n this.overlayContent.appendChild(imageDiv);\n this.overlayElement.appendChild(this.overlayContent);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(this.overlayElement);\n // this.overlayElement.classList.add(\"pw-bg-opacity-80\");\n }\n openErrorPage() {\n this.clearScreen();\n const errorDiv = document.createElement(\"div\");\n errorDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const contentDiv = document.createElement(\"div\");\n errorDiv.appendChild(contentDiv);\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n const closeButton = document.createElement(\"div\");\n closeButton.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n contentDiv.appendChild(navigationDiv);\n const errorContainer = document.createElement(\"div\");\n errorContainer.classList.add(\"pw-relative\", \"pw-h-full\");\n const errorContentDiv = document.createElement(\"div\");\n errorContentDiv.classList.add(\"pw-absolute\", \"pw-top-1/3\", \"pw-text-center\", \"-pw-translate-y-1/3\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n errorContentDiv.appendChild(warningIcon);\n const errorTitle = document.createElement(\"div\");\n errorTitle.classList.add(\"pw-text-xl\", \"pw-mb-4\");\n errorTitle.innerHTML = \"Something went wrong\";\n errorContentDiv.appendChild(errorTitle);\n const errorDescription = document.createElement(\"div\");\n errorDescription.innerHTML =\n \"Please contact customer support for assistance or retry.\";\n errorContentDiv.appendChild(errorDescription);\n errorContainer.appendChild(errorContentDiv);\n errorDiv.appendChild(errorContainer);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(errorDiv);\n }\n}\nexports[\"default\"] = MainPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/classes/MainPage.ts?");
|
|
3476
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.displayMode = exports.mainScreenId = void 0;\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass MainPage {\n get mainScreenId() {\n return exports.mainScreenId;\n }\n get displayMode() {\n return exports.displayMode;\n }\n set mainScreenId(value) {\n exports.mainScreenId = value;\n }\n set displayMode(value) {\n exports.displayMode = value;\n }\n constructor(mainScreenId, displayMode) {\n this.mainScreenId = mainScreenId;\n this.displayMode = displayMode;\n }\n renderLoadingScreen() {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\");\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\");\n const spinner = (0, components_1.createSpinner)(4, \"grey-5\", 8);\n this.overlayContent.appendChild(spinner);\n this.overlayElement.appendChild(this.overlayContent);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(this.overlayElement);\n }\n updateOverlayContent(content) {\n var _a, _b;\n (_a = this.overlayContent) === null || _a === void 0 ? void 0 : _a.remove();\n this.overlayContent = content;\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.appendChild(this.overlayContent);\n }\n removeOverlayElement() {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.remove();\n }\n proceedNextMainstep(nextStep) { }\n closeMainPage() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"close:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n }\n renderContent(content) {\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(content);\n }\n clearScreen() {\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.replaceChildren();\n }\n finishEkyc() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"finish:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n }\n openImageFullScreen(img, watermarkText) {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-bg-opacity-90\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\", \"pw-transition-all\", \"pw-duration-500\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeIcon.classList.add(\"pw-absolute\", \"pw-top-5\", \"pw-right-5\");\n closeIcon.addEventListener(\"click\", () => {\n this.removeOverlayElement();\n });\n this.overlayElement.appendChild(closeIcon);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1\", \"pw-right-1\", \"pw-top-1/3\", \"pw-text-white\");\n const imageDiv = document.createElement(\"div\");\n imageDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\", \"pw-overflow-hidden\");\n const image = document.createElement(\"img\");\n image.classList.add(\"pw-w-full\");\n image.setAttribute(\"src\", img);\n if (watermarkText && watermarkText.trim() !== \"\") {\n const imgWatermark = document.createElement(\"div\");\n imgWatermark.classList.add(\"pw-watermark\");\n imgWatermark.innerHTML = watermarkText;\n imageDiv.appendChild(imgWatermark);\n }\n imageDiv.appendChild(image);\n this.overlayContent.appendChild(imageDiv);\n this.overlayElement.appendChild(this.overlayContent);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(this.overlayElement);\n // this.overlayElement.classList.add(\"pw-bg-opacity-80\");\n }\n openErrorPage(title, description) {\n this.clearScreen();\n const errorDiv = document.createElement(\"div\");\n errorDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const contentDiv = document.createElement(\"div\");\n errorDiv.appendChild(contentDiv);\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n const closeButton = document.createElement(\"div\");\n closeButton.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.appendChild(closeIcon);\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n navigationDiv.appendChild(closeButton);\n contentDiv.appendChild(navigationDiv);\n const errorContainer = document.createElement(\"div\");\n errorContainer.classList.add(\"pw-relative\", \"pw-h-full\");\n const errorContentDiv = document.createElement(\"div\");\n errorContentDiv.classList.add(\"pw-absolute\", \"pw-top-1/3\", \"pw-text-center\", \"-pw-translate-y-1/3\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n errorContentDiv.appendChild(warningIcon);\n const errorTitle = document.createElement(\"div\");\n errorTitle.classList.add(\"pw-text-xl\", \"pw-mb-4\");\n errorTitle.innerHTML = title || \"Something went wrong\";\n errorContentDiv.appendChild(errorTitle);\n const errorDescription = document.createElement(\"div\");\n errorDescription.innerHTML =\n description || \"Please contact customer support for assistance or retry.\";\n errorContentDiv.appendChild(errorDescription);\n errorContainer.appendChild(errorContentDiv);\n const footerDiv = document.createElement(\"div\");\n const footerSlot = document.createElement(\"slot\");\n footerSlot.classList.add(\"pw-mt-5\");\n footerSlot.name = \"footer\";\n footerDiv.appendChild(footerSlot);\n const footer = new footer_1.default().render();\n footerDiv.appendChild(footer);\n errorDiv.appendChild(errorContainer);\n errorDiv.appendChild(footerDiv);\n const screen = document.getElementById(this.mainScreenId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(errorDiv);\n return errorDiv;\n }\n}\nexports[\"default\"] = MainPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/classes/MainPage.ts?");
|
|
3477
3477
|
|
|
3478
3478
|
/***/ }),
|
|
3479
3479
|
|
|
@@ -3495,7 +3495,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3495
3495
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3496
3496
|
|
|
3497
3497
|
"use strict";
|
|
3498
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hideFullLoading = exports.createFullLoading = exports.createSecondaryButton = exports.createTextInput = exports.createPrimaryButton = exports.createSpinner = exports.createOutlineButton = void 0;\nfunction createPrimaryButton(label) {\n const primaryButton = document.createElement(\"button\");\n primaryButton.setAttribute(\"type\", \"button\");\n primaryButton.classList.add(\"pw-w-full\", \"pw-h-14\", \"pw-border-none\", \"pw-text-center\", \"pw-rounded-[2.5rem]\", \"pw-bg-primary\", \"pw-text-white\", \"pw-cursor-pointer\", \"pw-text-base\", \"pw-drop-shadow-[0_4px_8px_rgba(200,123,221,0.60)]\");\n primaryButton.innerHTML = label;\n return primaryButton;\n}\nexports.createPrimaryButton = createPrimaryButton;\nfunction createSecondaryButton(label) {\n const primaryButton = document.createElement(\"button\");\n primaryButton.setAttribute(\"type\", \"button\");\n primaryButton.classList.add(\"pw-w-full\", \"pw-h-14\", \"pw-text-center\", \"pw-rounded-[2.5rem]\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-bg-white\", \"pw-cursor-pointer\", \"pw-shadow-grey-5\", \"pw-text-base\");\n primaryButton.innerHTML = label;\n return primaryButton;\n}\nexports.createSecondaryButton = createSecondaryButton;\nfunction createOutlineButton(label, icon) {\n const button = document.createElement(\"div\");\n button.classList.add(\"pw-p-4\", \"pw-rounded-lg\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-cursor-pointer\");\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-flex\", \"pw-gap-x-3\", \"pw-items-center\");\n const iconContainer = document.createElement(\"div\");\n const iconImg = document.createElement(\"img\");\n iconImg.setAttribute(\"src\", icon);\n iconContainer.appendChild(iconImg);\n buttonContainer.appendChild(iconContainer);\n const labelContainer = document.createElement(\"div\");\n labelContainer.innerHTML = label;\n buttonContainer.appendChild(labelContainer);\n button.appendChild(buttonContainer);\n return button;\n}\nexports.createOutlineButton = createOutlineButton;\nfunction createTextInput(name, placeholder, isError) {\n const bigDiv = document.createElement(\"div\");\n const textInputDiv = document.createElement(\"div\");\n textInputDiv.classList.add(\"pw-relative\");\n const input = document.createElement(\"input\");\n input.setAttribute(\"name\", name);\n input.setAttribute(\"type\", \"text\");\n input.setAttribute(\"placeholder\", \" \");\n input.classList.add(\"pw-box-border\", \"pw-peer\", \"pw-text-base\", \"pw-w-full\", \"pw-h-14\", \"pw-pt-3\", \"pw-px-4\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\");\n textInputDiv.appendChild(input);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", name);\n inputLabel.classList.add(\"pw-box-border\", \"pw-absolute\", \n // \"pw-text-xs\",\n \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-2/4\", \"-pw-translate-y-2/4\", \"peer-focus:pw-top-3\", \"peer-focus:pw-text-xs\", \"pw-transition-all\", \"pw-duration-200\", \"pw-top-3\", \"pw-text-xs\", \"peer-placeholder-shown:pw-top-2/4\", \"peer-placeholder-shown:-pw-translate-y-2/4\", \"peer-placeholder-shown:pw-text-base\");\n inputLabel.innerHTML = placeholder;\n textInputDiv.appendChild(inputLabel);\n bigDiv.appendChild(textInputDiv);\n if (isError) {\n input.classList.add(\"pw-border-red-500\");\n const inputError = document.createElement(\"div\");\n inputError.classList.add(\"pw-text-red-500\", \"pw-mt-2\", \"pw-ml-2\", \"pw-text-xs\", \"pw-flex\", \"pw-items-center\", \"pw-gap-x-1\");\n inputError.innerHTML = `<span class=\"material-symbols-outlined\" style=\"font-size: 20px;\">\n error\n </span> This field is required`;\n bigDiv.appendChild(inputError);\n }\n return bigDiv;\n}\nexports.createTextInput = createTextInput;\nfunction createSpinner(size = 1.5, color = \"neutral-100\", border = 2) {\n const loadingSpinner = document.createElement(\"div\");\n
|
|
3498
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hideFullLoading = exports.createFullLoading = exports.createSecondaryButton = exports.createTextInput = exports.createPrimaryButton = exports.createSpinner = exports.createOutlineButton = void 0;\nfunction createPrimaryButton(label) {\n const primaryButton = document.createElement(\"button\");\n primaryButton.setAttribute(\"type\", \"button\");\n primaryButton.classList.add(\"pw-w-full\", \"pw-h-14\", \"pw-border-none\", \"pw-text-center\", \"pw-rounded-[2.5rem]\", \"pw-bg-primary\", \"pw-text-white\", \"pw-cursor-pointer\", \"pw-text-base\", \"pw-drop-shadow-[0_4px_8px_rgba(200,123,221,0.60)]\");\n primaryButton.innerHTML = label;\n return primaryButton;\n}\nexports.createPrimaryButton = createPrimaryButton;\nfunction createSecondaryButton(label) {\n const primaryButton = document.createElement(\"button\");\n primaryButton.setAttribute(\"type\", \"button\");\n primaryButton.classList.add(\"pw-w-full\", \"pw-h-14\", \"pw-text-center\", \"pw-rounded-[2.5rem]\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-bg-white\", \"pw-cursor-pointer\", \"pw-shadow-grey-5\", \"pw-text-base\");\n primaryButton.innerHTML = label;\n return primaryButton;\n}\nexports.createSecondaryButton = createSecondaryButton;\nfunction createOutlineButton(label, icon) {\n const button = document.createElement(\"div\");\n button.classList.add(\"pw-p-4\", \"pw-rounded-lg\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-cursor-pointer\");\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-flex\", \"pw-gap-x-3\", \"pw-items-center\");\n const iconContainer = document.createElement(\"div\");\n const iconImg = document.createElement(\"img\");\n iconImg.setAttribute(\"src\", icon);\n iconContainer.appendChild(iconImg);\n buttonContainer.appendChild(iconContainer);\n const labelContainer = document.createElement(\"div\");\n labelContainer.innerHTML = label;\n buttonContainer.appendChild(labelContainer);\n button.appendChild(buttonContainer);\n return button;\n}\nexports.createOutlineButton = createOutlineButton;\nfunction createTextInput(name, placeholder, isError) {\n const bigDiv = document.createElement(\"div\");\n const textInputDiv = document.createElement(\"div\");\n textInputDiv.classList.add(\"pw-relative\");\n const input = document.createElement(\"input\");\n input.setAttribute(\"name\", name);\n input.setAttribute(\"type\", \"text\");\n input.setAttribute(\"placeholder\", \" \");\n input.classList.add(\"pw-box-border\", \"pw-peer\", \"pw-text-base\", \"pw-w-full\", \"pw-h-14\", \"pw-pt-3\", \"pw-px-4\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\");\n textInputDiv.appendChild(input);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", name);\n inputLabel.classList.add(\"pw-box-border\", \"pw-absolute\", \n // \"pw-text-xs\",\n \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-2/4\", \"-pw-translate-y-2/4\", \"peer-focus:pw-top-3\", \"peer-focus:pw-text-xs\", \"pw-transition-all\", \"pw-duration-200\", \"pw-top-3\", \"pw-text-xs\", \"peer-placeholder-shown:pw-top-2/4\", \"peer-placeholder-shown:-pw-translate-y-2/4\", \"peer-placeholder-shown:pw-text-base\");\n inputLabel.innerHTML = placeholder;\n textInputDiv.appendChild(inputLabel);\n bigDiv.appendChild(textInputDiv);\n if (isError) {\n input.classList.add(\"pw-border-red-500\");\n const inputError = document.createElement(\"div\");\n inputError.classList.add(\"pw-text-red-500\", \"pw-mt-2\", \"pw-ml-2\", \"pw-text-xs\", \"pw-flex\", \"pw-items-center\", \"pw-gap-x-1\");\n inputError.innerHTML = `<span class=\"material-symbols-outlined\" style=\"font-size: 20px;\">\n error\n </span> This field is required`;\n bigDiv.appendChild(inputError);\n }\n return bigDiv;\n}\nexports.createTextInput = createTextInput;\nfunction createSpinner(size = 1.5, color = \"neutral-100\", border = 2) {\n const loadingSpinner = document.createElement(\"div\");\n loadingSpinner.classList.add(\"pw-inline-block\", `pw-text-${color}`, \"pw-animate-spin\", \"pw-rounded-full\", \"pw-border-solid\", \"pw-border-current\", \"pw-border-r-transparent\", \"pw-align-[-0.125em]\", \"pw-motion-reduce:animate-[spin_1.5s_linear_infinite]\");\n loadingSpinner.style.width = `${size}rem`;\n loadingSpinner.style.height = `${size}rem`;\n loadingSpinner.style.borderWidth = `${border}px`;\n loadingSpinner.setAttribute(\"role\", \"status\");\n const loadingSpinnerSpan = document.createElement(\"span\");\n loadingSpinnerSpan.classList.add(\"!pw-absolute\", \"!-m-px\", \"!pw-h-px\", \"!pw-w-px\", \"!pw-overflow-hidden\", \"!pw-whitespace-nowrap\", \"!pw-border-0\", \"!pw-p-0\", \"![clip:pw-rect(0,0,0,0)]\");\n loadingSpinnerSpan.innerHTML = \"Loading...\";\n loadingSpinner.appendChild(loadingSpinnerSpan);\n return loadingSpinner;\n}\nexports.createSpinner = createSpinner;\nfunction createFullLoading(modalId, text) {\n const page = document.getElementById(modalId);\n if (!page)\n return;\n let loadingDiv = document.getElementById(`${modalId}loadingPage`);\n if (loadingDiv) {\n loadingDiv.classList.remove(\"pw-hidden\");\n let loadingText = loadingDiv.querySelector(\"[data-value=loadingText]\");\n if (loadingText && text) {\n loadingText.classList.remove(\"pw-hidden\");\n loadingText.innerHTML = text;\n }\n else if (loadingText && !text) {\n loadingText.classList.add(\"pw-hidden\");\n loadingText.innerHTML = \"\";\n }\n return;\n }\n loadingDiv = document.createElement(\"div\");\n loadingDiv.id = `${modalId}loadingPage`;\n loadingDiv.style.zIndex = \"9999\";\n loadingDiv.style.top = \"1.25rem\";\n loadingDiv.style.left = \"1rem\";\n loadingDiv.classList.add(\"pw-absolute\", \"pw-flex\", \"pw-items-center\", \"pw-justify-center\", \"pw-w-[calc(100%-2*1.25rem)]\", \"pw-h-[calc(100%-2*1rem)]\");\n const loadingContainer = document.createElement(\"div\");\n loadingContainer.classList.add(\"pw-flex-col\", \"pw-items-center\", \"pw-justify-center\");\n const loadingSpinnerContainer = document.createElement(\"div\");\n loadingSpinnerContainer.classList.add(\"pw-flex\", \"pw-items-center\", \"pw-justify-center\");\n const loadingSpinner = createSpinner(3, \"primary\", 5);\n loadingSpinnerContainer.appendChild(loadingSpinner);\n loadingContainer.appendChild(loadingSpinnerContainer);\n const loadingText = document.createElement(\"div\");\n loadingText.dataset.value = \"loadingText\";\n loadingText.classList.add(\"pw-text-white\", \"pw-text-lg\", \"pw-mt-4\");\n loadingText.innerHTML = text || \"\";\n loadingContainer.appendChild(loadingText);\n if (!text)\n loadingDiv.classList.add(\"pw-hidden\");\n loadingDiv.appendChild(loadingContainer);\n page.appendChild(loadingDiv);\n}\nexports.createFullLoading = createFullLoading;\nfunction hideFullLoading(modalId) {\n let loadingDiv = document.getElementById(`${modalId}loadingPage`);\n if (!loadingDiv)\n return;\n loadingDiv.classList.add(\"pw-hidden\");\n}\nexports.hideFullLoading = hideFullLoading;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/components.ts?");
|
|
3499
3499
|
|
|
3500
3500
|
/***/ }),
|
|
3501
3501
|
|
|
@@ -3561,7 +3561,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nclas
|
|
|
3561
3561
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3562
3562
|
|
|
3563
3563
|
"use strict";
|
|
3564
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst MainPage_1 = __webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\");\nconst dropdownMenu_1 = __importDefault(__webpack_require__(/*! ./dropdownMenu */ \"./src/components/dropdownMenu.ts\"));\nconst components_1 = __webpack_require__(/*! ./components */ \"./src/components/components.ts\");\nclass SelectDropdown {\n constructor(
|
|
3564
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst MainPage_1 = __webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\");\nconst dropdownMenu_1 = __importDefault(__webpack_require__(/*! ./dropdownMenu */ \"./src/components/dropdownMenu.ts\"));\nconst components_1 = __webpack_require__(/*! ./components */ \"./src/components/components.ts\");\nclass SelectDropdown {\n constructor(modalId, placeholder, options) {\n this.value = \"\";\n this.isError = false;\n this.isLoadingDef = false;\n this.modalId = modalId;\n this.placeholder = placeholder;\n this.options = options;\n }\n get val() {\n return this.value;\n }\n set val(value) {\n this.value = value;\n // update selected option shown in input\n if (this.inputE)\n this.inputE.value = this.selectedOption.label;\n // update selected option in dialog dropdown menu\n if (this.dropdownMenu)\n this.dropdownMenu.value = value;\n }\n get isLoading() {\n return this.isLoadingDef;\n }\n set isLoading(value) {\n var _a, _b, _c, _d;\n this.isLoadingDef = value;\n if (this.inputE)\n this.inputE.disabled = value;\n if (value) {\n (_a = this.arrowContainer) === null || _a === void 0 ? void 0 : _a.classList.add(\"pw-hidden\");\n (_b = this.loadingContainer) === null || _b === void 0 ? void 0 : _b.classList.remove(\"pw-hidden\");\n }\n else {\n (_c = this.arrowContainer) === null || _c === void 0 ? void 0 : _c.classList.remove(\"pw-hidden\");\n (_d = this.loadingContainer) === null || _d === void 0 ? void 0 : _d.classList.add(\"pw-hidden\");\n }\n }\n setOption(options) {\n this.options = options;\n if (this.dropdownMenu)\n this.dropdownMenu.options = options;\n }\n get selectedOption() {\n return (this.options.find((option) => option.value === this.val) || {\n label: this.val,\n value: this.val,\n });\n }\n render() {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n const textInputDiv = document.createElement(\"div\");\n textInputDiv.classList.add(\"pw-relative\", \"pw-text-grey-5\");\n this.inputE = document.createElement(\"input\");\n this.inputE.setAttribute(\"name\", this.modalId);\n this.inputE.setAttribute(\"type\", \"text\");\n this.inputE.setAttribute(\"placeholder\", \" \");\n this.inputE.setAttribute(\"readonly\", \" \");\n this.inputE.classList.add(\"pw-box-border\", \"pw-peer\", \"pw-text-base\", \"pw-w-full\", \"pw-h-14\", \"pw-pt-3\", \"pw-px-4\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"invalid:[&:not(:placeholder-shown):not(:focus)]:pw-border-red-500\", \"pw-cursor-pointer\");\n this.inputE.addEventListener(\"click\", () => {\n var _a, _b;\n if ((_a = this.inputE) === null || _a === void 0 ? void 0 : _a.disabled)\n return;\n (_b = this.dropdownMenu) === null || _b === void 0 ? void 0 : _b.openDialog();\n });\n textInputDiv.appendChild(this.inputE);\n const inputLabel = document.createElement(\"label\");\n inputLabel.classList.add(\"pw-box-border\", \"pw-absolute\", \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-2/4\", \"-pw-translate-y-2/4\", \"peer-focus:pw-top-3\", \"peer-focus:pw-text-xs\", \"pw-transition-all\", \"pw-duration-200\", \"pw-top-3\", \"pw-text-xs\", \"peer-placeholder-shown:pw-top-7\", \"peer-placeholder-shown:-pw-translate-y-2/4\", \"peer-placeholder-shown:pw-text-base\");\n inputLabel.innerHTML = this.placeholder;\n textInputDiv.appendChild(inputLabel);\n this.arrowContainer = document.createElement(\"div\");\n this.arrowContainer.classList.add(\"pw-absolute\", \"pw-top-4\", \"pw-right-3\");\n const arrowForward = (0, getGoogleIcon_1.getGoogleIcon)(\"arrow_forward_ios\");\n arrowForward.classList.add(\"pw-text-grey-10\");\n this.arrowContainer.appendChild(arrowForward);\n textInputDiv.appendChild(this.arrowContainer);\n this.loadingContainer = document.createElement(\"div\");\n this.loadingContainer.classList.add(\"pw-absolute\", \"pw-top-4\", \"pw-right-3\", \"pw-hidden\");\n const loadingSpinner = (0, components_1.createSpinner)(1.5, \"primary\");\n loadingSpinner.classList.add(\"pw-text-grey-10\");\n this.loadingContainer.appendChild(loadingSpinner);\n textInputDiv.appendChild(this.loadingContainer);\n this.componentDiv.appendChild(textInputDiv);\n // 1. dialog dropdown menu\n const mainScreen = document.getElementById(MainPage_1.mainScreenId);\n this.dropdownMenu = new dropdownMenu_1.default(this.modalId, this.placeholder, this.options, this.val);\n const dropdownMenuDiv = this.dropdownMenu.render();\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.appendChild(dropdownMenuDiv);\n // event listener\n // 1. update dropdown option\n this.dropdownMenu.onUpdateOption = (option) => {\n var _a, _b;\n this.onInputEvent(option.value);\n (_a = this.onUpdateValue) === null || _a === void 0 ? void 0 : _a.call(this, option.value);\n (_b = this.dropdownMenu) === null || _b === void 0 ? void 0 : _b.closeDialog();\n };\n return this.componentDiv;\n }\n onAddErrorStyling(errorText = \"This field is required\") {\n var _a;\n if (!this.isError) {\n this.errorDiv = document.createElement(\"div\");\n this.errorDiv.classList.add(\"pw-text-red-500\", \"pw-mt-2\", \"pw-ml-2\", \"pw-text-xs\", \"pw-flex\", \"pw-items-center\", \"pw-gap-x-1\", \"pw-block\");\n this.errorDiv.innerHTML = `<span class=\"material-symbols-outlined\" style=\"font-size: 20px;\">\n error\n </span> ${errorText}`;\n if (this.componentDiv) {\n this.isError = true;\n this.componentDiv.classList.remove(\"pw-mb-5\");\n this.componentDiv.classList.add(\"pw-mb-3\");\n (_a = this.inputE) === null || _a === void 0 ? void 0 : _a.classList.add(\"pw-border-red-500\");\n this.componentDiv.appendChild(this.errorDiv);\n }\n }\n }\n onInputEvent(val) {\n this.val = val;\n if (this.isError && this.errorDiv) {\n this.removeErrorStyling();\n }\n }\n removeErrorStyling() {\n var _a, _b, _c, _d;\n if (this.errorDiv) {\n this.isError = false;\n (_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-mb-3\");\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.classList.add(\"pw-mb-5\");\n (_c = this.inputE) === null || _c === void 0 ? void 0 : _c.classList.remove(\"pw-border-red-500\");\n (_d = this.componentDiv) === null || _d === void 0 ? void 0 : _d.removeChild(this.errorDiv);\n this.errorDiv.remove();\n }\n }\n}\nexports[\"default\"] = SelectDropdown;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/selectDropdown.ts?");
|
|
3565
3565
|
|
|
3566
3566
|
/***/ }),
|
|
3567
3567
|
|
|
@@ -3613,10 +3613,21 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3613
3613
|
/*!*****************************!*\
|
|
3614
3614
|
!*** ./src/constant/doc.ts ***!
|
|
3615
3615
|
\*****************************/
|
|
3616
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3617
|
+
|
|
3618
|
+
"use strict";
|
|
3619
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DOC_TYPE = exports.FORM_KEY = exports.cardTypeMapping = exports.idTypeMapping = exports.formLabelMapping = void 0;\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nexports.formLabelMapping = {\n nationality: \"Nationality\",\n full_name: \"Full name\",\n given_name: \"Given name\",\n surname: \"Surname\",\n id_number: \"ID number\",\n date_of_birth: \"Date of birth\",\n line1: \"Address\",\n city: \"City\",\n state_name: \"State\",\n zip: \"Zip code\",\n country_name: \"Country/Region\",\n};\nexports.idTypeMapping = {\n passport: \"Passport\",\n national_identity_document: \"National identity\",\n driving_license: \"Driver's license\",\n};\nexports.cardTypeMapping = {\n national_identity_document: {\n front: camera_1.CARD_TYPES.ID,\n back: camera_1.CARD_TYPES.ID_BACK,\n },\n driving_license: {\n front: camera_1.CARD_TYPES.LICENSE,\n back: camera_1.CARD_TYPES.LICENSE_BACK,\n },\n passport: {\n front: camera_1.CARD_TYPES.PASSPORT,\n back: undefined,\n },\n};\nvar FORM_KEY;\n(function (FORM_KEY) {\n FORM_KEY[\"full_name\"] = \"full_name\";\n FORM_KEY[\"given_name\"] = \"given_name\";\n FORM_KEY[\"surname\"] = \"surname\";\n FORM_KEY[\"id_number\"] = \"id_number\";\n FORM_KEY[\"date_of_birth\"] = \"date_of_birth\";\n FORM_KEY[\"address\"] = \"line1\";\n FORM_KEY[\"city\"] = \"city\";\n FORM_KEY[\"state\"] = \"state_iso\";\n FORM_KEY[\"zip\"] = \"zip\";\n FORM_KEY[\"country\"] = \"country_iso2\";\n})(FORM_KEY || (exports.FORM_KEY = FORM_KEY = {}));\nvar DOC_TYPE;\n(function (DOC_TYPE) {\n DOC_TYPE[\"PASSPORT\"] = \"passport\";\n DOC_TYPE[\"NATIONAL_ID\"] = \"national_identity_document\";\n DOC_TYPE[\"LICENSE\"] = \"driving_license\";\n})(DOC_TYPE || (exports.DOC_TYPE = DOC_TYPE = {}));\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/doc.ts?");
|
|
3620
|
+
|
|
3621
|
+
/***/ }),
|
|
3622
|
+
|
|
3623
|
+
/***/ "./src/helper/console.ts":
|
|
3624
|
+
/*!*******************************!*\
|
|
3625
|
+
!*** ./src/helper/console.ts ***!
|
|
3626
|
+
\*******************************/
|
|
3616
3627
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3617
3628
|
|
|
3618
3629
|
"use strict";
|
|
3619
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.
|
|
3630
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.warn = void 0;\nfunction warn(msg, err) {\n if (typeof console !== \"undefined\") {\n console.warn(\"[pw-ui-sdk] \" + msg);\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nexports.warn = warn;\n\n\n//# sourceURL=webpack://PWUISDK/./src/helper/console.ts?");
|
|
3620
3631
|
|
|
3621
3632
|
/***/ }),
|
|
3622
3633
|
|
|
@@ -3660,7 +3671,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3660
3671
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3661
3672
|
|
|
3662
3673
|
"use strict";
|
|
3663
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ELEMENT_IDS = exports.CARD_TYPES = void 0;\nvar CARD_TYPES;\n(function (CARD_TYPES) {\n CARD_TYPES[\"PASSPORT\"] = \"
|
|
3674
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ELEMENT_IDS = exports.CARD_TYPES = void 0;\nvar CARD_TYPES;\n(function (CARD_TYPES) {\n CARD_TYPES[\"PASSPORT\"] = \"passport_front\";\n CARD_TYPES[\"ID\"] = \"id_front\";\n CARD_TYPES[\"ID_BACK\"] = \"id_back\";\n CARD_TYPES[\"LICENSE\"] = \"license_front\";\n CARD_TYPES[\"LICENSE_BACK\"] = \"license_back\";\n CARD_TYPES[\"SELFIE\"] = \"selfie\";\n})(CARD_TYPES || (exports.CARD_TYPES = CARD_TYPES = {}));\nvar ELEMENT_IDS;\n(function (ELEMENT_IDS) {\n // video element\n ELEMENT_IDS[\"VIDEO\"] = \"videoElement\";\n ELEMENT_IDS[\"CANVAS\"] = \"canvasElement\";\n ELEMENT_IDS[\"OVERLAY\"] = \"overlayElement\";\n // container\n ELEMENT_IDS[\"VIDEO_CONTAINER\"] = \"videoContainer\";\n ELEMENT_IDS[\"OVERLAY_CONTAINER\"] = \"orverlayContainer\";\n // text description\n ELEMENT_IDS[\"CAMERA_TITLE\"] = \"cameraTitle\";\n ELEMENT_IDS[\"CAMERA_DESCRIPTION\"] = \"cameraDescription\";\n // square corner border\n ELEMENT_IDS[\"TOP_BORDER\"] = \"topBorderElement\";\n ELEMENT_IDS[\"BOTTOM_BORDER\"] = \"bottomBorderElement\";\n // main\n ELEMENT_IDS[\"HEADER\"] = \"cameraHeader\";\n ELEMENT_IDS[\"DESCRIPTION\"] = \"cameraDescription\";\n ELEMENT_IDS[\"BODY\"] = \"cameraBody\";\n ELEMENT_IDS[\"FOOTER\"] = \"cameraFooter\";\n})(ELEMENT_IDS || (exports.ELEMENT_IDS = ELEMENT_IDS = {}));\n\n\n//# sourceURL=webpack://PWUISDK/./src/models/camera.ts?");
|
|
3664
3675
|
|
|
3665
3676
|
/***/ }),
|
|
3666
3677
|
|
|
@@ -3671,7 +3682,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3671
3682
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3672
3683
|
|
|
3673
3684
|
"use strict";
|
|
3674
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nclass CardError extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const mainDiv = document.createElement(\"div\");\n mainDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\");\n const cardErrorDiv = document.createElement(\"div\");\n cardErrorDiv.classList.add(\"pw-p-5\");\n mainDiv.appendChild(cardErrorDiv);\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-mx-auto\", \"pw-mt-16\", \"pw-mb-4\", \"pw-text-center\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n iconContainer.appendChild(warningIcon);\n cardErrorDiv.appendChild(iconContainer);\n const title = document.createElement(\"div\");\n title.classList.add(\"pw-text-center\", \"pw-text-3xl\", \"pw-mb-10\");\n title.innerHTML = \"Submission error\";\n cardErrorDiv.appendChild(title);\n const cardsDiv = document.createElement(\"div\");\n cardsDiv.classList.add(\"pw-mx-auto\", \"pw-w-60\", \"pw-h-40\", \"pw-mb-5\");\n const cardImg = document.createElement(\"img\");\n cardImg.classList.add(\"pw-w-
|
|
3685
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst VerifyId_1 = __importDefault(__webpack_require__(/*! ./VerifyId */ \"./src/pageClass/VerifyId.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nclass CardError extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(isRetake) {\n this.renderContent(this.createPage(isRetake));\n }\n createPage(isRetake) {\n const mainDiv = document.createElement(\"div\");\n mainDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\");\n const cardErrorDiv = document.createElement(\"div\");\n cardErrorDiv.classList.add(\"pw-p-5\");\n mainDiv.appendChild(cardErrorDiv);\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-mx-auto\", \"pw-mt-16\", \"pw-mb-4\", \"pw-text-center\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n iconContainer.appendChild(warningIcon);\n cardErrorDiv.appendChild(iconContainer);\n const title = document.createElement(\"div\");\n title.classList.add(\"pw-text-center\", \"pw-text-3xl\", \"pw-mb-10\");\n title.innerHTML = \"Submission error\";\n cardErrorDiv.appendChild(title);\n const cardsDiv = document.createElement(\"div\");\n cardsDiv.classList.add(\"pw-mx-auto\", \"pw-w-60\", \"pw-h-40\", \"pw-mb-5\", \"pw-flex\", \"pw-justify-center\");\n const cardImg = document.createElement(\"img\");\n cardImg.classList.add(\"pw-max-w-60\", \"pw-max-h-40\", \"pw-rounded-lg\");\n cardImg.style.objectFit = \"contain\";\n cardImg.setAttribute(\"src\", (0, imagesHelper_1.getFrontImg)());\n cardImg.addEventListener(\"click\", () => {\n this.openImageFullScreen(cardImg.src);\n });\n cardsDiv.appendChild(cardImg);\n cardErrorDiv.appendChild(cardsDiv);\n const tabsDiv = document.createElement(\"div\");\n tabsDiv.classList.add(\"pw-flex\", \"pw-justify-center\", \"pw-gap-x-3\", \"pw-mb-8\");\n const frontTabDiv = document.createElement(\"div\");\n frontTabDiv.classList.add(\"pw-box-border\", \"pw-text-center\", \"pw-border-solid\", \"pw-py-2\", \"pw-rounded-full\", \"pw-text-grey-6\", \"pw-cursor-pointer\", \"pw-border-primary\", \"pw-bg-primary-light\", \"pw-text-primary\");\n frontTabDiv.innerHTML = \"Front\";\n frontTabDiv.classList.add(\"pw-w-24\", \"pw-h-9\");\n tabsDiv.appendChild(frontTabDiv);\n const backTabDiv = document.createElement(\"div\");\n backTabDiv.classList.add(\"pw-box-border\", \"pw-text-center\", \"pw-border-solid\", \"pw-py-2\", \"pw-rounded-full\", \"pw-text-grey-6\", \"pw-cursor-pointer\");\n backTabDiv.innerHTML = \"Back\";\n backTabDiv.classList.add(\"pw-w-24\", \"pw-h-9\");\n frontTabDiv.addEventListener(\"click\", () => {\n cardImg.setAttribute(\"src\", (0, imagesHelper_1.getFrontImg)());\n this.changeTabStyle(frontTabDiv, backTabDiv);\n });\n backTabDiv.addEventListener(\"click\", () => {\n cardImg.setAttribute(\"src\", (0, imagesHelper_1.getBackImg)());\n this.changeTabStyle(backTabDiv, frontTabDiv);\n });\n tabsDiv.appendChild(backTabDiv);\n cardErrorDiv.appendChild(tabsDiv);\n const list = document.createElement(\"ul\");\n list.classList.add(\"pw-mb-4\", \"pw-px-4\");\n const listItem1 = document.createElement(\"li\");\n listItem1.classList.add(\"pw-mb-3\");\n listItem1.innerHTML = \"The image is blur, please take a clear photo.\";\n const listItem2 = document.createElement(\"li\");\n listItem2.innerHTML =\n \"The image has glare issues, please take a clear photo in a well-lit area.\";\n list.appendChild(listItem1);\n list.appendChild(listItem2);\n cardErrorDiv.appendChild(list);\n const contactSupportDiv = document.createElement(\"div\");\n contactSupportDiv.classList.add(\"pw-mb-16\");\n contactSupportDiv.innerHTML =\n \"If a problem persists, please contact support.\";\n cardErrorDiv.appendChild(contactSupportDiv);\n const retakeButton = (0, components_1.createPrimaryButton)(isRetake ? \"Retake\" : \"Proceed\");\n retakeButton.addEventListener(\"click\", () => {\n this.clearScreen();\n if (isRetake) {\n // redirect to verify id page again\n const verifyId = new VerifyId_1.default(this.mainScreenId, this.displayMode);\n return verifyId.render();\n }\n // redirect to thank you page\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n reviewEkyc.render();\n });\n const retakeContainer = document.createElement(\"div\");\n retakeContainer.classList.add(\"pw-p-5\");\n retakeContainer.appendChild(retakeButton);\n mainDiv.appendChild(retakeContainer);\n // cardErrorDiv.appendChild(retakeButton);\n // return cardErrorDiv;\n return mainDiv;\n }\n changeTabStyle(selectedTab, notSelectedTab) {\n selectedTab.classList.add(\"pw-border-primary\", \"pw-bg-primary-light\", \"pw-text-primary\");\n notSelectedTab.classList.remove(\"pw-border-primary\", \"pw-bg-primary-light\", \"pw-text-primary\");\n }\n}\nexports[\"default\"] = CardError;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/CardError.ts?");
|
|
3675
3686
|
|
|
3676
3687
|
/***/ }),
|
|
3677
3688
|
|
|
@@ -3682,18 +3693,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3682
3693
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3683
3694
|
|
|
3684
3695
|
"use strict";
|
|
3685
|
-
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst CardError_1 = __importDefault(__webpack_require__(/*! ./CardError */ \"./src/pageClass/CardError.ts\"));\nconst StartSelfie_1 = __importDefault(__webpack_require__(/*! ./StartSelfie */ \"./src/pageClass/StartSelfie.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nclass ConfirmDoc extends MainPage_1.default {\n constructor(mainScreenId, displayMode, defaultCountry, docType, frontImg, backImg) {\n super(mainScreenId, displayMode);\n this.defaultCountry = defaultCountry;\n this.docType = docType;\n this.frontImg = frontImg;\n if (backImg) {\n this.backImg = backImg;\n }\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const mainDiv = document.createElement(\"div\");\n mainDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\");\n const confirmIdDiv = document.createElement(\"div\");\n confirmIdDiv.classList.add(\"pw-overflow-y-auto\", \"pw-p-5\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-6\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(3, 5);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n const closeButtonDiv = document.createElement(\"div\");\n closeButtonDiv.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeButton = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButtonDiv.appendChild(closeButton);\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n navigationDiv.appendChild(closeButtonDiv);\n confirmIdDiv.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-6\", \"pw-text-center\");\n titleDiv.innerHTML = \"Confirm your document\";\n confirmIdDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-mb-4\", \"pw-text-center\");\n descriptionDiv.innerHTML =\n \"Submit front and back of the same document, make sure it's clear and not expired.\";\n confirmIdDiv.appendChild(descriptionDiv);\n const frontIdDiv = document.createElement(\"div\");\n frontIdDiv.classList.add(\"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-py-4\", \"pw-px-5\", \"pw-rounded-2xl\", \"pw-mb-3\");\n const frontIdContentDiv = document.createElement(\"div\");\n frontIdContentDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-end\", \"pw-mb-5\");\n frontIdDiv.appendChild(frontIdContentDiv);\n const frontIdWording = document.createElement(\"div\");\n frontIdWording.classList.add(\"pw-text-center\", \"pw-absolute\", \"pw-top-2\", \"pw-right-2/4\", \"pw-translate-x-2/4\");\n frontIdWording.innerHTML = \"Front\";\n const rotateContentDiv = document.createElement(\"div\");\n const rotateButton = document.createElement(\"div\");\n rotateButton.classList.add(\"pw-box-border\", \"pw-w-14\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\");\n const rotateLeft = (0, getGoogleIcon_1.getGoogleIcon)(\"rotate_left\");\n rotateButton.appendChild(rotateLeft);\n rotateContentDiv.appendChild(rotateButton);\n frontIdContentDiv.appendChild(frontIdWording);\n frontIdContentDiv.appendChild(rotateContentDiv);\n confirmIdDiv.appendChild(frontIdDiv);\n const frontImgDiv = document.createElement(\"div\");\n frontImgDiv.classList.add(\"pw-mx-auto\", \"pw-w-36\", \"pw-h-24\", \"pw-rounded-lg\", \"pw-text-center\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-center\", \"pw-mb-7\", \"pw-transition-all\", \"pw-duration-500\");\n const frontImg = document.createElement(\"img\");\n frontImg.classList.add(\"pw-rounded-lg\", \"pw-object-contain\");\n frontImg.setAttribute(\"src\", this.frontImg);\n frontImgDiv.appendChild(frontImg);\n frontImgDiv.addEventListener(\"click\", () => {\n this.openImageFullScreen(this.frontImg);\n });\n frontIdDiv.appendChild(frontImgDiv);\n const angle = 90;\n let rotation = 0;\n let totalRotation = 0;\n rotateContentDiv.addEventListener(\"click\", () => {\n rotation = rotation + angle;\n totalRotation = (totalRotation + angle) % 360;\n frontImgDiv.style.transform = `rotate(-${rotation}deg)`;\n });\n const retakeFrontIdButton = document.createElement(\"div\");\n retakeFrontIdButton.classList.add(\"pw-mx-auto\", \"pw-box-border\", \"pw-w-36\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\", \"pw-cursor-pointer\");\n retakeFrontIdButton.innerHTML = \"Retake\";\n retakeFrontIdButton.addEventListener(\"click\", () => { });\n frontIdDiv.appendChild(retakeFrontIdButton);\n // confirmIdDiv\n const backIdDiv = document.createElement(\"div\");\n backIdDiv.classList.add(\"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-py-4\", \"pw-px-5\", \"pw-rounded-2xl\", \"pw-mb-3\");\n const backIdContentDiv = document.createElement(\"div\");\n backIdContentDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-end\", \"pw-mb-5\");\n backIdDiv.appendChild(backIdContentDiv);\n const backIdWording = document.createElement(\"div\");\n backIdWording.classList.add(\"pw-text-center\", \"pw-absolute\", \"pw-top-2\", \"pw-right-2/4\", \"pw-translate-x-2/4\");\n backIdWording.innerHTML = \"Back\";\n backIdContentDiv.appendChild(backIdWording);\n // rotate content is from above\n const rotateContentBackId = document.createElement(\"div\");\n // rotateContentBackId.classList.add(\"pw-flex-none\");\n const rotateButtonBackId = document.createElement(\"div\");\n rotateButtonBackId.classList.add(\"pw-box-border\", \"pw-w-14\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\");\n const roateLeftBackId = (0, getGoogleIcon_1.getGoogleIcon)(\"rotate_left\");\n rotateButtonBackId.appendChild(roateLeftBackId);\n rotateContentBackId.appendChild(rotateButtonBackId);\n backIdContentDiv.appendChild(rotateContentBackId);\n let backRotation = 0;\n let totalbackRotation = 0;\n if (this.backImg) {\n const backImgDiv = document.createElement(\"div\");\n backImgDiv.classList.add(\"pw-mx-auto\", \"pw-w-36\", \"pw-h-24\", \"pw-rounded-lg\", \"pw-text-center\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-center\", \"pw-mb-7\", \"pw-transition-all\", \"pw-duration-500\");\n const backImg = document.createElement(\"img\");\n backImg.classList.add(\"pw-rounded-lg\");\n backImg.setAttribute(\"src\", this.backImg);\n backImgDiv.appendChild(backImg);\n backIdDiv.appendChild(backImgDiv);\n backImgDiv.addEventListener(\"click\", () => {\n this.openImageFullScreen(this.backImg);\n });\n const retakeBackIdButton = document.createElement(\"div\");\n retakeBackIdButton.classList.add(\"pw-mx-auto\", \"pw-box-border\", \"pw-w-36\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\", \"pw-cursor-pointer\");\n retakeBackIdButton.innerHTML = \"Retake\";\n backIdDiv.appendChild(retakeBackIdButton);\n confirmIdDiv.appendChild(backIdDiv);\n rotateContentBackId.addEventListener(\"click\", () => {\n backRotation = backRotation + angle;\n totalbackRotation = (totalbackRotation + angle) % 360;\n backImgDiv.style.transform = `rotate(-${backRotation}deg)`;\n });\n }\n const proceedButtonDiv = document.createElement(\"div\");\n proceedButtonDiv.classList.add(\"pw-p-5\", \"pw-shadow-footer-shadow\");\n const proceedButton = (0, components_1.createPrimaryButton)(\"Proceed\");\n proceedButton.addEventListener(\"click\", () => {\n this.onClickProceed(proceedButton, totalRotation, totalbackRotation);\n });\n proceedButtonDiv.appendChild(proceedButton);\n mainDiv.appendChild(confirmIdDiv);\n mainDiv.appendChild(proceedButtonDiv);\n return mainDiv;\n }\n createRotateImg(base64Image, degree) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise(function (resolve) {\n // Create an Image element\n const img = new Image();\n img.src = base64Image;\n // Wait for the image to load\n img.onload = () => {\n // Create a canvas element\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n // Set canvas dimensions\n if ([0, 180].includes(degree)) {\n canvas.width = img.width;\n canvas.height = img.height;\n }\n else {\n // Swap width and height for rotation\n canvas.width = img.height;\n canvas.height = img.width;\n }\n // Rotate the image on the canvas\n if (ctx) {\n const radians = {\n 0: 0,\n 90: (Math.PI * 3) / 2,\n 180: Math.PI,\n 270: Math.PI / 2,\n };\n const radian = radians[degree] || 0;\n ctx.translate(canvas.width / 2, canvas.height / 2);\n ctx.rotate(radian); // Rotate n degrees\n ctx.drawImage(img, -img.width / 2, -img.height / 2);\n }\n // Get the rotated image data from the canvas\n resolve(canvas.toDataURL(\"image/jpeg\"));\n };\n setTimeout(() => {\n resolve(base64Image);\n }, 3000);\n });\n });\n }\n onClickProceed(proceedButton, frontRotateDegree, backRotateDegree) {\n return __awaiter(this, void 0, void 0, function* () {\n // on loading btn\n const loadingSpinner = (0, components_1.createSpinner)();\n proceedButton.innerHTML = \"\";\n proceedButton.appendChild(loadingSpinner);\n try {\n let frontImg = this.frontImg;\n let backImg = this.backImg;\n if (frontRotateDegree) {\n frontImg = yield this.createRotateImg(this.frontImg, frontRotateDegree);\n (0, imagesHelper_1.setFrontImg)(frontImg);\n }\n if (this.backImg && backRotateDegree) {\n backImg = yield this.createRotateImg(this.backImg, backRotateDegree);\n (0, imagesHelper_1.setBackImg)(backImg);\n }\n const req = Object.assign(Object.assign({ front_doc_base64: frontImg }, (backImg && { back_doc_base64: backImg })), { doc_type: this.docType, issuing_country: this.defaultCountry });\n yield uisdk_1.pwInstance.uploadDoc(req);\n const startSelfie = new StartSelfie_1.default(this.mainScreenId, this.displayMode);\n this.clearScreen();\n startSelfie.render();\n }\n catch (err) {\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n if ([\n \"openApi/verification-type-invalid\",\n \"openApi/issuing-country-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ].includes(err.type)) {\n this.clearScreen();\n const failPage = new CardError_1.default(this.mainScreenId, this.displayMode);\n return failPage.render();\n }\n if ([\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ].includes(err.type)) {\n this.clearScreen();\n // redirect to thank you page\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n return reviewEkyc.render();\n }\n }\n this.openErrorPage();\n }\n finally {\n // off loading btn\n if (loadingSpinner.hasChildNodes())\n proceedButton.removeChild(loadingSpinner);\n proceedButton.innerHTML = \"Proceed\";\n }\n });\n }\n}\nexports[\"default\"] = ConfirmDoc;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/ConfirmDoc.ts?");
|
|
3686
|
-
|
|
3687
|
-
/***/ }),
|
|
3688
|
-
|
|
3689
|
-
/***/ "./src/pageClass/ErrorPage.ts":
|
|
3690
|
-
/*!************************************!*\
|
|
3691
|
-
!*** ./src/pageClass/ErrorPage.ts ***!
|
|
3692
|
-
\************************************/
|
|
3693
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3694
|
-
|
|
3695
|
-
"use strict";
|
|
3696
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass ErrorPage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const errorDiv = document.createElement(\"div\");\n errorDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const contentDiv = document.createElement(\"div\");\n errorDiv.appendChild(contentDiv);\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n const closeButton = document.createElement(\"div\");\n closeButton.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.appendChild(closeIcon);\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n navigationDiv.appendChild(closeButton);\n contentDiv.appendChild(navigationDiv);\n const errorContainer = document.createElement(\"div\");\n errorContainer.classList.add(\"pw-relative\", \"pw-h-full\");\n const errorContentDiv = document.createElement(\"div\");\n errorContentDiv.classList.add(\"pw-absolute\", \"pw-top-1/3\", \"pw-text-center\", \"-pw-translate-y-1/3\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n errorContentDiv.appendChild(warningIcon);\n const errorTitle = document.createElement(\"div\");\n errorTitle.classList.add(\"pw-text-xl\", \"pw-mb-4\");\n errorTitle.innerHTML = \"Something went wrong\";\n errorContentDiv.appendChild(errorTitle);\n const errorDescription = document.createElement(\"div\");\n errorDescription.innerHTML =\n \"Please contact customer support for assistance or retry.\";\n errorContentDiv.appendChild(errorDescription);\n errorContainer.appendChild(errorContentDiv);\n errorDiv.appendChild(errorContainer);\n return errorDiv;\n }\n}\nexports[\"default\"] = ErrorPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/ErrorPage.ts?");
|
|
3696
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst CardError_1 = __importDefault(__webpack_require__(/*! ./CardError */ \"./src/pageClass/CardError.ts\"));\nconst StartSelfie_1 = __importDefault(__webpack_require__(/*! ./StartSelfie */ \"./src/pageClass/StartSelfie.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst doc_1 = __webpack_require__(/*! ../constant/doc */ \"./src/constant/doc.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst card_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/card-camera */ \"./src/plugins/card-camera.ts\"));\nclass ConfirmDoc extends MainPage_1.default {\n constructor(mainScreenId, displayMode, defaultCountry, docType) {\n super(mainScreenId, displayMode);\n this.cameraId = \"pw-camera-container\";\n this.defaultCountry = defaultCountry;\n this.docType = docType;\n this.frontImg = (0, imagesHelper_1.getFrontImg)();\n if (this.docType !== doc_1.DOC_TYPE.PASSPORT) {\n this.backImg = (0, imagesHelper_1.getBackImg)();\n }\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const mainDiv = document.createElement(\"div\");\n mainDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\");\n const confirmIdDiv = document.createElement(\"div\");\n confirmIdDiv.classList.add(\"pw-overflow-y-auto\", \"pw-p-5\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-6\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(3, 5);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n const closeButtonDiv = document.createElement(\"div\");\n closeButtonDiv.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeButton = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButtonDiv.appendChild(closeButton);\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n navigationDiv.appendChild(closeButtonDiv);\n confirmIdDiv.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-6\", \"pw-text-center\");\n titleDiv.innerHTML = \"Confirm your document\";\n confirmIdDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-mb-4\", \"pw-text-center\");\n descriptionDiv.innerHTML =\n \"Submit front and back of the same document, make sure it's clear and not expired.\";\n confirmIdDiv.appendChild(descriptionDiv);\n const frontIdDiv = document.createElement(\"div\");\n frontIdDiv.classList.add(\"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-py-4\", \"pw-px-5\", \"pw-rounded-2xl\", \"pw-mb-3\");\n const frontIdContentDiv = document.createElement(\"div\");\n frontIdContentDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-end\", \"pw-mb-5\");\n frontIdDiv.appendChild(frontIdContentDiv);\n const frontIdWording = document.createElement(\"div\");\n frontIdWording.classList.add(\"pw-text-center\", \"pw-absolute\", \"pw-top-2\", \"pw-right-2/4\", \"pw-translate-x-2/4\");\n frontIdWording.innerHTML = \"Front\";\n const rotateContentDiv = document.createElement(\"div\");\n const rotateButton = document.createElement(\"div\");\n rotateButton.classList.add(\"pw-box-border\", \"pw-w-14\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\");\n const rotateLeft = (0, getGoogleIcon_1.getGoogleIcon)(\"rotate_left\");\n rotateButton.appendChild(rotateLeft);\n rotateContentDiv.appendChild(rotateButton);\n frontIdContentDiv.appendChild(frontIdWording);\n frontIdContentDiv.appendChild(rotateContentDiv);\n confirmIdDiv.appendChild(frontIdDiv);\n const frontImgDiv = document.createElement(\"div\");\n frontImgDiv.classList.add(\"pw-mx-auto\", \"pw-w-36\", \"pw-h-24\", \"pw-rounded-lg\", \"pw-text-center\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-center\", \"pw-mb-7\", \"pw-transition-all\", \"pw-duration-500\");\n const frontImg = document.createElement(\"img\");\n frontImg.classList.add(\"pw-rounded-lg\", \"pw-object-contain\");\n frontImg.setAttribute(\"src\", this.frontImg);\n frontImgDiv.appendChild(frontImg);\n frontImgDiv.addEventListener(\"click\", () => {\n this.openImageFullScreen(this.frontImg);\n });\n frontIdDiv.appendChild(frontImgDiv);\n const angle = 90;\n let rotation = 0;\n let totalRotation = 0;\n const typeMapping = doc_1.cardTypeMapping[this.docType];\n rotateContentDiv.addEventListener(\"click\", () => {\n rotation = rotation + angle;\n totalRotation = (totalRotation + angle) % 360;\n frontImgDiv.style.transform = `rotate(-${rotation}deg)`;\n });\n const retakeFrontIdButton = document.createElement(\"div\");\n retakeFrontIdButton.classList.add(\"pw-mx-auto\", \"pw-box-border\", \"pw-w-36\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\", \"pw-cursor-pointer\");\n retakeFrontIdButton.innerHTML = \"Retake\";\n retakeFrontIdButton.addEventListener(\"click\", () => {\n this.retake(typeMapping.front, (image) => {\n this.frontImg = image;\n (0, imagesHelper_1.setFrontImg)(image);\n frontImg.setAttribute(\"src\", image);\n });\n });\n frontIdDiv.appendChild(retakeFrontIdButton);\n // confirmIdDiv\n const backIdDiv = document.createElement(\"div\");\n backIdDiv.classList.add(\"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-py-4\", \"pw-px-5\", \"pw-rounded-2xl\", \"pw-mb-3\");\n const backIdContentDiv = document.createElement(\"div\");\n backIdContentDiv.classList.add(\"pw-relative\", \"pw-flex\", \"pw-justify-end\", \"pw-mb-5\");\n backIdDiv.appendChild(backIdContentDiv);\n const backIdWording = document.createElement(\"div\");\n backIdWording.classList.add(\"pw-text-center\", \"pw-absolute\", \"pw-top-2\", \"pw-right-2/4\", \"pw-translate-x-2/4\");\n backIdWording.innerHTML = \"Back\";\n backIdContentDiv.appendChild(backIdWording);\n // rotate content is from above\n const rotateContentBackId = document.createElement(\"div\");\n // rotateContentBackId.classList.add(\"pw-flex-none\");\n const rotateButtonBackId = document.createElement(\"div\");\n rotateButtonBackId.classList.add(\"pw-box-border\", \"pw-w-14\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\");\n const roateLeftBackId = (0, getGoogleIcon_1.getGoogleIcon)(\"rotate_left\");\n rotateButtonBackId.appendChild(roateLeftBackId);\n rotateContentBackId.appendChild(rotateButtonBackId);\n backIdContentDiv.appendChild(rotateContentBackId);\n let backRotation = 0;\n let totalbackRotation = 0;\n if (this.backImg) {\n const backImgDiv = document.createElement(\"div\");\n backImgDiv.classList.add(\"pw-mx-auto\", \"pw-w-36\", \"pw-h-24\", \"pw-rounded-lg\", \"pw-text-center\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-center\", \"pw-mb-7\", \"pw-transition-all\", \"pw-duration-500\");\n const backImg = document.createElement(\"img\");\n backImg.classList.add(\"pw-rounded-lg\");\n backImg.setAttribute(\"src\", this.backImg);\n backImgDiv.appendChild(backImg);\n backIdDiv.appendChild(backImgDiv);\n backImgDiv.addEventListener(\"click\", () => {\n this.openImageFullScreen(this.backImg);\n });\n const retakeBackIdButton = document.createElement(\"div\");\n retakeBackIdButton.classList.add(\"pw-mx-auto\", \"pw-box-border\", \"pw-w-36\", \"pw-h-10\", \"pw-border-solid\", \"pw-rounded-[40px]\", \"pw-border-grey-5\", \"pw-px-3\", \"pw-py-2\", \"pw-text-center\", \"pw-cursor-pointer\");\n retakeBackIdButton.innerHTML = \"Retake\";\n retakeBackIdButton.addEventListener(\"click\", () => {\n this.retake(typeMapping.back, (image) => {\n this.backImg = image;\n (0, imagesHelper_1.setBackImg)(image);\n backImg.setAttribute(\"src\", image);\n });\n });\n backIdDiv.appendChild(retakeBackIdButton);\n confirmIdDiv.appendChild(backIdDiv);\n rotateContentBackId.addEventListener(\"click\", () => {\n backRotation = backRotation + angle;\n totalbackRotation = (totalbackRotation + angle) % 360;\n backImgDiv.style.transform = `rotate(-${backRotation}deg)`;\n });\n }\n const proceedButtonDiv = document.createElement(\"div\");\n proceedButtonDiv.classList.add(\"pw-p-5\", \"pw-shadow-footer-shadow\");\n const proceedButton = (0, components_1.createPrimaryButton)(\"Proceed\");\n proceedButton.addEventListener(\"click\", () => {\n this.onClickProceed(proceedButton, totalRotation, totalbackRotation);\n });\n proceedButtonDiv.appendChild(proceedButton);\n mainDiv.appendChild(confirmIdDiv);\n mainDiv.appendChild(proceedButtonDiv);\n return mainDiv;\n }\n createRotateImg(base64Image, degree) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise(function (resolve) {\n // Create an Image element\n const img = new Image();\n img.src = base64Image;\n // Wait for the image to load\n img.onload = () => {\n // Create a canvas element\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n // Set canvas dimensions\n if ([0, 180].includes(degree)) {\n canvas.width = img.width;\n canvas.height = img.height;\n }\n else {\n // Swap width and height for rotation\n canvas.width = img.height;\n canvas.height = img.width;\n }\n // Rotate the image on the canvas\n if (ctx) {\n const radians = {\n 0: 0,\n 90: (Math.PI * 3) / 2,\n 180: Math.PI,\n 270: Math.PI / 2,\n };\n const radian = radians[degree] || 0;\n ctx.translate(canvas.width / 2, canvas.height / 2);\n ctx.rotate(radian); // Rotate n degrees\n ctx.drawImage(img, -img.width / 2, -img.height / 2);\n }\n // Get the rotated image data from the canvas\n resolve(canvas.toDataURL(\"image/jpeg\"));\n };\n setTimeout(() => {\n resolve(base64Image);\n }, 3000);\n });\n });\n }\n onClickProceed(proceedButton, frontRotateDegree, backRotateDegree) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n // on loading btn\n const loadingSpinner = (0, components_1.createSpinner)();\n proceedButton.innerHTML = \"\";\n proceedButton.appendChild(loadingSpinner);\n try {\n let frontImg = this.frontImg;\n let backImg = this.backImg;\n if (frontRotateDegree) {\n frontImg = yield this.createRotateImg(this.frontImg, frontRotateDegree);\n (0, imagesHelper_1.setFrontImg)(frontImg);\n }\n if (this.backImg && backRotateDegree) {\n backImg = yield this.createRotateImg(this.backImg, backRotateDegree);\n (0, imagesHelper_1.setBackImg)(backImg);\n }\n const req = Object.assign(Object.assign({ front_doc_base64: frontImg }, (backImg && { back_doc_base64: backImg })), { doc_type: this.docType, issuing_country: this.defaultCountry });\n yield uisdk_1.pwInstance.uploadDoc(req);\n const startSelfie = new StartSelfie_1.default(this.mainScreenId, this.displayMode);\n this.clearScreen();\n startSelfie.render();\n }\n catch (err) {\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n if ([\n \"openApi/verification-type-invalid\",\n \"openApi/issuing-country-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ].includes(err.type)) {\n this.clearScreen();\n let isRetake = false;\n const pwErrorPayload = (_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.payload;\n if (!!pwErrorPayload)\n isRetake = !!pwErrorPayload.is_retriable;\n const failPage = new CardError_1.default(this.mainScreenId, this.displayMode);\n return failPage.render(isRetake);\n }\n if ([\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ].includes(err.type)) {\n this.clearScreen();\n // redirect to thank you page\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n return reviewEkyc.render();\n }\n }\n this.openErrorPage();\n }\n finally {\n // off loading btn\n if (loadingSpinner.hasChildNodes())\n proceedButton.removeChild(loadingSpinner);\n proceedButton.innerHTML = \"Proceed\";\n }\n });\n }\n retake(cardType, captureCb) {\n const screen = document.getElementById(this.mainScreenId);\n const cameraDiv = document.createElement(\"div\");\n cameraDiv.setAttribute(\"id\", this.cameraId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(cameraDiv);\n const idCam = new card_camera_1.default(this.cameraId, cardType, this.mainScreenId);\n idCam.init();\n idCam.listenToCardCapture((payload) => {\n const { image } = payload.detail;\n captureCb(image);\n idCam.stopVideoStream();\n cameraDiv.remove();\n });\n }\n}\nexports[\"default\"] = ConfirmDoc;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/ConfirmDoc.ts?");
|
|
3697
3697
|
|
|
3698
3698
|
/***/ }),
|
|
3699
3699
|
|
|
@@ -3737,7 +3737,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3737
3737
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3738
3738
|
|
|
3739
3739
|
"use strict";
|
|
3740
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst example_selfie_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/example_selfie.png */ \"./src/assets/img/example_selfie.png\"));\nclass SelfieError extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const selfieErrorDiv = document.createElement(\"div\");\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-mx-auto\", \"pw-mt-16\", \"pw-mb-4\", \"pw-text-center\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n iconContainer.appendChild(warningIcon);\n selfieErrorDiv.appendChild(iconContainer);\n const title = document.createElement(\"div\");\n title.classList.add(\"pw-text-center\", \"pw-text-3xl\", \"pw-mb-10\");\n title.innerHTML = \"Submission error\";\n selfieErrorDiv.appendChild(title);\n const selfieDiv = document.createElement(\"div\");\n selfieDiv.classList.add(\"pw-mb-8\");\n const selfieContainer = document.createElement(\"div\");\n selfieContainer.classList.add(\"pw-h-52\", \"pw-w-48\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-rounded-full\", \"pw-mx-auto\", \"pw-overflow-hidden\");\n selfieDiv.appendChild(selfieContainer);\n const selfieImage = document.createElement(\"img\");\n selfieImage.classList.add(\"pw-w-full\");\n selfieImage.setAttribute(\"src\", example_selfie_png_1.default);\n selfieContainer.appendChild(selfieImage);\n selfieErrorDiv.appendChild(selfieDiv);\n const list = document.createElement(\"ul\");\n list.classList.add(\"pw-mb-4\", \"pw-px-4\");\n const listItem1 = document.createElement(\"li\");\n listItem1.classList.add(\"pw-mb-3\");\n listItem1.innerHTML = \"The image is blur, please take a clear photo.\";\n const listItem2 = document.createElement(\"li\");\n listItem2.innerHTML =\n \"The image has glare issues, please take a clear photo in a well-lit area.\";\n list.appendChild(listItem1);\n list.appendChild(listItem2);\n selfieErrorDiv.appendChild(list);\n const contactSupportDiv = document.createElement(\"div\");\n contactSupportDiv.classList.add(\"pw-mb-16\");\n contactSupportDiv.innerHTML = `If a problem persists, please <a class=\"pw-text-primary pw-no-underline\" href=\"#\">contact support.</a>`;\n selfieErrorDiv.appendChild(contactSupportDiv);\n const retakeButton = (0, components_1.createPrimaryButton)(\"Retake\");\n retakeButton.addEventListener(\"click\", () => {\n this.
|
|
3740
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst StartSelfie_1 = __importDefault(__webpack_require__(/*! ./StartSelfie */ \"./src/pageClass/StartSelfie.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst example_selfie_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/example_selfie.png */ \"./src/assets/img/example_selfie.png\"));\nclass SelfieError extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(isRetake) {\n this.renderContent(this.createPage(isRetake));\n }\n createPage(isRetake) {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const selfieErrorDiv = document.createElement(\"div\");\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-mx-auto\", \"pw-mt-16\", \"pw-mb-4\", \"pw-text-center\");\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\");\n warningIcon.style.fontSize = \"60px\";\n iconContainer.appendChild(warningIcon);\n selfieErrorDiv.appendChild(iconContainer);\n const title = document.createElement(\"div\");\n title.classList.add(\"pw-text-center\", \"pw-text-3xl\", \"pw-mb-10\");\n title.innerHTML = \"Submission error\";\n selfieErrorDiv.appendChild(title);\n const selfieDiv = document.createElement(\"div\");\n selfieDiv.classList.add(\"pw-mb-8\");\n const selfieContainer = document.createElement(\"div\");\n selfieContainer.classList.add(\"pw-h-52\", \"pw-w-48\", \"pw-border-solid\", \"pw-border-grey-5\", \"pw-rounded-full\", \"pw-mx-auto\", \"pw-overflow-hidden\");\n selfieDiv.appendChild(selfieContainer);\n const selfieImage = document.createElement(\"img\");\n selfieImage.classList.add(\"pw-w-full\");\n selfieImage.setAttribute(\"src\", example_selfie_png_1.default);\n selfieContainer.appendChild(selfieImage);\n selfieErrorDiv.appendChild(selfieDiv);\n const list = document.createElement(\"ul\");\n list.classList.add(\"pw-mb-4\", \"pw-px-4\");\n const listItem1 = document.createElement(\"li\");\n listItem1.classList.add(\"pw-mb-3\");\n listItem1.innerHTML = \"The image is blur, please take a clear photo.\";\n const listItem2 = document.createElement(\"li\");\n listItem2.innerHTML =\n \"The image has glare issues, please take a clear photo in a well-lit area.\";\n list.appendChild(listItem1);\n list.appendChild(listItem2);\n selfieErrorDiv.appendChild(list);\n const contactSupportDiv = document.createElement(\"div\");\n contactSupportDiv.classList.add(\"pw-mb-16\");\n contactSupportDiv.innerHTML = `If a problem persists, please <a class=\"pw-text-primary pw-no-underline\" href=\"#\">contact support.</a>`;\n selfieErrorDiv.appendChild(contactSupportDiv);\n const retakeButton = (0, components_1.createPrimaryButton)(isRetake ? \"Retake\" : \"Proceed\");\n retakeButton.addEventListener(\"click\", () => {\n this.clearScreen();\n if (isRetake) {\n // redirect to selfie page again\n const startSelfie = new StartSelfie_1.default(this.mainScreenId, this.displayMode);\n return startSelfie.render();\n }\n // redirect to thank you page\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n reviewEkyc.render();\n });\n pageDiv.appendChild(selfieErrorDiv);\n pageDiv.appendChild(retakeButton);\n return pageDiv;\n }\n onClickRetake() { }\n}\nexports[\"default\"] = SelfieError;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/SelfieError.ts?");
|
|
3741
3741
|
|
|
3742
3742
|
/***/ }),
|
|
3743
3743
|
|
|
@@ -3759,7 +3759,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3759
3759
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3760
3760
|
|
|
3761
3761
|
"use strict";
|
|
3762
|
-
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst face_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/face-camera */ \"./src/plugins/face-camera.ts\"));\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\n// assets\nconst icon_selfie_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/icon-selfie.png */ \"./src/assets/img/icon-selfie.png\"));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst SelfieError_1 = __importDefault(__webpack_require__(/*! ./SelfieError */ \"./src/pageClass/SelfieError.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nclass StartSelfie extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const selfiePageDiv = document.createElement(\"div\");\n selfiePageDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const startSelfieDiv = document.createElement(\"div\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(4, 5);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n const closeButtonDiv = document.createElement(\"div\");\n closeButtonDiv.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeButton = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n closeButtonDiv.appendChild(closeButton);\n navigationDiv.appendChild(closeButtonDiv);\n startSelfieDiv.appendChild(navigationDiv);\n const iconDiv = document.createElement(\"div\");\n iconDiv.classList.add(\"pw-text-center\", \"pw-mb-9\");\n const icon = document.createElement(\"img\");\n icon.setAttribute(\"src\", icon_selfie_png_1.default);\n icon.setAttribute(\"alt\", \"eKYC Verification\");\n iconDiv.appendChild(icon);\n startSelfieDiv.appendChild(iconDiv);\n const wordingDiv = document.createElement(\"div\");\n wordingDiv.classList.add(\"pw-text-center\", \"pw-mb-4\");\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-4\");\n titleDiv.innerHTML = \"Take a selfie\";\n wordingDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.innerHTML =\n \"Position your face in the frame and follow the instructions given. Do not wear sunglasses, hat or accessories. Background must be light and neutral.\";\n wordingDiv.appendChild(descriptionDiv);\n startSelfieDiv.appendChild(wordingDiv);\n selfiePageDiv.appendChild(startSelfieDiv);\n const startSelfieButton = (0, components_1.createPrimaryButton)(\"Start selfie\");\n startSelfieButton.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n this.onClickSelfie();\n }));\n selfiePageDiv.appendChild(startSelfieButton);\n return selfiePageDiv;\n }\n createCameraDiv() {\n const screen = document.getElementById(this.mainScreenId);\n const cameraDiv = document.createElement(\"div\");\n cameraDiv.setAttribute(\"id\", \"pw-camera-container\");\n screen === null || screen === void 0 ? void 0 : screen.appendChild(cameraDiv);\n }\n uploadSelfie(detail) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // show loading spinner in full pg\n (0, components_1.createFullLoading)(this.mainScreenId);\n const { image, livenessScore } = detail;\n yield uisdk_1.pwInstance.uploadSelfie({\n selfie_base64: image,\n liveness_score: livenessScore,\n });\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)();\n }\n });\n }\n viewEkycResult() {\n return __awaiter(this, void 0, void 0, function* () {\n // show loading page\n const loadingPage = new LoadingPage_1.default(this.mainScreenId, this.displayMode);\n // 1. first desc in loading screen\n this.clearScreen();\n loadingPage.render(\"Securely uploading the pictures to server\", \"Please do not close your browser, this may take a moment.\");\n // 2. after 3 seconds\n // update desc in loading screen, and call sdk\n yield new Promise((resolve) => setTimeout(resolve, 3000));\n loadingPage.title = \"Analysing the pictures\";\n const payload = yield uisdk_1.pwInstance.viewResult();\n const { status, is_retriable, id_status, selfie_status, id_type, result, filepaths, } = payload;\n // 3. Redirect to page\n this.clearScreen();\n // redirect to thank you page and show update btn\n if (status === \"approved\") {\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n reviewEkyc.render({\n id_type,\n result,\n filepaths,\n });\n }\n // (fail: pending status / not able to retry)\n // redirect to thank you page and show ntg\n else if (!is_retriable || status === \"pending\") {\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n return reviewEkyc.render({\n id_type,\n result,\n filepaths,\n });\n }\n // (fail: review/rejected status - able to retry)\n // Pending: redirect to message pg (tell user to redo and show which part consist error)\n else {\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode, uisdk_1.pwInstance.verificationTypes);\n firstPage.render();\n }\n return true;\n });\n }\n onClickSelfie() {\n this.createCameraDiv();\n const faceCamera = new face_camera_1.default(\"pw-camera-container\", this.mainScreenId);\n faceCamera.init();\n faceCamera.listenToSelfieCapture((e) => __awaiter(this, void 0, void 0, function* () {\n try {\n faceCamera.pauseSmileFace();\n yield this.uploadSelfie(e.detail);\n faceCamera.stopVideoStream();\n yield this.viewEkycResult();\n }\n catch (err) {\n if (err.type &&\n [\n \"openApi/max-selfie-attempt\",\n \"openApi/max-session-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/session-id-expired\",\n \"attempt-exceeded\",\n \"session-id-expired\",\n ].includes(err.type)) {\n this.clearScreen();\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n return reviewEkyc.render();\n }\n else if (err.type &&\n [\n \"openApi/verification-type-invalid\",\n \"openApi/issuing-country-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ].includes(err.type)) {\n this.clearScreen();\n // redirect to selfie error page\n const selfieError = new SelfieError_1.default(this.mainScreenId, this.displayMode);\n return selfieError.render();\n }\n this.openErrorPage();\n }\n }));\n }\n}\nexports[\"default\"] = StartSelfie;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/StartSelfie.ts?");
|
|
3762
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst face_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/face-camera */ \"./src/plugins/face-camera.ts\"));\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\n// assets\nconst icon_selfie_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/icon-selfie.png */ \"./src/assets/img/icon-selfie.png\"));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst ReviewEkyc_1 = __importDefault(__webpack_require__(/*! ./ReviewEkyc */ \"./src/pageClass/ReviewEkyc.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst SelfieError_1 = __importDefault(__webpack_require__(/*! ./SelfieError */ \"./src/pageClass/SelfieError.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nclass StartSelfie extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.cameraId = \"pw-camera-container\";\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n const selfiePageDiv = document.createElement(\"div\");\n selfiePageDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const startSelfieDiv = document.createElement(\"div\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(4, 5);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n const closeButtonDiv = document.createElement(\"div\");\n closeButtonDiv.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeButton = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n closeButtonDiv.appendChild(closeButton);\n navigationDiv.appendChild(closeButtonDiv);\n startSelfieDiv.appendChild(navigationDiv);\n const iconDiv = document.createElement(\"div\");\n iconDiv.classList.add(\"pw-text-center\", \"pw-mb-9\");\n const icon = document.createElement(\"img\");\n icon.setAttribute(\"src\", icon_selfie_png_1.default);\n icon.setAttribute(\"alt\", \"eKYC Verification\");\n iconDiv.appendChild(icon);\n startSelfieDiv.appendChild(iconDiv);\n const wordingDiv = document.createElement(\"div\");\n wordingDiv.classList.add(\"pw-text-center\", \"pw-mb-4\");\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-4\");\n titleDiv.innerHTML = \"Take a selfie\";\n wordingDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.innerHTML =\n \"Position your face in the frame and follow the instructions given. Do not wear sunglasses, hat or accessories. Background must be light and neutral.\";\n wordingDiv.appendChild(descriptionDiv);\n startSelfieDiv.appendChild(wordingDiv);\n selfiePageDiv.appendChild(startSelfieDiv);\n const startSelfieButton = (0, components_1.createPrimaryButton)(\"Start selfie\");\n startSelfieButton.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n this.onClickSelfie();\n }));\n selfiePageDiv.appendChild(startSelfieButton);\n return selfiePageDiv;\n }\n createCameraDiv() {\n const screen = document.getElementById(this.mainScreenId);\n const cameraDiv = document.createElement(\"div\");\n cameraDiv.setAttribute(\"id\", this.cameraId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(cameraDiv);\n }\n uploadSelfie(detail) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // show loading spinner in full pg\n (0, components_1.createFullLoading)(this.cameraId);\n const { image, livenessScore } = detail;\n yield uisdk_1.pwInstance.uploadSelfie({\n selfie_base64: image,\n liveness_score: livenessScore,\n });\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n });\n }\n createEkycErrorPage() {\n var _a;\n const errorPage = this.openErrorPage(\"Submission error\", \"Unable to verify your documents. Please check your documents and resubmit again.\");\n const proceedButton = (0, components_1.createPrimaryButton)(\"Retry\");\n proceedButton.addEventListener(\"click\", () => {\n this.clearScreen();\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode, uisdk_1.pwInstance.verificationTypes);\n firstPage.render();\n });\n const proceedBtnDiv = document.createElement(\"div\");\n proceedBtnDiv.classList.add(\"pw-p-5\");\n proceedBtnDiv.appendChild(proceedButton);\n (_a = errorPage.querySelector(\"slot[name='footer']\")) === null || _a === void 0 ? void 0 : _a.appendChild(proceedBtnDiv);\n }\n viewEkycResult() {\n return __awaiter(this, void 0, void 0, function* () {\n // show loading page\n const loadingPage = new LoadingPage_1.default(this.mainScreenId, this.displayMode);\n // 1. first desc in loading screen\n this.clearScreen();\n loadingPage.render(\"Securely uploading the pictures to server\", \"Please do not close your browser, this may take a moment.\");\n // 2. after 3 seconds\n // update desc in loading screen, and call sdk\n yield new Promise((resolve) => setTimeout(resolve, 3000));\n loadingPage.title = \"Analysing the pictures\";\n const payload = yield uisdk_1.pwInstance.viewResult();\n const { status, is_retriable, id_status, selfie_status, id_type, result, filepaths, } = payload;\n // 3. Redirect to page\n this.clearScreen();\n // redirect to thank you page and show update btn\n if (status === \"approved\") {\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n reviewEkyc.render({\n id_type,\n result,\n filepaths,\n });\n }\n // (fail: pending status / not able to retry)\n // redirect to thank you page and show ntg\n else if (!is_retriable || status === \"pending\") {\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n reviewEkyc.render({\n id_type,\n result,\n filepaths,\n });\n }\n // (fail: review/rejected status - able to retry)\n // Pending: redirect to review error pg (tell user to redo)\n else\n this.createEkycErrorPage();\n return true;\n });\n }\n onClickSelfie() {\n this.createCameraDiv();\n const faceCamera = new face_camera_1.default(this.cameraId, this.mainScreenId);\n faceCamera.init();\n faceCamera.listenToSelfieCapture((e) => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n try {\n faceCamera.pauseSmileFace();\n yield this.uploadSelfie(e.detail);\n faceCamera.stopVideoStream();\n yield this.viewEkycResult();\n }\n catch (err) {\n this.clearScreen();\n // 1. when exceed max attempt, redirect to thank you page\n if (err.type &&\n [\n \"openApi/max-selfie-attempt\",\n \"openApi/max-session-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/session-id-expired\",\n \"attempt-exceeded\",\n \"session-id-expired\",\n ].includes(err.type)) {\n const reviewEkyc = new ReviewEkyc_1.default(this.mainScreenId, this.displayMode);\n return reviewEkyc.render();\n }\n // 2. when selfie is exposed, redirect to selfie error page\n else if (err.type && err.type === \"openApi/img-exposed\") {\n // redirect to selfie error page\n let isRetake = false;\n const pwErrorPayload = (_b = (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.payload;\n if (!!pwErrorPayload)\n isRetake = !!pwErrorPayload.is_retriable;\n const selfieError = new SelfieError_1.default(this.mainScreenId, this.displayMode);\n return selfieError.render(isRetake);\n }\n // 3. when view ekyc result fail due to doc upload not verified, redirect to review error page\n else if (err.type &&\n [\n \"openApi/verification-type-invalid\",\n \"openApi/issuing-country-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n ].includes(err.type)) {\n // redirect to review error pg (tell user to redo)\n this.createEkycErrorPage();\n }\n this.openErrorPage();\n }\n }));\n }\n}\nexports[\"default\"] = StartSelfie;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/StartSelfie.ts?");
|
|
3763
3763
|
|
|
3764
3764
|
/***/ }),
|
|
3765
3765
|
|
|
@@ -3770,7 +3770,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3770
3770
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3771
3771
|
|
|
3772
3772
|
"use strict";
|
|
3773
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\n// plugins\nconst card_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/card-camera */ \"./src/plugins/card-camera.ts\"));\n//
|
|
3773
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\n// plugins\nconst card_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/card-camera */ \"./src/plugins/card-camera.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst dropdownButton_1 = __importDefault(__webpack_require__(/*! ../components/dropdownButton */ \"./src/components/dropdownButton.ts\"));\n// assets\nconst icon_id_card_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/icon-id-card.png */ \"./src/assets/img/icon-id-card.png\"));\nconst icon_passport_png_1 = __importDefault(__webpack_require__(/*! ../assets/img/icon-passport.png */ \"./src/assets/img/icon-passport.png\"));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst ConfirmDoc_1 = __importDefault(__webpack_require__(/*! ./ConfirmDoc */ \"./src/pageClass/ConfirmDoc.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst doc_1 = __webpack_require__(/*! ../constant/doc */ \"./src/constant/doc.ts\");\nclass VerifyId extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.cameraId = \"pw-camera-container\";\n this.frontImg = \"\";\n this.backImg = \"\";\n }\n render() {\n this.renderContent(this.createPage());\n }\n createPage() {\n var _a;\n const verifyIdDiv = document.createElement(\"div\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-6\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(2, 5);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n const closeButton = document.createElement(\"div\");\n closeButton.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeButton.addEventListener(\"click\", () => this.closeMainPage());\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n verifyIdDiv.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-6\");\n titleDiv.innerHTML = \"Verify your ID\";\n verifyIdDiv.appendChild(titleDiv);\n // issuing country/region\n const countries = uisdk_1.pwInstance.issuingCountries;\n this.defaultCountry = ((_a = uisdk_1.pwInstance.defaultCountry) === null || _a === void 0 ? void 0 : _a.iso_code) || \"\";\n const fieldName = \"Issuing country/region\";\n // - dropdown button label\n const country = document.createElement(\"div\");\n country.classList.add(\"pw-mb-3\");\n country.innerHTML = fieldName;\n verifyIdDiv.appendChild(country);\n // - dropdown button instance\n const countryDropdown = new dropdownButton_1.default(\"issuing-country\", fieldName, countries.map((country) => {\n return { value: country.iso_code, label: country.name };\n }), this.defaultCountry);\n // - dropdown button event listener\n countryDropdown.onUpdateValue = (value) => {\n this.defaultCountry = value;\n };\n // - dropdown button render\n const countryDropdownDiv = countryDropdown.render();\n countryDropdownDiv.classList.add(\"pw-mb-6\");\n verifyIdDiv.appendChild(countryDropdownDiv);\n // ID card\n const documentTypeDiv = document.createElement(\"div\");\n documentTypeDiv.classList.add(\"pw-mb-3\");\n documentTypeDiv.innerHTML = \"Document type\";\n verifyIdDiv.appendChild(documentTypeDiv);\n const idButton = (0, components_1.createOutlineButton)(\"ID Card\", icon_id_card_png_1.default);\n idButton.classList.add(\"pw-mb-3\");\n // ID card button click event\n idButton.addEventListener(\"click\", () => {\n this.createCameraDiv();\n this.onClickDoc(\"national_identity_document\");\n });\n verifyIdDiv.appendChild(idButton);\n // License button click event\n const driverLicense = (0, components_1.createOutlineButton)(\"Driver's License\", icon_id_card_png_1.default);\n driverLicense.classList.add(\"pw-mb-3\");\n driverLicense.addEventListener(\"click\", () => {\n this.createCameraDiv();\n this.onClickDoc(\"driving_license\");\n });\n verifyIdDiv.appendChild(driverLicense);\n // Passport button click event\n const passport = (0, components_1.createOutlineButton)(\"Passport\", icon_passport_png_1.default);\n passport.classList.add(\"pw-mb-3\");\n passport.addEventListener(\"click\", () => {\n this.createCameraDiv();\n this.onClickDoc(\"passport\");\n });\n verifyIdDiv.appendChild(passport);\n return verifyIdDiv;\n }\n createCameraDiv() {\n const screen = document.getElementById(this.mainScreenId);\n const cameraDiv = document.createElement(\"div\");\n cameraDiv.setAttribute(\"id\", this.cameraId);\n screen === null || screen === void 0 ? void 0 : screen.appendChild(cameraDiv);\n }\n onClickDoc(docType) {\n const typeMapping = doc_1.cardTypeMapping[docType];\n const idCam = new card_camera_1.default(this.cameraId, typeMapping.front, this.mainScreenId);\n idCam.init();\n idCam.listenToCardCapture((payload) => {\n const { type, image } = payload.detail;\n // only need front img\n if (type === typeMapping.front && !typeMapping.back) {\n this.frontImg = image;\n (0, imagesHelper_1.setFrontImg)(this.frontImg);\n idCam.stopVideoStream();\n this.onRedirectDocConfirmPg(docType);\n }\n // need both front and back img\n else if (type === typeMapping.front) {\n this.frontImg = image;\n (0, imagesHelper_1.setFrontImg)(this.frontImg);\n this.renderLoadingScreen();\n setTimeout(() => {\n this.updateOverlayContent(this.swapSideDisplay());\n // idCam.flipOverlayContainer();\n // this.flipCard();\n }, 200);\n setTimeout(() => {\n this.removeOverlayElement();\n idCam.updateType(typeMapping.back);\n }, 2000);\n }\n else if (type === typeMapping.back) {\n this.backImg = image;\n (0, imagesHelper_1.setBackImg)(this.backImg);\n idCam.stopVideoStream();\n this.onRedirectDocConfirmPg(docType);\n }\n });\n }\n onRedirectDocConfirmPg(docType) {\n const confirmDoc = new ConfirmDoc_1.default(this.mainScreenId, this.displayMode, this.defaultCountry || \"\", docType);\n this.clearScreen();\n confirmDoc.render();\n }\n swapSideDisplay() {\n const swapSide = document.createElement(\"div\");\n swapSide.classList.add(\"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\");\n const cardDescription = document.createElement(\"div\");\n cardDescription.classList.add(\"pw-text-center\", \"pw-mb-5\", \"pw-text-2xl\", \"pw-text-white\");\n cardDescription.innerHTML = \"Flip the other side\";\n swapSide.appendChild(cardDescription);\n const cardContainer = document.createElement(\"div\");\n cardContainer.classList.add(\"pw-text-center\");\n const card = (0, getGoogleIcon_1.getGoogleIcon)(\"credit_card\");\n card.classList.add(\"pw-text-white\", \"pw-text-center\", \"pw-animate-camera\");\n card.style.fontSize = \"77px\";\n cardContainer.appendChild(card);\n swapSide.appendChild(cardContainer);\n return swapSide;\n }\n}\nexports[\"default\"] = VerifyId;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyId.ts?");
|
|
3774
3774
|
|
|
3775
3775
|
/***/ }),
|
|
3776
3776
|
|
|
@@ -3781,7 +3781,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3781
3781
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3782
3782
|
|
|
3783
3783
|
"use strict";
|
|
3784
|
-
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst card_detection_1 = __importDefault(__webpack_require__(/*! ./card-detection */ \"./src/plugins/card-detection.ts\"));\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst camera_instruction_1 = __importDefault(__webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\"));\nconst bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nclass CardCamera {\n constructor(cameraId, cardType, mainScreenId = \"\") {\n this.cameraTimeLimit = 90000;\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.footerElement = null;\n this.cameraId = cameraId;\n this.cardType = cardType;\n this.mainScreenId = mainScreenId;\n }\n isMobile() {\n const navigator = window.navigator.userAgent ||\n window.navigator.vendor ||\n window.opera;\n if (!navigator)\n return false;\n const isMobile = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(navigator) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.substr(0, 4));\n return isMobile;\n }\n captureImage() {\n return __awaiter(this, void 0, void 0, function* () {\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n const bitmap = (yield this.imageCapture.grabFrame()) || this.videoElement;\n const { width, height } = this.cardDetectionSdk.calculateHeightNWidth(bitmap.width, bitmap.height);\n if (!context)\n return \"\";\n //draw image to canvas, scale to target dimensions\n canvas.width = bitmap.width;\n canvas.height = bitmap.height;\n context.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height);\n // crop the selected part image\n const x = (bitmap.width - width) / 2;\n const y = (bitmap.height - height) / 2;\n const imgData = context.getImageData(x, y, width, height);\n canvas.width = width;\n canvas.height = height;\n context.putImageData(imgData, 0, 0);\n //convert to desired file format\n return canvas.toDataURL(\"image/jpeg\");\n });\n }\n init() {\n // 1. Draw the camera display\n this.drawCameraDisplay();\n // 2. Setup related SDK\n const { videoElement, canvasElement, overlayElement, titleElement } = this;\n this.cardDetectionSdk = new card_detection_1.default({\n videoElement,\n canvasElement,\n overlayElement,\n titleElement,\n });\n // 3. Get the camera permission and trigger the card detection\n this.cameraInit();\n // 4. Start timer to close camera\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n yield this.stopVideoStream();\n this.openIdleDialog();\n }), this.cameraTimeLimit);\n }\n openIdleDialog() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const overlay = document.createElement(\"div\");\n overlay.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-inset-0\", \"pw-z-50\");\n const overlayContent = document.createElement(\"div\");\n overlayContent.classList.add(\"pw-box-sizing\", \"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\", \"pw-p-5\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-w-4/5\", \"pw-text-center\");\n overlay.appendChild(overlayContent);\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\", \"pw-pt-1\", \"pw-mb-4\");\n warningIcon.style.fontSize = \"60px\";\n overlayContent.appendChild(warningIcon);\n const dialogWording = document.createElement(\"div\");\n dialogWording.classList.add(\"pw-text-center\", \"pw-mb-6\");\n dialogWording.innerHTML = \"You have been idle for too long.\";\n overlayContent.appendChild(dialogWording);\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-w-36\", \"pw-mx-auto\");\n const okayButton = (0, components_1.createSecondaryButton)(\"Okay\");\n buttonContainer.appendChild(okayButton);\n overlayContent.appendChild(buttonContainer);\n okayButton.addEventListener(\"click\", () => {\n overlay.remove();\n });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.appendChild(overlay);\n }\n drawCameraDisplay() {\n // 1. header section\n const header = document.createElement(\"div\");\n header.id = camera_1.ELEMENT_IDS.HEADER;\n // header.classList.add(\"camera-header-area\");\n header.classList.add(\"pw-absolute\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-px-5\", \"pw-py-4\", \"pw-flex\", \"pw-justify-between\", \"pw-items-end\", \"pw-mb-4\");\n const backArrow = (0, getGoogleIcon_1.getGoogleIcon)(\"arrow_back_ios\");\n backArrow.classList.add(\"pw-cursor-pointer\");\n backArrow.addEventListener(\"click\", () => {\n this.stopVideoStream();\n });\n navigationDiv.appendChild(backArrow);\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.id = \"pw-camera-title\";\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // Set title\n titleDiv.innerHTML = camera_instruction_1.default[this.cardType].title;\n header.appendChild(titleDiv);\n this.titleElement = titleDiv;\n // Set Description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.innerHTML =\n \"Place your document within the frame and take photo.\";\n header.appendChild(descriptionDiv);\n const body = document.createElement(\"div\");\n body.id = camera_1.ELEMENT_IDS.BODY;\n body.classList.add(\"camera-body-area\");\n const videoContainer = document.createElement(\"div\");\n videoContainer.id = camera_1.ELEMENT_IDS.VIDEO_CONTAINER;\n videoContainer.classList.add(\"video-container\");\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = camera_1.ELEMENT_IDS.OVERLAY_CONTAINER;\n overlayContainer.classList.add(\"overlay-container\");\n const overlayElement = document.createElement(\"div\");\n overlayElement.id = camera_1.ELEMENT_IDS.OVERLAY;\n overlayElement.classList.add(\"overlay-element\");\n overlayElement.classList.add(\"pw-hidden\");\n const topBorderElement = document.createElement(\"div\");\n topBorderElement.id = camera_1.ELEMENT_IDS.TOP_BORDER;\n topBorderElement.classList.add(\"border-element\");\n topBorderElement.classList.add(\"border-top-element\");\n const bottomBorderElement = document.createElement(\"div\");\n bottomBorderElement.id = camera_1.ELEMENT_IDS.BOTTOM_BORDER;\n bottomBorderElement.classList.add(\"border-element\");\n bottomBorderElement.classList.add(\"border-bottom-element\");\n const canvasElement = document.createElement(\"canvas\");\n canvasElement.id = camera_1.ELEMENT_IDS.CANVAS;\n canvasElement.classList.add(\"video-element\");\n canvasElement.classList.add(\"canvas-element\");\n const videoElement = document.createElement(\"video\");\n videoElement.id = camera_1.ELEMENT_IDS.VIDEO;\n videoElement.autoplay = true;\n videoElement.classList.add(\"video-element\");\n // 2.1\n this.videoElement = videoElement;\n this.overlayElement = overlayElement;\n this.canvasElement = canvasElement;\n overlayElement.appendChild(topBorderElement);\n overlayElement.appendChild(bottomBorderElement);\n overlayContainer.appendChild(overlayElement);\n videoContainer.appendChild(overlayContainer);\n videoContainer.appendChild(canvasElement);\n videoContainer.appendChild(videoElement);\n body.appendChild(videoContainer);\n // 3. append child\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\n mainBody.classList.add(\"camera-bg\", \"pw-overflow-y-hidden\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n }\n listenToCardCapture(cb) {\n const cameraBody = document.getElementById(this.cameraId);\n cameraBody === null || cameraBody === void 0 ? void 0 : cameraBody.addEventListener(\"captureImage\", (e) => {\n cb(e);\n });\n }\n // here also is where the take picture button resides\n renderCameraBottomUi() {\n const footer = document.createElement(\"div\");\n footer.id = camera_1.ELEMENT_IDS.FOOTER;\n footer.classList.add(\"pw-absolute\", \"pw-bottom-[10%]\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\", \"pw-relative\");\n const takePicButton = document.createElement(\"div\");\n takePicButton.id = \"takePicButton\";\n takePicButton.classList.add(\"pw-box-border\", \"pw-mx-auto\", \"pw-absolute\", \"pw-bottom-16\", \"pw-relative\", \"pw-rounded-full\", \"pw-h-16\", \"pw-w-16\", \"pw-border-solid\", \"pw-border-white\", \"pw-border-4\", \"pw-cursor-pointer\");\n const smallCircleContainer = document.createElement(\"div\");\n smallCircleContainer.classList.add(\"pw-absolute\", \"pw-top-1/2\", \"-pw-translate-y-1/2\", \"pw-left-1/2\", \"-pw-translate-x-1/2\");\n takePicButton.appendChild(smallCircleContainer);\n const smallCircle = document.createElement(\"div\");\n smallCircle.classList.add(\"pw-w-11\", \"pw-h-11\", \"pw-bg-white\", \"pw-rounded-full\", \"pw-transition-all\", \"pw-duration-100\", \"active:pw-scale-90\");\n smallCircleContainer.appendChild(smallCircle);\n footer.appendChild(takePicButton);\n takePicButton.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n const mainBody = document.getElementById(this.cameraId);\n const image = yield this.captureImage();\n const event = new CustomEvent(\"captureImage\", {\n detail: {\n image,\n type: this.cardType,\n },\n });\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.dispatchEvent(event);\n }));\n const mainBody = document.getElementById(this.cameraId);\n const helpDialog = new bottomDialog_1.default(\"pw-help-card-camera\");\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(helpDialog.render());\n const dialogContent = document.createElement(\"div\");\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const item_1 = document.createElement(\"li\");\n item_1.innerHTML = \"Position your face within the frame.\";\n ul.appendChild(item_1);\n const item_2 = document.createElement(\"li\");\n item_2.innerHTML = \"Make sure your face is not blur or cropped.\";\n ul.appendChild(item_2);\n const item_3 = document.createElement(\"li\");\n item_3.innerHTML = \"Avoid reflection and glare.\";\n ul.appendChild(item_3);\n dialogContent.appendChild(ul);\n helpDialog.addContent(dialogContent);\n const helpIcon = document.createElement(\"span\");\n helpIcon.classList.add(\"pw-absolute\", \"pw-bottom-28\", \"pw-left-10\", \"material-symbols-outlined\", \"pw-scale-[1.7]\");\n helpIcon.innerHTML = \"help\";\n helpIcon.addEventListener(\"click\", () => {\n helpDialog.openDialog();\n });\n footer.appendChild(helpIcon);\n this.footerElement = footer;\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(footer);\n }\n stopVideoStream() {\n if (!this.videoElement)\n return;\n const stream = this.videoElement.srcObject;\n if (!stream)\n return;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.videoElement.srcObject = null;\n const cameraDiv = document.getElementById(this.cameraId);\n cameraDiv === null || cameraDiv === void 0 ? void 0 : cameraDiv.remove();\n }\n updateType(cardType) {\n this.cardType = cardType;\n const title = document.getElementById(\"pw-camera-title\");\n if (title) {\n title.innerHTML = camera_instruction_1.default[this.cardType].title;\n }\n }\n loadVideoStream(videoElement) {\n const initialConstraints = {\n facingMode: \"environment\",\n width: {\n ideal: 1280, // 1280, 1024, 640\n },\n height: {\n ideal: 960, // 960, 768, 480\n },\n video: true,\n };\n // Load the video stream\n const nav = window.navigator.mediaDevices\n ? window.navigator.mediaDevices\n : window.navigator;\n if (!nav)\n return;\n nav\n .getUserMedia({ video: initialConstraints })\n .then((stream) => {\n videoElement.srcObject = stream;\n const videoTrack = stream.getVideoTracks()[0];\n this.imageCapture = new ImageCapture(videoTrack);\n })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n if (!this.videoElement)\n return;\n this.loadVideoStream(this.videoElement);\n // video event listeners\n this.videoElement.addEventListener(\"loadedmetadata\", () => {\n var _a;\n this.cardDetectionSdk.init(this.cardType);\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-hidden\");\n });\n this.videoElement.addEventListener(\"resize\", () => {\n const isFooterExist = document.getElementById(camera_1.ELEMENT_IDS.FOOTER);\n if (!isFooterExist) {\n this.renderCameraBottomUi();\n }\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n screen.orientation.addEventListener(\"change\", () => {\n const orientationType = screen.orientation.type;\n if (!orientationType || !this.isMobile)\n return;\n if ([\"landscape-primary\", \"landscape-secondary\"].includes(orientationType)) {\n // TO ADD DIALOG ASK USER TO USE POTRAIT VIEW\n }\n else if ([\"portrait-secondary\", \"portrait-primary\"].includes(orientationType)) {\n // TO BE CONFIRM IF NEED CLOSE DIALOG\n }\n });\n }\n resizeElement() {\n const videoContainer = document.getElementById(camera_1.ELEMENT_IDS.VIDEO_CONTAINER);\n if (window.screen.width < window.screen.height) {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", window.screen.width > 640 ? \"auto\" : \"100%\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n else {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", \"auto\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n this.cardDetectionSdk.resizeElement();\n }\n listenToClickHelp(cb) {\n const mainBody = document.getElementById(this.cameraId);\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.addEventListener(\"click:helpIcon\", () => {\n cb();\n });\n }\n}\nexports[\"default\"] = CardCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/card-camera.ts?");
|
|
3784
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst card_detection_1 = __importDefault(__webpack_require__(/*! ./card-detection */ \"./src/plugins/card-detection.ts\"));\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst camera_instruction_1 = __importDefault(__webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\"));\nconst bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nclass CardCamera {\n constructor(cameraId, cardType, mainScreenId = \"\") {\n this.cameraTimeLimit = 90000;\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.footerElement = null;\n this.cameraId = cameraId;\n this.cardType = cardType;\n this.mainScreenId = mainScreenId;\n }\n isMobile() {\n const navigator = window.navigator.userAgent ||\n window.navigator.vendor ||\n window.opera;\n if (!navigator)\n return false;\n const isMobile = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(navigator) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.substr(0, 4));\n return isMobile;\n }\n captureImage() {\n return __awaiter(this, void 0, void 0, function* () {\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n const bitmap = (yield this.imageCapture.grabFrame()) || this.videoElement;\n const { width, height } = this.cardDetectionSdk.calculateHeightNWidth(bitmap.width, bitmap.height);\n if (!context)\n return \"\";\n //draw image to canvas, scale to target dimensions\n canvas.width = bitmap.width;\n canvas.height = bitmap.height;\n context.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height);\n // crop the selected part image\n const x = (bitmap.width - width) / 2;\n const y = (bitmap.height - height) / 2;\n const imgData = context.getImageData(x, y, width, height);\n canvas.width = width;\n canvas.height = height;\n context.putImageData(imgData, 0, 0);\n //convert to desired file format\n return canvas.toDataURL(\"image/jpeg\");\n });\n }\n init() {\n try {\n // show loading spinner in full pg\n (0, components_1.createFullLoading)(this.cameraId, \"Initializing Camera...\");\n // 1. Draw the camera display\n this.drawCameraDisplay();\n // 2. Setup related SDK\n const { videoElement, canvasElement, overlayElement, titleElement } = this;\n this.cardDetectionSdk = new card_detection_1.default({\n videoElement,\n canvasElement,\n overlayElement,\n titleElement,\n });\n // 3. Get the camera permission and trigger the card detection\n this.cameraInit();\n // 4. Start timer to close camera\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n yield this.stopVideoStream();\n this.openIdleDialog();\n }), this.cameraTimeLimit);\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n }\n openIdleDialog() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const overlay = document.createElement(\"div\");\n overlay.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-inset-0\", \"pw-z-50\");\n const overlayContent = document.createElement(\"div\");\n overlayContent.classList.add(\"pw-box-sizing\", \"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\", \"pw-p-5\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-w-4/5\", \"pw-text-center\");\n overlay.appendChild(overlayContent);\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\", \"pw-pt-1\", \"pw-mb-4\");\n warningIcon.style.fontSize = \"60px\";\n overlayContent.appendChild(warningIcon);\n const dialogWording = document.createElement(\"div\");\n dialogWording.classList.add(\"pw-text-center\", \"pw-mb-6\");\n dialogWording.innerHTML = \"You have been idle for too long.\";\n overlayContent.appendChild(dialogWording);\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-w-36\", \"pw-mx-auto\");\n const okayButton = (0, components_1.createSecondaryButton)(\"Okay\");\n buttonContainer.appendChild(okayButton);\n overlayContent.appendChild(buttonContainer);\n okayButton.addEventListener(\"click\", () => {\n overlay.remove();\n });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.appendChild(overlay);\n }\n drawCameraDisplay() {\n // 1. header section\n const header = document.createElement(\"div\");\n header.id = camera_1.ELEMENT_IDS.HEADER;\n // header.classList.add(\"camera-header-area\");\n header.classList.add(\"pw-absolute\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-px-5\", \"pw-py-4\", \"pw-flex\", \"pw-justify-between\", \"pw-items-end\", \"pw-mb-4\");\n const backArrow = (0, getGoogleIcon_1.getGoogleIcon)(\"arrow_back_ios\");\n backArrow.classList.add(\"pw-cursor-pointer\");\n backArrow.addEventListener(\"click\", () => {\n this.stopVideoStream();\n });\n navigationDiv.appendChild(backArrow);\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.id = \"pw-camera-title\";\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // Set title\n titleDiv.innerHTML = camera_instruction_1.default[this.cardType].title;\n header.appendChild(titleDiv);\n this.titleElement = titleDiv;\n // Set Description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.innerHTML =\n \"Place your document within the frame and take photo.\";\n header.appendChild(descriptionDiv);\n const body = document.createElement(\"div\");\n body.id = camera_1.ELEMENT_IDS.BODY;\n body.classList.add(\"camera-body-area\");\n const videoContainer = document.createElement(\"div\");\n videoContainer.id = camera_1.ELEMENT_IDS.VIDEO_CONTAINER;\n videoContainer.classList.add(\"video-container\");\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = camera_1.ELEMENT_IDS.OVERLAY_CONTAINER;\n overlayContainer.classList.add(\"overlay-container\");\n const overlayElement = document.createElement(\"div\");\n overlayElement.id = camera_1.ELEMENT_IDS.OVERLAY;\n overlayElement.classList.add(\"overlay-element\");\n overlayElement.classList.add(\"pw-hidden\");\n const topBorderElement = document.createElement(\"div\");\n topBorderElement.id = camera_1.ELEMENT_IDS.TOP_BORDER;\n topBorderElement.classList.add(\"border-element\");\n topBorderElement.classList.add(\"border-top-element\");\n const bottomBorderElement = document.createElement(\"div\");\n bottomBorderElement.id = camera_1.ELEMENT_IDS.BOTTOM_BORDER;\n bottomBorderElement.classList.add(\"border-element\");\n bottomBorderElement.classList.add(\"border-bottom-element\");\n const canvasElement = document.createElement(\"canvas\");\n canvasElement.id = camera_1.ELEMENT_IDS.CANVAS;\n canvasElement.classList.add(\"video-element\");\n canvasElement.classList.add(\"canvas-element\");\n const videoElement = document.createElement(\"video\");\n videoElement.id = camera_1.ELEMENT_IDS.VIDEO;\n videoElement.autoplay = true;\n videoElement.classList.add(\"video-element\");\n // 2.1\n this.videoElement = videoElement;\n this.overlayElement = overlayElement;\n this.canvasElement = canvasElement;\n overlayElement.appendChild(topBorderElement);\n overlayElement.appendChild(bottomBorderElement);\n overlayContainer.appendChild(overlayElement);\n videoContainer.appendChild(overlayContainer);\n videoContainer.appendChild(canvasElement);\n videoContainer.appendChild(videoElement);\n body.appendChild(videoContainer);\n // 3. append child\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\n mainBody.classList.add(\"camera-bg\", \"pw-overflow-y-hidden\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n }\n listenToCardCapture(cb) {\n const cameraBody = document.getElementById(this.cameraId);\n cameraBody === null || cameraBody === void 0 ? void 0 : cameraBody.addEventListener(\"captureImage\", (e) => {\n cb(e);\n });\n }\n // here also is where the take picture button resides\n renderCameraBottomUi() {\n const footer = document.createElement(\"div\");\n footer.id = camera_1.ELEMENT_IDS.FOOTER;\n footer.classList.add(\"pw-absolute\", \"pw-bottom-[10%]\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\", \"pw-relative\");\n const takePicButton = document.createElement(\"div\");\n takePicButton.id = \"takePicButton\";\n takePicButton.classList.add(\"pw-box-border\", \"pw-mx-auto\", \"pw-absolute\", \"pw-bottom-16\", \"pw-relative\", \"pw-rounded-full\", \"pw-h-16\", \"pw-w-16\", \"pw-border-solid\", \"pw-border-white\", \"pw-border-4\", \"pw-cursor-pointer\");\n const smallCircleContainer = document.createElement(\"div\");\n smallCircleContainer.classList.add(\"pw-absolute\", \"pw-top-1/2\", \"-pw-translate-y-1/2\", \"pw-left-1/2\", \"-pw-translate-x-1/2\");\n takePicButton.appendChild(smallCircleContainer);\n const smallCircle = document.createElement(\"div\");\n smallCircle.classList.add(\"pw-w-11\", \"pw-h-11\", \"pw-bg-white\", \"pw-rounded-full\", \"pw-transition-all\", \"pw-duration-100\", \"active:pw-scale-90\");\n smallCircleContainer.appendChild(smallCircle);\n footer.appendChild(takePicButton);\n takePicButton.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n const mainBody = document.getElementById(this.cameraId);\n const image = yield this.captureImage();\n const event = new CustomEvent(\"captureImage\", {\n detail: {\n image,\n type: this.cardType,\n },\n });\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.dispatchEvent(event);\n }));\n const mainBody = document.getElementById(this.cameraId);\n const helpDialog = new bottomDialog_1.default(\"pw-help-card-camera\");\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(helpDialog.render());\n const dialogContent = document.createElement(\"div\");\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const item_1 = document.createElement(\"li\");\n item_1.innerHTML = \"Position your face within the frame.\";\n ul.appendChild(item_1);\n const item_2 = document.createElement(\"li\");\n item_2.innerHTML = \"Make sure your face is not blur or cropped.\";\n ul.appendChild(item_2);\n const item_3 = document.createElement(\"li\");\n item_3.innerHTML = \"Avoid reflection and glare.\";\n ul.appendChild(item_3);\n dialogContent.appendChild(ul);\n helpDialog.addContent(dialogContent);\n const helpIcon = document.createElement(\"span\");\n helpIcon.classList.add(\"pw-absolute\", \"pw-bottom-28\", \"pw-left-10\", \"material-symbols-outlined\", \"pw-scale-[1.7]\");\n helpIcon.innerHTML = \"help\";\n helpIcon.addEventListener(\"click\", () => {\n helpDialog.openDialog();\n });\n footer.appendChild(helpIcon);\n this.footerElement = footer;\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(footer);\n }\n stopVideoStream() {\n if (!this.videoElement)\n return;\n const stream = this.videoElement.srcObject;\n if (!stream)\n return;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.videoElement.srcObject = null;\n const cameraDiv = document.getElementById(this.cameraId);\n cameraDiv === null || cameraDiv === void 0 ? void 0 : cameraDiv.remove();\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n updateType(cardType) {\n this.cardType = cardType;\n const title = document.getElementById(\"pw-camera-title\");\n if (title) {\n title.innerHTML = camera_instruction_1.default[this.cardType].title;\n }\n }\n loadVideoStream(videoElement) {\n const initialConstraints = {\n facingMode: \"environment\",\n width: {\n ideal: 1280, // 1280, 1024, 640\n },\n height: {\n ideal: 960, // 960, 768, 480\n },\n video: true,\n };\n // Load the video stream\n const nav = window.navigator.mediaDevices\n ? window.navigator.mediaDevices\n : window.navigator;\n if (!nav)\n return;\n nav\n .getUserMedia({ video: initialConstraints })\n .then((stream) => {\n videoElement.srcObject = stream;\n const videoTrack = stream.getVideoTracks()[0];\n this.imageCapture = new ImageCapture(videoTrack);\n })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n if (!this.videoElement)\n return;\n this.loadVideoStream(this.videoElement);\n // video event listeners\n this.videoElement.addEventListener(\"loadedmetadata\", () => {\n var _a;\n this.cardDetectionSdk.init(this.cardType);\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-hidden\");\n });\n this.videoElement.addEventListener(\"resize\", () => {\n const isFooterExist = document.getElementById(camera_1.ELEMENT_IDS.FOOTER);\n if (!isFooterExist) {\n this.renderCameraBottomUi();\n }\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n screen.orientation.addEventListener(\"change\", () => {\n const orientationType = screen.orientation.type;\n if (!orientationType || !this.isMobile)\n return;\n if ([\"landscape-primary\", \"landscape-secondary\"].includes(orientationType)) {\n // TO ADD DIALOG ASK USER TO USE POTRAIT VIEW\n }\n else if ([\"portrait-secondary\", \"portrait-primary\"].includes(orientationType)) {\n // TO BE CONFIRM IF NEED CLOSE DIALOG\n }\n });\n }\n resizeElement() {\n const videoContainer = document.getElementById(camera_1.ELEMENT_IDS.VIDEO_CONTAINER);\n if (window.screen.width < window.screen.height) {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", window.screen.width > 640 ? \"auto\" : \"100%\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n else {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", \"auto\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n this.cardDetectionSdk.resizeElement();\n }\n listenToClickHelp(cb) {\n const mainBody = document.getElementById(this.cameraId);\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.addEventListener(\"click:helpIcon\", () => {\n cb();\n });\n }\n}\nexports[\"default\"] = CardCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/card-camera.ts?");
|
|
3785
3785
|
|
|
3786
3786
|
/***/ }),
|
|
3787
3787
|
|
|
@@ -3803,7 +3803,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3803
3803
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3804
3804
|
|
|
3805
3805
|
"use strict";
|
|
3806
|
-
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst face_detection_1 = __importDefault(__webpack_require__(/*! ./face-detection */ \"./src/plugins/face-detection.ts\"));\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass FaceCamera {\n constructor(cameraId, mainScreenId = \"\") {\n this.cameraTimeLimit = 90000;\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.cameraId = cameraId;\n this.mainScreenId = mainScreenId;\n }\n isMobile() {\n const navigator = window.navigator.userAgent ||\n window.navigator.vendor ||\n window.opera;\n if (!navigator)\n return false;\n const isMobile = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(navigator) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.substr(0, 4));\n return isMobile;\n }\n captureImage() {\n return __awaiter(this, void 0, void 0, function* () {\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n const bitmap = (yield this.imageCapture.grabFrame()) || this.videoElement;\n const { width, height } = this.faceDetectionSdk.calculateHeightNWidth(bitmap.width, bitmap.height);\n if (!context)\n return \"\";\n //draw image to canvas, scale to target dimensions\n canvas.width = bitmap.width;\n canvas.height = bitmap.height;\n context.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height);\n // crop the selected part image\n const x = (bitmap.width - width) / 2;\n const y = (bitmap.height - height) / 2;\n const imgData = context.getImageData(x, y, width, height);\n canvas.width = width;\n canvas.height = height;\n context.putImageData(imgData, 0, 0);\n //convert to desired file format\n return canvas.toDataURL(\"image/jpeg\");\n });\n }\n init() {\n // 1. Draw the camera display\n this.drawCameraDisplay();\n // 2. Setup related SDK\n const { videoElement, canvasElement, overlayElement, titleElement } = this;\n this.faceDetectionSdk = new face_detection_1.default({\n videoElement,\n canvasElement,\n overlayElement,\n titleElement,\n });\n // 3. Get the camera permission and trigger the selfie detection\n this.cameraInit();\n // 4. Trigger event after 3 seconds of face detection\n this.faceDetectionSdk.setCaptureImage((livenessScore) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const image = yield this.captureImage();\n const event = new CustomEvent(\"selfieCapture\", {\n detail: { image, livenessScore },\n });\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n }));\n // 5. Face camera custom events listeners\n const description = document.getElementById(\"pw-camera-description\");\n this.faceDetectionSdk.listenToUserNoSmile(() => {\n if (description) {\n description.innerHTML = \"Please smile at the camera\";\n }\n });\n this.faceDetectionSdk.listenToUserSmiled(() => {\n if (description) {\n description.innerHTML = \"Please keep smiling for 3 seconds\";\n }\n });\n this.faceDetectionSdk.listenToUserSmiledButNotLiveness(() => {\n if (description) {\n description.innerHTML =\n \"Please show a neutral expression at the camera.\";\n }\n });\n this.faceDetectionSdk.listenToLookStraight(() => {\n if (description) {\n description.innerHTML = \"Please look straight at the camera\";\n }\n });\n this.faceDetectionSdk.listenToPlaceFace(() => {\n if (description) {\n description.innerHTML = \"Place your face within the rounded frame.\";\n }\n });\n // 6. Start timer to close camera\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n yield this.stopVideoStream();\n this.openIdleDialog();\n }), this.cameraTimeLimit);\n }\n openIdleDialog() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const overlay = document.createElement(\"div\");\n overlay.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-inset-0\", \"pw-z-50\");\n const overlayContent = document.createElement(\"div\");\n overlayContent.classList.add(\"pw-box-sizing\", \"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\", \"pw-p-5\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-w-4/5\", \"pw-text-center\");\n overlay.appendChild(overlayContent);\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\", \"pw-pt-1\", \"pw-mb-4\");\n warningIcon.style.fontSize = \"60px\";\n overlayContent.appendChild(warningIcon);\n const dialogWording = document.createElement(\"div\");\n dialogWording.classList.add(\"pw-text-center\", \"pw-mb-6\");\n dialogWording.innerHTML = \"You have been idle for too long.\";\n overlayContent.appendChild(dialogWording);\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-w-36\", \"pw-mx-auto\");\n const okayButton = (0, components_1.createSecondaryButton)(\"Okay\");\n buttonContainer.appendChild(okayButton);\n overlayContent.appendChild(buttonContainer);\n okayButton.addEventListener(\"click\", () => {\n overlay.remove();\n });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.appendChild(overlay);\n }\n drawCameraDisplay() {\n // 1. header section\n const header = document.createElement(\"div\");\n header.id = camera_1.ELEMENT_IDS.HEADER;\n // header.classList.add(\"camera-header-area\");\n header.classList.add(\"pw-absolute\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-px-5\", \"pw-py-4\", \"pw-flex\", \"pw-justify-between\", \"pw-items-end\", \"pw-mb-4\");\n const backArrow = document.createElement(\"span\");\n backArrow.classList.add(\"material-symbols-outlined\");\n backArrow.innerHTML = \"arrow_back_ios\";\n backArrow.addEventListener(\"click\", () => {\n this.stopVideoStream();\n });\n navigationDiv.appendChild(backArrow);\n // const close = document.createElement(\"span\");\n // close.classList.add(\"material-symbols-outlined\");\n // close.innerHTML = \"close\";\n // navigationDiv.appendChild(close);\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.id = \"pw-camera-title\";\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // Set Description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.id = \"pw-camera-description\";\n descriptionDiv.innerHTML = \"Place your face within the rounded frame\";\n this.descriptionElement = descriptionDiv;\n header.appendChild(descriptionDiv);\n const body = document.createElement(\"div\");\n body.id = camera_1.ELEMENT_IDS.BODY;\n body.classList.add(\"camera-body-area\");\n const videoContainer = document.createElement(\"div\");\n videoContainer.id = camera_1.ELEMENT_IDS.VIDEO_CONTAINER;\n videoContainer.classList.add(\"video-container\");\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = camera_1.ELEMENT_IDS.OVERLAY_CONTAINER;\n overlayContainer.classList.add(\"overlay-container\");\n const overlayElement = document.createElement(\"div\");\n overlayElement.id = camera_1.ELEMENT_IDS.OVERLAY;\n overlayElement.classList.add(\"overlay-element\");\n overlayElement.classList.add(\"pw-hidden\");\n const canvasElement = document.createElement(\"canvas\");\n canvasElement.id = camera_1.ELEMENT_IDS.CANVAS;\n canvasElement.classList.add(\"video-element\");\n canvasElement.classList.add(\"canvas-element\");\n canvasElement.style.transform = \"scaleX(-1)\";\n const videoElement = document.createElement(\"video\");\n videoElement.id = camera_1.ELEMENT_IDS.VIDEO;\n videoElement.autoplay = true;\n videoElement.classList.add(\"video-element\");\n videoElement.style.transform = \"scaleX(-1)\";\n // green tick icon\n const iconElement = document.createElement(\"span\");\n iconElement.id = \"pw-camera-check-icon\";\n iconElement.classList.add(\"pw-hidden\", \"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-w-full\", \"pw-h-full\", \"pw-flex\", \"pw-items-center\", \"pw-justify-center\");\n const checkIcon = document.createElement(\"span\");\n checkIcon.classList.add(\"material-icons\", \"pw-text-green-500\", \"pw-text-4xl\", \"pw-rounded-full\");\n checkIcon.style.fontSize = \"48px\";\n checkIcon.innerHTML = \"check_circle\";\n iconElement.appendChild(checkIcon);\n // 2.1\n this.videoElement = videoElement;\n this.overlayElement = overlayElement;\n this.canvasElement = canvasElement;\n overlayContainer.appendChild(overlayElement);\n overlayContainer.appendChild(iconElement);\n videoContainer.appendChild(overlayContainer);\n videoContainer.appendChild(canvasElement);\n videoContainer.appendChild(videoElement);\n body.appendChild(videoContainer);\n // 3. append child\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\n mainBody.classList.add(\"camera-bg\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n }\n loadVideoStream(videoElement) {\n const initialConstraints = {\n facingMode: \"user\",\n width: {\n ideal: 1280, // 1280, 1024, 640\n },\n height: {\n ideal: 960, // 960, 768, 480\n },\n video: true,\n };\n // Load the video stream\n const nav = window.navigator.mediaDevices\n ? window.navigator.mediaDevices\n : window.navigator;\n if (!nav)\n return;\n nav\n .getUserMedia({ video: initialConstraints })\n .then((stream) => {\n videoElement.srcObject = stream;\n const videoTrack = stream.getVideoTracks()[0];\n this.imageCapture = new ImageCapture(videoTrack);\n })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n if (!this.videoElement)\n return;\n this.loadVideoStream(this.videoElement);\n // video event listeners\n this.videoElement.addEventListener(\"loadedmetadata\", () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n this.faceDetectionSdk.init();\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-hidden\");\n }));\n this.videoElement.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n screen.orientation.addEventListener(\"change\", () => {\n const orientationType = screen.orientation.type;\n if (!orientationType || !this.isMobile)\n return;\n if ([\"landscape-primary\", \"landscape-secondary\"].includes(orientationType)) {\n // TO ADD DIALOG ASK USER TO USE POTRAIT VIEW\n }\n else if ([\"portrait-secondary\", \"portrait-primary\"].includes(orientationType)) {\n // TO BE CONFIRM IF NEED CLOSE DIALOG\n }\n });\n }\n stopVideoStream() {\n if (!this.videoElement)\n return;\n const stream = this.videoElement.srcObject;\n if (!stream)\n return;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.videoElement.srcObject = null;\n const cameraDiv = document.getElementById(this.cameraId);\n cameraDiv === null || cameraDiv === void 0 ? void 0 : cameraDiv.remove();\n }\n resizeElement() {\n const videoContainer = document.getElementById(camera_1.ELEMENT_IDS.VIDEO_CONTAINER);\n if (window.screen.width < window.screen.height) {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", window.screen.width > 640 ? \"auto\" : \"100%\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n else {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", \"auto\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n this.faceDetectionSdk.resizeElement();\n }\n listenToSelfieCapture(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"selfieCapture\", (e) => {\n cb(e);\n });\n }\n pauseSmileFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n // stop the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.pause();\n yield ((_b = this.faceDetectionSdk) === null || _b === void 0 ? void 0 : _b.disableDetection());\n // clear description\n const description = document.getElementById(\"pw-camera-description\");\n if (description)\n description.innerHTML = \"\";\n // show green tick icon\n const checkIcon = document.getElementById(\"pw-camera-check-icon\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.remove(\"pw-hidden\");\n // remove those smile and neutral img\n const overlayElement = document.getElementById(\"overlayElement\");\n if (overlayElement) {\n overlayElement.classList.remove(\"overlay-element--selfie-smile\");\n overlayElement.classList.remove(\"overlay-element--selfie-neutral\");\n overlayElement.classList.add(\"overlay-element--active\");\n }\n });\n }\n}\nexports[\"default\"] = FaceCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-camera.ts?");
|
|
3806
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst face_detection_1 = __importDefault(__webpack_require__(/*! ./face-detection */ \"./src/plugins/face-detection.ts\"));\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass FaceCamera {\n constructor(cameraId, mainScreenId = \"\") {\n this.cameraTimeLimit = 90000;\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.cameraId = cameraId;\n this.mainScreenId = mainScreenId;\n }\n isMobile() {\n const navigator = window.navigator.userAgent ||\n window.navigator.vendor ||\n window.opera;\n if (!navigator)\n return false;\n const isMobile = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(navigator) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(navigator.substr(0, 4));\n return isMobile;\n }\n captureImage() {\n return __awaiter(this, void 0, void 0, function* () {\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n const bitmap = (yield this.imageCapture.grabFrame()) || this.videoElement;\n const { width, height } = this.faceDetectionSdk.calculateHeightNWidth(bitmap.width, bitmap.height);\n if (!context)\n return \"\";\n //draw image to canvas, scale to target dimensions\n canvas.width = bitmap.width;\n canvas.height = bitmap.height;\n context.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height);\n // crop the selected part image\n const x = (bitmap.width - width) / 2;\n const y = (bitmap.height - height) / 2;\n const imgData = context.getImageData(x, y, width, height);\n canvas.width = width;\n canvas.height = height;\n context.putImageData(imgData, 0, 0);\n //convert to desired file format\n return canvas.toDataURL(\"image/jpeg\");\n });\n }\n init() {\n try {\n // show loading spinner in full pg\n (0, components_1.createFullLoading)(this.cameraId, \"Initializing Camera...\");\n // 1. Draw the camera display\n this.drawCameraDisplay();\n // 2. Setup related SDK\n const { videoElement, canvasElement, overlayElement, titleElement } = this;\n this.faceDetectionSdk = new face_detection_1.default({\n cameraId: this.cameraId,\n videoElement,\n canvasElement,\n overlayElement,\n titleElement,\n });\n // 3. Get the camera permission and trigger the selfie detection\n this.cameraInit();\n // 4. Trigger event after 3 seconds of face detection\n this.faceDetectionSdk.setCaptureImage((livenessScore) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const image = yield this.captureImage();\n const event = new CustomEvent(\"selfieCapture\", {\n detail: { image, livenessScore },\n });\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n }));\n // 5. Face camera custom events listeners\n const description = document.getElementById(\"pw-camera-description\");\n this.faceDetectionSdk.listenToUserNoSmile(() => {\n if (description) {\n description.innerHTML = \"Please smile at the camera\";\n }\n });\n this.faceDetectionSdk.listenToUserSmiled(() => {\n if (description) {\n description.innerHTML = \"Please keep smiling for 3 seconds\";\n }\n });\n this.faceDetectionSdk.listenToUserSmiledButNotLiveness(() => {\n if (description) {\n description.innerHTML =\n \"Please show a neutral expression at the camera.\";\n }\n });\n this.faceDetectionSdk.listenToLookStraight(() => {\n if (description) {\n description.innerHTML = \"Please look straight at the camera\";\n }\n });\n this.faceDetectionSdk.listenToPlaceFace(() => {\n if (description) {\n description.innerHTML = \"Place your face within the rounded frame.\";\n }\n });\n // 6. Start timer to close camera\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n yield this.stopVideoStream();\n this.openIdleDialog();\n }), this.cameraTimeLimit);\n }\n finally {\n if (!this.faceDetectionSdk ||\n this.faceDetectionSdk.getLoadedModelState() !== \"LOADING\")\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n }\n openIdleDialog() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const overlay = document.createElement(\"div\");\n overlay.classList.add(\"pw-bg-black\", \"pw-bg-opacity-70\", \"pw-absolute\", \"pw-inset-0\", \"pw-z-50\");\n const overlayContent = document.createElement(\"div\");\n overlayContent.classList.add(\"pw-box-sizing\", \"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\", \"pw-top-1/3\", \"pw-p-5\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-w-4/5\", \"pw-text-center\");\n overlay.appendChild(overlayContent);\n const warningIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"warning\");\n warningIcon.classList.add(\"pw-text-orange-400\", \"pw-pt-1\", \"pw-mb-4\");\n warningIcon.style.fontSize = \"60px\";\n overlayContent.appendChild(warningIcon);\n const dialogWording = document.createElement(\"div\");\n dialogWording.classList.add(\"pw-text-center\", \"pw-mb-6\");\n dialogWording.innerHTML = \"You have been idle for too long.\";\n overlayContent.appendChild(dialogWording);\n const buttonContainer = document.createElement(\"div\");\n buttonContainer.classList.add(\"pw-w-36\", \"pw-mx-auto\");\n const okayButton = (0, components_1.createSecondaryButton)(\"Okay\");\n buttonContainer.appendChild(okayButton);\n overlayContent.appendChild(buttonContainer);\n okayButton.addEventListener(\"click\", () => {\n overlay.remove();\n });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.appendChild(overlay);\n }\n drawCameraDisplay() {\n // 1. header section\n const header = document.createElement(\"div\");\n header.id = camera_1.ELEMENT_IDS.HEADER;\n // header.classList.add(\"camera-header-area\");\n header.classList.add(\"pw-absolute\", \"pw-z-[2]\", \"pw-w-full\", \"pw-text-white\");\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-px-5\", \"pw-py-4\", \"pw-flex\", \"pw-justify-between\", \"pw-items-end\", \"pw-mb-4\");\n const backArrow = document.createElement(\"span\");\n backArrow.classList.add(\"material-symbols-outlined\");\n backArrow.innerHTML = \"arrow_back_ios\";\n backArrow.addEventListener(\"click\", () => {\n this.stopVideoStream();\n });\n navigationDiv.appendChild(backArrow);\n // const close = document.createElement(\"span\");\n // close.classList.add(\"material-symbols-outlined\");\n // close.innerHTML = \"close\";\n // navigationDiv.appendChild(close);\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.id = \"pw-camera-title\";\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // Set Description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.id = \"pw-camera-description\";\n descriptionDiv.innerHTML = \"Place your face within the rounded frame\";\n this.descriptionElement = descriptionDiv;\n header.appendChild(descriptionDiv);\n const body = document.createElement(\"div\");\n body.id = camera_1.ELEMENT_IDS.BODY;\n body.classList.add(\"camera-body-area\");\n const videoContainer = document.createElement(\"div\");\n videoContainer.id = camera_1.ELEMENT_IDS.VIDEO_CONTAINER;\n videoContainer.classList.add(\"video-container\");\n const overlayContainer = document.createElement(\"div\");\n overlayContainer.id = camera_1.ELEMENT_IDS.OVERLAY_CONTAINER;\n overlayContainer.classList.add(\"overlay-container\");\n const overlayElement = document.createElement(\"div\");\n overlayElement.id = camera_1.ELEMENT_IDS.OVERLAY;\n overlayElement.classList.add(\"overlay-element\");\n overlayElement.classList.add(\"pw-hidden\");\n const canvasElement = document.createElement(\"canvas\");\n canvasElement.id = camera_1.ELEMENT_IDS.CANVAS;\n canvasElement.classList.add(\"video-element\");\n canvasElement.classList.add(\"canvas-element\");\n canvasElement.style.transform = \"scaleX(-1)\";\n const videoElement = document.createElement(\"video\");\n videoElement.id = camera_1.ELEMENT_IDS.VIDEO;\n videoElement.autoplay = true;\n videoElement.classList.add(\"video-element\");\n videoElement.style.transform = \"scaleX(-1)\";\n // green tick icon\n const iconElement = document.createElement(\"span\");\n iconElement.id = \"pw-camera-check-icon\";\n iconElement.classList.add(\"pw-hidden\", \"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-w-full\", \"pw-h-full\", \"pw-flex\", \"pw-items-center\", \"pw-justify-center\");\n const checkIcon = document.createElement(\"span\");\n checkIcon.classList.add(\"material-icons\", \"pw-text-green-500\", \"pw-text-4xl\", \"pw-rounded-full\");\n checkIcon.style.fontSize = \"48px\";\n checkIcon.innerHTML = \"check_circle\";\n iconElement.appendChild(checkIcon);\n // 2.1\n this.videoElement = videoElement;\n this.overlayElement = overlayElement;\n this.canvasElement = canvasElement;\n overlayContainer.appendChild(overlayElement);\n overlayContainer.appendChild(iconElement);\n videoContainer.appendChild(overlayContainer);\n videoContainer.appendChild(canvasElement);\n videoContainer.appendChild(videoElement);\n body.appendChild(videoContainer);\n // 3. append child\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\n mainBody.classList.add(\"camera-bg\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n }\n loadVideoStream(videoElement) {\n const initialConstraints = {\n facingMode: \"user\",\n width: {\n ideal: 1280, // 1280, 1024, 640\n },\n height: {\n ideal: 960, // 960, 768, 480\n },\n video: true,\n };\n // Load the video stream\n const nav = window.navigator.mediaDevices\n ? window.navigator.mediaDevices\n : window.navigator;\n if (!nav)\n return;\n nav\n .getUserMedia({ video: initialConstraints })\n .then((stream) => {\n videoElement.srcObject = stream;\n const videoTrack = stream.getVideoTracks()[0];\n this.imageCapture = new ImageCapture(videoTrack);\n })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n if (!this.videoElement)\n return;\n this.loadVideoStream(this.videoElement);\n // video event listeners\n this.videoElement.addEventListener(\"loadedmetadata\", () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n this.faceDetectionSdk.init();\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-hidden\");\n }));\n this.videoElement.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n screen.orientation.addEventListener(\"change\", () => {\n const orientationType = screen.orientation.type;\n if (!orientationType || !this.isMobile)\n return;\n if ([\"landscape-primary\", \"landscape-secondary\"].includes(orientationType)) {\n // TO ADD DIALOG ASK USER TO USE POTRAIT VIEW\n }\n else if ([\"portrait-secondary\", \"portrait-primary\"].includes(orientationType)) {\n // TO BE CONFIRM IF NEED CLOSE DIALOG\n }\n });\n }\n stopVideoStream() {\n if (!this.videoElement)\n return;\n const stream = this.videoElement.srcObject;\n if (!stream)\n return;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.videoElement.srcObject = null;\n const cameraDiv = document.getElementById(this.cameraId);\n cameraDiv === null || cameraDiv === void 0 ? void 0 : cameraDiv.remove();\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n resizeElement() {\n const videoContainer = document.getElementById(camera_1.ELEMENT_IDS.VIDEO_CONTAINER);\n if (window.screen.width < window.screen.height) {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", window.screen.width > 640 ? \"auto\" : \"100%\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n else {\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"width\", \"auto\");\n videoContainer === null || videoContainer === void 0 ? void 0 : videoContainer.style.setProperty(\"height\", \"auto\");\n }\n this.faceDetectionSdk.resizeElement();\n }\n listenToSelfieCapture(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"selfieCapture\", (e) => {\n cb(e);\n });\n }\n pauseSmileFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n // stop the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.pause();\n yield ((_b = this.faceDetectionSdk) === null || _b === void 0 ? void 0 : _b.disableDetection());\n // clear description\n const description = document.getElementById(\"pw-camera-description\");\n if (description)\n description.innerHTML = \"\";\n // show green tick icon\n const checkIcon = document.getElementById(\"pw-camera-check-icon\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.remove(\"pw-hidden\");\n // remove those smile and neutral img\n const overlayElement = document.getElementById(\"overlayElement\");\n if (overlayElement) {\n overlayElement.classList.remove(\"overlay-element--selfie-smile\");\n overlayElement.classList.remove(\"overlay-element--selfie-neutral\");\n overlayElement.classList.add(\"overlay-element--active\");\n }\n });\n }\n}\nexports[\"default\"] = FaceCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-camera.ts?");
|
|
3807
3807
|
|
|
3808
3808
|
/***/ }),
|
|
3809
3809
|
|
|
@@ -3814,7 +3814,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3814
3814
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3815
3815
|
|
|
3816
3816
|
"use strict";
|
|
3817
|
-
eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst faceapi = __importStar(__webpack_require__(/*! face-api.js */ \"./node_modules/face-api.js/build/es6/index.js\"));\nclass FACEDETECTIONSDK {\n constructor(val) {\n this.isDone = false; // use to check if the face detection is done\n // === use as vuex state ===\n this.prevEmotionalState = \"\";\n this.currenEmotionaltState = \"\";\n this.isLiveness = false;\n // === constant variable ===\n this.face_api_detection_options = new faceapi.TinyFaceDetectorOptions({\n inputSize: 224,\n });\n this.faceTrack_settings = {\n contrast: 3,\n brightness: 0.5,\n threshold: 100,\n minCorrelation: 0.17,\n minScore: 0.6,\n };\n // html element\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.instructionElement = null;\n Object.assign(this, val);\n }\n setCaptureImage(captureImage) {\n this.captureImage = captureImage;\n }\n // get the face position\n getFaceXY(pos) {\n const posF = {\n top: Math.min.apply(Math, pos.map(function (o) {\n return o.y;\n })),\n bottom: Math.max.apply(Math, pos.map(function (o) {\n return o.y;\n })),\n left: Math.min.apply(Math, pos.map(function (o) {\n return o.x;\n })),\n right: Math.max.apply(Math, pos.map(function (o) {\n return o.x;\n })),\n };\n return {\n x: posF[\"left\"],\n y: posF[\"top\"],\n w: posF[\"right\"] - posF[\"left\"],\n h: posF[\"bottom\"] - posF[\"top\"],\n };\n }\n // get the circle area position\n getCircleXY() {\n if (!this.canvasElement || !this.overlayElement)\n return { x: 0, y: 0, w: 0, h: 0 };\n // canvas rectangle position\n const posR = this.canvasElement.getBoundingClientRect();\n // circle position\n const posC = this.overlayElement.getBoundingClientRect();\n return {\n // get the coord x and y of the circle inside the canvas rectangle\n x: posC.x - posR.x,\n y: posC.y - posR.y,\n w: posC.width,\n h: posC.height,\n };\n }\n // to detect if your face is looking straight at the camera\n isAngleDetected(pos) {\n const angleOne = (Math.atan2(Math.abs(pos[7][\"y\"] - pos[33][\"y\"]), Math.abs(pos[7][\"x\"] - pos[33][\"x\"])) *\n 180) /\n Math.PI;\n const angleTwo = (Math.atan2(Math.abs(pos[60][\"y\"] - pos[33][\"y\"]), Math.abs(pos[60][\"x\"] - pos[33][\"x\"])) *\n 180) /\n Math.PI;\n const distance1 = Math.abs(pos[0][\"x\"] - pos[33][\"x\"]);\n const distance2 = Math.abs(pos[14][\"x\"] - pos[33][\"x\"]);\n const isAngle = !((angleOne > 40 && angleOne < 93) ||\n (angleTwo > 40 && angleTwo < 93));\n const isDistance = Math.abs(distance1 - distance2) / distance1 > 0.5;\n return isAngle || isDistance;\n }\n // check if the face is inside the circle area\n isFaceDetected(pos) {\n const posCircle = this.getCircleXY();\n const posFace = this.getFaceXY(pos);\n if (posFace.x + posFace.w < posCircle.x + posCircle.w &&\n posFace.x > posCircle.x &&\n posFace.y > posCircle.y &&\n posFace.y + posFace.h < posCircle.y + posCircle.h)\n return true;\n return false;\n }\n // check if the face emotional is changing\n detectLiveness(current) {\n this.prevEmotionalState = this.currenEmotionaltState;\n this.currenEmotionaltState = current;\n return (this.prevEmotionalState &&\n this.currenEmotionaltState &&\n this.prevEmotionalState != this.currenEmotionaltState);\n }\n // check if the face in the video is similar to the previous face\n detectSimilarFace(current) {\n this.prevFaceDescriptor = this.currentFaceDescriptor;\n this.currentFaceDescriptor = current;\n if (!this.prevFaceDescriptor || !this.currentFaceDescriptor)\n return 1;\n // the smaller the distance, the more similar the faces are\n return faceapi.euclideanDistance(this.prevFaceDescriptor, this.currentFaceDescriptor);\n }\n // reset instruction html text and all those checking\n resetInstructions() {\n var _a, _b, _c;\n this.isLiveness = false;\n this.currenEmotionaltState = \"\";\n this.prevEmotionalState = \"\";\n this.prevFaceDescriptor = undefined;\n this.currentFaceDescriptor = undefined;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"overlay-element--selfie-smile\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.classList.remove(\"overlay-element--selfie-neutral\");\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.classList.remove(\"overlay-element--active\");\n }\n checkFace(livenessScore, pos, currentExpression, currentFaceDescriptor) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n const isFace = this.isFaceDetected(pos);\n // 1. check if the face is inside the circle area\n if (!isFace) {\n this.resetInstructions();\n return;\n }\n // 2. check if the face is looking straight at the camera\n else if (this.isAngleDetected(pos)) {\n this.resetInstructions();\n const event = new CustomEvent(\"lookStraight\");\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n if (this.instructionElement)\n this.instructionElement.innerHTML = \"Look straight at the camera.\";\n return;\n }\n // 3. check the liveness of the face\n if (this.detectLiveness(currentExpression))\n this.isLiveness = true;\n // 4. check the similarity of the face\n const isSimilarFace = this.detectSimilarFace(currentFaceDescriptor) < 0.6;\n if (this.isLiveness && !isSimilarFace) {\n this.resetInstructions();\n return;\n }\n if (currentExpression !== \"happy\") {\n const event = new CustomEvent(\"userNoSmile\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.dispatchEvent(event);\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.classList.add(\"overlay-element--selfie-smile\");\n (_d = this.overlayElement) === null || _d === void 0 ? void 0 : _d.classList.remove(\"overlay-element--selfie-neutral\");\n (_e = this.overlayElement) === null || _e === void 0 ? void 0 : _e.classList.remove(\"overlay-element--active\");\n }\n else if (this.isLiveness) {\n // emit event here STAY 3 seconds\n const event = new CustomEvent(\"userSmiled\");\n (_f = this.overlayElement) === null || _f === void 0 ? void 0 : _f.dispatchEvent(event);\n (_g = this.overlayElement) === null || _g === void 0 ? void 0 : _g.classList.remove(\"overlay-element--selfie-smile\");\n (_h = this.overlayElement) === null || _h === void 0 ? void 0 : _h.classList.remove(\"overlay-element--selfie-neutral\");\n (_j = this.overlayElement) === null || _j === void 0 ? void 0 : _j.classList.add(\"overlay-element--active\");\n if (isSimilarFace &&\n this.isLiveness &&\n this.currenEmotionaltState === \"happy\" &&\n this.captureImage) {\n this.captureImage(livenessScore);\n }\n }\n else if (!this.isDone) {\n const event = new CustomEvent(\"userSmiledButNotLiveness\");\n (_k = this.overlayElement) === null || _k === void 0 ? void 0 : _k.dispatchEvent(event);\n (_l = this.overlayElement) === null || _l === void 0 ? void 0 : _l.classList.remove(\"overlay-element--selfie-smile\");\n (_m = this.overlayElement) === null || _m === void 0 ? void 0 : _m.classList.add(\"overlay-element--selfie-neutral\");\n (_o = this.overlayElement) === null || _o === void 0 ? void 0 : _o.classList.remove(\"overlay-element--active\");\n }\n }\n detectFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.videoElement || !this.canvasElement || !this.overlayElement)\n return;\n const displaySize = {\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n };\n const detections = yield faceapi\n .detectSingleFace(this.videoElement, this.face_api_detection_options)\n .withFaceLandmarks()\n .withFaceExpressions()\n .withFaceDescriptor();\n const event = new CustomEvent(\"placeFace\");\n if (typeof detections !== \"undefined\") {\n const expressions = detections.expressions;\n const currentExpression = Object.keys(expressions).reduce((a, b) => {\n return expressions[a] >\n expressions[b]\n ? a\n : b;\n });\n const resizedDetections = faceapi.resizeResults(detections, displaySize);\n const pos = resizedDetections.landmarks.positions;\n const score = detections.detection.score;\n if (score > this.faceTrack_settings.minScore && pos) {\n this.checkFace(score, pos, currentExpression, detections.descriptor);\n }\n else {\n this.resetInstructions();\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n }\n // draw canvas points for developer view only\n // if (typeof resizedDetections !== \"undefined\" && this.canvasElement) {\n // this.canvasElement\n // .getContext(\"2d\")\n // ?.clearRect(\n // 0,\n // 0,\n // this.canvasElement.width,\n // this.canvasElement.height\n // );\n // if (resizedDetections) {\n // faceapi.draw.drawDetections(this.canvasElement, resizedDetections);\n // faceapi.draw.drawFaceLandmarks(this.canvasElement, resizedDetections);\n // faceapi.draw.drawFaceExpressions(\n // this.canvasElement,\n // resizedDetections\n // );\n // }\n // }\n }\n else {\n this.resetInstructions();\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.dispatchEvent(event);\n }\n if (!this.isDone)\n this.iFrameRef = requestAnimationFrame(() => this.detectFace());\n });\n }\n disableDetection() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isDone = true;\n if (this.iFrameRef)\n cancelAnimationFrame(this.iFrameRef);\n this.iFrameRef = undefined;\n this.resetInstructions();\n });\n }\n // use to calculate the cropped image size / ratio\n // from ui or exact image src\n calculateHeightNWidth(width, height) {\n var _a, _b;\n const videoWidth = ((_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0;\n const videoHeight = ((_b = this.videoElement) === null || _b === void 0 ? void 0 : _b.clientHeight) || 0;\n // calculate the circle size for the image\n // based on which has the largest size: height or width\n // then the circle will be 5/6 from that smaller size\n const circleSize = videoHeight > videoWidth ? width - width / 6 : height - height / 6;\n const newWidth = (circleSize / 5) * 4.5;\n const newHeight = circleSize;\n return { width: newWidth, height: newHeight };\n }\n resizeElement() {\n var _a, _b, _c, _d;\n if (!this.videoElement || !this.canvasElement)\n return;\n // 1. resize canvas to match video size\n this.canvasElement.width = this.videoElement.clientWidth;\n this.canvasElement.height = this.videoElement.clientHeight;\n // 2. resize circle overlay to match video size\n const { width, height } = this.calculateHeightNWidth(this.videoElement.clientWidth, this.videoElement.clientHeight);\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"border-radius\", \"50%\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.style.setProperty(\"border\", \"solid white 3px\");\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.style.setProperty(\"width\", `${width}px`);\n (_d = this.overlayElement) === null || _d === void 0 ? void 0 : _d.style.setProperty(\"height\", `${height}px`);\n }\n // train face-api models\n loadModel() {\n return __awaiter(this, void 0, void 0, function* () {\n const url = \"https://assets.pipwave.com/ekyc/sdk/face-models\" || 0;\n this.loadedModel = yield Promise.all([\n faceapi.loadTinyFaceDetectorModel(url),\n faceapi.loadFaceLandmarkModel(url),\n faceapi.loadFaceRecognitionModel(url),\n faceapi.loadFaceExpressionModel(url),\n ]);\n });\n }\n init() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isDone = false;\n this.resizeElement();\n if (!this.loadedModel)\n yield this.loadModel();\n if (!this.iFrameRef)\n yield this.detectFace();\n });\n }\n listenToUserNoSmile(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userNoSmile\", () => {\n cb();\n });\n }\n listenToUserSmiled(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userSmiled\", () => {\n cb();\n });\n }\n listenToUserSmiledButNotLiveness(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userSmiledButNotLiveness\", () => {\n cb();\n });\n }\n listenToLookStraight(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"lookStraight\", () => {\n cb();\n });\n }\n listenToPlaceFace(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"placeFace\", () => {\n cb();\n });\n }\n}\nexports[\"default\"] = FACEDETECTIONSDK;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-detection.ts?");
|
|
3817
|
+
eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst faceapi = __importStar(__webpack_require__(/*! face-api.js */ \"./node_modules/face-api.js/build/es6/index.js\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nlet loadedModelState = \"NOT_LOADED\";\nclass FACEDETECTIONSDK {\n constructor(val) {\n this.cameraId = \"\";\n this.isDone = false; // use to check if the face detection is done\n this.prevEmotionalState = \"\";\n this.currenEmotionaltState = \"\";\n this.isLiveness = false;\n // constant variable\n this.face_api_detection_options = new faceapi.TinyFaceDetectorOptions({\n inputSize: 224,\n });\n this.faceTrack_settings = {\n contrast: 3,\n brightness: 0.5,\n threshold: 100,\n minCorrelation: 0.17,\n minScore: 0.6,\n };\n // html element\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n this.instructionElement = null;\n Object.assign(this, val);\n }\n getLoadedModelState() {\n return loadedModelState;\n }\n setCaptureImage(captureImage) {\n this.captureImage = captureImage;\n }\n // get the face position\n getFaceXY(pos) {\n const posF = {\n top: Math.min.apply(Math, pos.map(function (o) {\n return o.y;\n })),\n bottom: Math.max.apply(Math, pos.map(function (o) {\n return o.y;\n })),\n left: Math.min.apply(Math, pos.map(function (o) {\n return o.x;\n })),\n right: Math.max.apply(Math, pos.map(function (o) {\n return o.x;\n })),\n };\n return {\n x: posF[\"left\"],\n y: posF[\"top\"],\n w: posF[\"right\"] - posF[\"left\"],\n h: posF[\"bottom\"] - posF[\"top\"],\n };\n }\n // get the circle area position\n getCircleXY() {\n if (!this.canvasElement || !this.overlayElement)\n return { x: 0, y: 0, w: 0, h: 0 };\n // canvas rectangle position\n const posR = this.canvasElement.getBoundingClientRect();\n // circle position\n const posC = this.overlayElement.getBoundingClientRect();\n return {\n // get the coord x and y of the circle inside the canvas rectangle\n x: posC.x - posR.x,\n y: posC.y - posR.y,\n w: posC.width,\n h: posC.height,\n };\n }\n // to detect if your face is looking straight at the camera\n isAngleDetected(pos) {\n const angleOne = (Math.atan2(Math.abs(pos[7][\"y\"] - pos[33][\"y\"]), Math.abs(pos[7][\"x\"] - pos[33][\"x\"])) *\n 180) /\n Math.PI;\n const angleTwo = (Math.atan2(Math.abs(pos[60][\"y\"] - pos[33][\"y\"]), Math.abs(pos[60][\"x\"] - pos[33][\"x\"])) *\n 180) /\n Math.PI;\n const distance1 = Math.abs(pos[0][\"x\"] - pos[33][\"x\"]);\n const distance2 = Math.abs(pos[14][\"x\"] - pos[33][\"x\"]);\n const isAngle = !((angleOne > 40 && angleOne < 93) ||\n (angleTwo > 40 && angleTwo < 93));\n const isDistance = Math.abs(distance1 - distance2) / distance1 > 0.5;\n return isAngle || isDistance;\n }\n // check if the face is inside the circle area\n isFaceDetected(pos) {\n const posCircle = this.getCircleXY();\n const posFace = this.getFaceXY(pos);\n if (posFace.x + posFace.w < posCircle.x + posCircle.w &&\n posFace.x > posCircle.x &&\n posFace.y > posCircle.y &&\n posFace.y + posFace.h < posCircle.y + posCircle.h)\n return true;\n return false;\n }\n // check if the face emotional is changing\n detectLiveness(current) {\n this.prevEmotionalState = this.currenEmotionaltState;\n this.currenEmotionaltState = current;\n return (this.prevEmotionalState &&\n this.currenEmotionaltState &&\n this.prevEmotionalState != this.currenEmotionaltState);\n }\n // check if the face in the video is similar to the previous face\n detectSimilarFace(current) {\n this.prevFaceDescriptor = this.currentFaceDescriptor;\n this.currentFaceDescriptor = current;\n if (!this.prevFaceDescriptor || !this.currentFaceDescriptor)\n return 1;\n // the smaller the distance, the more similar the faces are\n return faceapi.euclideanDistance(this.prevFaceDescriptor, this.currentFaceDescriptor);\n }\n // reset instruction html text and all those checking\n resetInstructions() {\n var _a, _b, _c;\n this.isLiveness = false;\n this.currenEmotionaltState = \"\";\n this.prevEmotionalState = \"\";\n this.prevFaceDescriptor = undefined;\n this.currentFaceDescriptor = undefined;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.classList.remove(\"overlay-element--selfie-smile\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.classList.remove(\"overlay-element--selfie-neutral\");\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.classList.remove(\"overlay-element--active\");\n }\n checkFace(livenessScore, pos, currentExpression, currentFaceDescriptor) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n const isFace = this.isFaceDetected(pos);\n // 1. check if the face is inside the circle area\n if (!isFace) {\n this.resetInstructions();\n return;\n }\n // 2. check if the face is looking straight at the camera\n else if (this.isAngleDetected(pos)) {\n this.resetInstructions();\n const event = new CustomEvent(\"lookStraight\");\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n if (this.instructionElement)\n this.instructionElement.innerHTML = \"Look straight at the camera.\";\n return;\n }\n // 3. check the liveness of the face\n if (this.detectLiveness(currentExpression))\n this.isLiveness = true;\n // 4. check the similarity of the face\n const isSimilarFace = this.detectSimilarFace(currentFaceDescriptor) < 0.6;\n if (this.isLiveness && !isSimilarFace) {\n this.resetInstructions();\n return;\n }\n if (currentExpression !== \"happy\") {\n const event = new CustomEvent(\"userNoSmile\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.dispatchEvent(event);\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.classList.add(\"overlay-element--selfie-smile\");\n (_d = this.overlayElement) === null || _d === void 0 ? void 0 : _d.classList.remove(\"overlay-element--selfie-neutral\");\n (_e = this.overlayElement) === null || _e === void 0 ? void 0 : _e.classList.remove(\"overlay-element--active\");\n }\n else if (this.isLiveness) {\n // emit event here STAY 3 seconds\n const event = new CustomEvent(\"userSmiled\");\n (_f = this.overlayElement) === null || _f === void 0 ? void 0 : _f.dispatchEvent(event);\n (_g = this.overlayElement) === null || _g === void 0 ? void 0 : _g.classList.remove(\"overlay-element--selfie-smile\");\n (_h = this.overlayElement) === null || _h === void 0 ? void 0 : _h.classList.remove(\"overlay-element--selfie-neutral\");\n (_j = this.overlayElement) === null || _j === void 0 ? void 0 : _j.classList.add(\"overlay-element--active\");\n if (isSimilarFace &&\n this.isLiveness &&\n this.currenEmotionaltState === \"happy\" &&\n this.captureImage) {\n this.captureImage(livenessScore);\n }\n }\n else if (!this.isDone) {\n const event = new CustomEvent(\"userSmiledButNotLiveness\");\n (_k = this.overlayElement) === null || _k === void 0 ? void 0 : _k.dispatchEvent(event);\n (_l = this.overlayElement) === null || _l === void 0 ? void 0 : _l.classList.remove(\"overlay-element--selfie-smile\");\n (_m = this.overlayElement) === null || _m === void 0 ? void 0 : _m.classList.add(\"overlay-element--selfie-neutral\");\n (_o = this.overlayElement) === null || _o === void 0 ? void 0 : _o.classList.remove(\"overlay-element--active\");\n }\n }\n detectFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.videoElement || !this.canvasElement || !this.overlayElement)\n return;\n const displaySize = {\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n };\n const detections = yield faceapi\n .detectSingleFace(this.videoElement, this.face_api_detection_options)\n .withFaceLandmarks()\n .withFaceExpressions()\n .withFaceDescriptor();\n const event = new CustomEvent(\"placeFace\");\n if (typeof detections !== \"undefined\") {\n const expressions = detections.expressions;\n const currentExpression = Object.keys(expressions).reduce((a, b) => {\n return expressions[a] >\n expressions[b]\n ? a\n : b;\n });\n const resizedDetections = faceapi.resizeResults(detections, displaySize);\n const pos = resizedDetections.landmarks.positions;\n const score = detections.detection.score;\n if (score > this.faceTrack_settings.minScore && pos) {\n this.checkFace(score, pos, currentExpression, detections.descriptor);\n }\n else {\n this.resetInstructions();\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(event);\n }\n // draw canvas points for developer view only\n // if (typeof resizedDetections !== \"undefined\" && this.canvasElement) {\n // this.canvasElement\n // .getContext(\"2d\")\n // ?.clearRect(\n // 0,\n // 0,\n // this.canvasElement.width,\n // this.canvasElement.height\n // );\n // if (resizedDetections) {\n // faceapi.draw.drawDetections(this.canvasElement, resizedDetections);\n // faceapi.draw.drawFaceLandmarks(this.canvasElement, resizedDetections);\n // faceapi.draw.drawFaceExpressions(\n // this.canvasElement,\n // resizedDetections\n // );\n // }\n // }\n }\n else {\n this.resetInstructions();\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.dispatchEvent(event);\n }\n if (!this.isDone)\n this.iFrameRef = requestAnimationFrame(() => this.detectFace());\n });\n }\n disableDetection() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isDone = true;\n if (this.iFrameRef)\n cancelAnimationFrame(this.iFrameRef);\n this.iFrameRef = undefined;\n this.resetInstructions();\n });\n }\n // use to calculate the cropped image size / ratio\n // from ui or exact image src\n calculateHeightNWidth(width, height) {\n var _a, _b;\n const videoWidth = ((_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0;\n const videoHeight = ((_b = this.videoElement) === null || _b === void 0 ? void 0 : _b.clientHeight) || 0;\n // calculate the circle size for the image\n // based on which has the largest size: height or width\n // then the circle will be 5/6 from that smaller size\n const circleSize = videoHeight > videoWidth ? width - width / 6 : height - height / 6;\n const newWidth = (circleSize / 5) * 4.5;\n const newHeight = circleSize;\n return { width: newWidth, height: newHeight };\n }\n resizeElement() {\n var _a, _b, _c, _d;\n if (!this.videoElement || !this.canvasElement)\n return;\n // 1. resize canvas to match video size\n this.canvasElement.width = this.videoElement.clientWidth;\n this.canvasElement.height = this.videoElement.clientHeight;\n // 2. resize circle overlay to match video size\n const { width, height } = this.calculateHeightNWidth(this.videoElement.clientWidth, this.videoElement.clientHeight);\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"border-radius\", \"50%\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.style.setProperty(\"border\", \"solid white 3px\");\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.style.setProperty(\"width\", `${width}px`);\n (_d = this.overlayElement) === null || _d === void 0 ? void 0 : _d.style.setProperty(\"height\", `${height}px`);\n }\n // train face-api models\n loadFaceModel() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n if (loadedModelState !== \"NOT_LOADED\")\n return;\n const url = \"https://assets.pipwave.com/ekyc/sdk/face-models\" || 0;\n loadedModelState = \"LOADING\";\n yield Promise.all([\n faceapi.loadTinyFaceDetectorModel(url),\n faceapi.loadFaceLandmarkModel(url),\n faceapi.loadFaceRecognitionModel(url),\n faceapi.loadFaceExpressionModel(url),\n ]);\n loadedModelState = \"LOADED\";\n }\n catch (err) {\n loadedModelState = \"NOT_LOADED\";\n return Promise.reject(err);\n }\n });\n }\n init() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // show loading spinner in full pg\n (0, components_1.createFullLoading)(this.cameraId, \"Initializing Camera...\");\n this.isDone = false;\n this.resizeElement();\n if (loadedModelState === \"NOT_LOADED\")\n yield this.loadFaceModel();\n // Wait until loadFaceModel is LOADED\n while (loadedModelState === \"LOADING\") {\n yield new Promise((resolve) => setTimeout(resolve, 500));\n }\n if (!this.iFrameRef)\n yield this.detectFace();\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)(this.cameraId);\n }\n });\n }\n listenToUserNoSmile(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userNoSmile\", () => {\n cb();\n });\n }\n listenToUserSmiled(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userSmiled\", () => {\n cb();\n });\n }\n listenToUserSmiledButNotLiveness(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"userSmiledButNotLiveness\", () => {\n cb();\n });\n }\n listenToLookStraight(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"lookStraight\", () => {\n cb();\n });\n }\n listenToPlaceFace(cb) {\n var _a;\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.addEventListener(\"placeFace\", () => {\n cb();\n });\n }\n}\nexports[\"default\"] = FACEDETECTIONSDK;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-detection.ts?");
|
|
3818
3818
|
|
|
3819
3819
|
/***/ }),
|
|
3820
3820
|
|
|
@@ -3825,7 +3825,7 @@ eval("\nvar __createBinding = (this && this.__createBinding) || (Object.create ?
|
|
|
3825
3825
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3826
3826
|
|
|
3827
3827
|
"use strict";
|
|
3828
|
-
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.pwInstance = void 0;\nconst pipwave_ekyc_sdk_1 = __webpack_require__(/*! pipwave-ekyc-sdk */ \"./node_modules/pipwave-ekyc-sdk/dist/pw-bundle.js\");\n// pages\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./pageClass/LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst
|
|
3828
|
+
eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.pwInstance = void 0;\nconst pipwave_ekyc_sdk_1 = __webpack_require__(/*! pipwave-ekyc-sdk */ \"./node_modules/pipwave-ekyc-sdk/dist/pw-bundle.js\");\nconst face_detection_1 = __importDefault(__webpack_require__(/*! ./plugins/face-detection */ \"./src/plugins/face-detection.ts\"));\n// pages\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./pageClass/LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst console_1 = __webpack_require__(/*! ./helper/console */ \"./src/helper/console.ts\");\nexports.pwInstance = new pipwave_ekyc_sdk_1.PWSDK();\nclass PWUISDK {\n init({ target, accessToken, displayMode = \"in-page\" }) {\n return __awaiter(this, void 0, void 0, function* () {\n const mainContainer = document.getElementById(target);\n if (!mainContainer) {\n throw new Error(\"Invalid target\");\n }\n const sdkContainer = document.createElement(\"div\");\n sdkContainer.classList.add(\"pw-box-border\", \"pwsdk-ui\", \"pw-m-0\", \"pw-p-0\", \"pw-max-h-[51rem]\");\n mainContainer.appendChild(sdkContainer);\n const mainScreen = this.createMainScreen(target);\n sdkContainer.appendChild(mainScreen);\n // show loading page\n const loadingPage = new LoadingPage_1.default(this.mainScreenId, displayMode);\n loadingPage.render(\"Loading\");\n try {\n const result = yield exports.pwInstance.init(accessToken);\n const { verification_types } = result;\n const firstPage = new StartPage_1.default(this.mainScreenId, displayMode, verification_types);\n // train face model, no to wait for it, run in bg\n const faceDetectionSdk = new face_detection_1.default();\n faceDetectionSdk.loadFaceModel().catch((error) => {\n (0, console_1.warn)(\"Fail to load face model\", error);\n });\n loadingPage.clearScreen();\n firstPage.render();\n }\n catch (error) {\n loadingPage.openErrorPage();\n }\n });\n }\n createMainScreen(value) {\n const mainScreen = document.createElement(\"div\");\n mainScreen.classList.add(\"pw-relative\", \"pw-font-pw\", \"pw-mx-auto\", \"pw-max-w-sm\", \"pw-rounded-lg\", \"pw-min:pw-border-solid\", \"pw-min:pw-border-grey-4\", \"pw-py-4\", \"pw-px-5\", \"pw-overflow-x-hidden\", \"pw-h-[calc(100vh-3rem)]\", \"pw-max-h-[51rem]\");\n const id = `mainScreen_${value}`;\n mainScreen.id = id;\n this.mainScreenId = id;\n return mainScreen;\n }\n onClose(cb) {\n const mainScreen = document.getElementById(this.mainScreenId);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.addEventListener(\"close:ekyc\", () => {\n cb();\n });\n }\n onFinish(cb) {\n const mainScreen = document.getElementById(this.mainScreenId);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.addEventListener(\"finish:ekyc\", () => {\n cb();\n });\n }\n}\nexports[\"default\"] = PWUISDK;\n\n\n//# sourceURL=webpack://PWUISDK/./src/uisdk.ts?");
|
|
3829
3829
|
|
|
3830
3830
|
/***/ }),
|
|
3831
3831
|
|