pipwave-ekyc-uikit 2.0.0-2 → 2.0.0-4
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 +139 -128
- 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-visible {\n visibility: visible;\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-3 {\n right: 0.75rem;\n}\n\n.pw-top-0 {\n top: 0px;\n}\n\n.pw-top-1 {\n top: 0.25rem;\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-7 {\n top: 1.75rem;\n}\n\n.pw-z-10 {\n z-index: 10;\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-m-5 {\n margin: 1.25rem;\n}\n\n.pw-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\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-9 {\n margin-bottom: 2.25rem;\n}\n\n.pw-mb-\\\\[0\\\\.3rem\\\\] {\n margin-bottom: 0.3rem;\n}\n\n.pw-ml-2 {\n margin-left: 0.5rem;\n}\n\n.pw-mr-4 {\n margin-right: 1rem;\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-6 {\n margin-top: 1.5rem;\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-11 {\n height: 2.75rem;\n}\n\n.pw-h-12 {\n height: 3rem;\n}\n\n.pw-h-14 {\n height: 3.5rem;\n}\n\n.pw-h-16 {\n height: 4rem;\n}\n\n.pw-h-3 {\n height: 0.75rem;\n}\n\n.pw-h-\\\\[5px\\\\] {\n height: 5px;\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-w-px {\n width: 1px !important;\n}\n\n.pw-w-10 {\n width: 2.5rem;\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-16 {\n width: 4rem;\n}\n\n.pw-w-36 {\n width: 9rem;\n}\n\n.pw-w-4 {\n width: 1rem;\n}\n\n.pw-w-4\\\\/5 {\n width: 80%;\n}\n\n.pw-w-6 {\n width: 1.5rem;\n}\n\n.pw-w-\\\\[25px\\\\] {\n width: 25px;\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-grow {\n flex-grow: 1;\n}\n\n.-pw-translate-x-1 {\n --tw-translate-x: -0.25rem;\n transform: translate(-0.25rem, 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-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 {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), -0.25rem) 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 {\n --tw-translate-y: -0.5rem;\n transform: translate(var(--tw-translate-x), -0.5rem) 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-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-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-full {\n border-radius: 9999px;\n}\n\n.pw-rounded-lg {\n border-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-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.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(210, 28, 62);\n border-color: rgba(210, 28, 62, 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-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(29, 30, 34);\n background-color: rgba(29, 30, 34, 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-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(247, 247, 250);\n background-color: rgba(247, 247, 250, 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-grey-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(158, 158, 158);\n background-color: rgba(158, 158, 158, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(210, 28, 62);\n background-color: rgba(210, 28, 62, 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-20 {\n --tw-bg-opacity: 0.2 ;\n}\n\n.pw-bg-opacity-70 {\n --tw-bg-opacity: 0.7 ;\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-\\\\[\\\\#D21C3E\\\\] {\n --tw-gradient-from: #D21C3E var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(210, 28, 62, 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) ;\n}\n\n.pw-to-\\\\[\\\\#D03C58\\\\] {\n --tw-gradient-to: #D03C58 var(--tw-gradient-to-position) ;\n}\n\n.\\\\!pw-p-0 {\n padding: 0px !important;\n}\n\n.pw-p-0 {\n padding: 0px;\n}\n\n.pw-p-2 {\n padding: 0.5rem;\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-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n\n.pw-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.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-pb-3 {\n padding-bottom: 0.75rem;\n}\n\n.pw-pb-\\\\[16px\\\\] {\n padding-bottom: 16px;\n}\n\n.pw-pl-8 {\n padding-left: 2rem;\n}\n\n.pw-pr-2 {\n padding-right: 0.5rem;\n}\n\n.pw-pt-1 {\n padding-top: 0.25rem;\n}\n\n.pw-pt-2 {\n padding-top: 0.5rem;\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-pt-8 {\n padding-top: 2rem;\n}\n\n.pw-pt-9 {\n padding-top: 2.25rem;\n}\n\n.pw-text-center {\n text-align: center;\n}\n\n.pw-text-right {\n text-align: right;\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-6xl {\n font-size: 3.75rem;\n line-height: 1;\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-capitalize {\n text-transform: capitalize;\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-2 {\n --tw-text-opacity: 1;\n color: rgb(250, 250, 252);\n color: rgba(250, 250, 252, 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-info {\n --tw-text-opacity: 1;\n color: rgb(81, 139, 255);\n color: rgba(81, 139, 255, 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(210, 28, 62);\n color: rgba(210, 28, 62, 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-shadow-button-shadow {\n --tw-shadow: 0px 3px 5px 0px rgba(115,115,123,0.30196);\n --tw-shadow-colored: 0px 3px 5px 0px var(--tw-shadow-color);\n box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0px 3px 5px 0px rgba(115, 115, 123, 0.30196);\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-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-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-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-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-bg-disabled,\ninput:disabled {\n background: #f0f0f5;\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.pw-drag-drop.highlight {\n outline-color: #d21c3e;\n}\n\n/* Chrome, Safari, Edge, Opera */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=number] {\n -moz-appearance: textfield;\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-bg-color {\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-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.webp */ \"./src/assets/img/mask-smile.webp\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ../img/mask-neutral.webp */ \"./src/assets/img/mask-neutral.webp\"), __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-visible {\n visibility: visible;\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-3 {\n right: 0.75rem;\n}\n\n.pw-top-0 {\n top: 0px;\n}\n\n.pw-top-1 {\n top: 0.25rem;\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-7 {\n top: 1.75rem;\n}\n\n.pw-z-10 {\n z-index: 10;\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-m-5 {\n margin: 1.25rem;\n}\n\n.pw-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\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-9 {\n margin-bottom: 2.25rem;\n}\n\n.pw-mb-\\\\[0\\\\.3rem\\\\] {\n margin-bottom: 0.3rem;\n}\n\n.pw-ml-2 {\n margin-left: 0.5rem;\n}\n\n.pw-mr-4 {\n margin-right: 1rem;\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-6 {\n margin-top: 1.5rem;\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-11 {\n height: 2.75rem;\n}\n\n.pw-h-12 {\n height: 3rem;\n}\n\n.pw-h-14 {\n height: 3.5rem;\n}\n\n.pw-h-16 {\n height: 4rem;\n}\n\n.pw-h-3 {\n height: 0.75rem;\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-w-px {\n width: 1px !important;\n}\n\n.pw-w-10 {\n width: 2.5rem;\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-16 {\n width: 4rem;\n}\n\n.pw-w-36 {\n width: 9rem;\n}\n\n.pw-w-4 {\n width: 1rem;\n}\n\n.pw-w-4\\\\/5 {\n width: 80%;\n}\n\n.pw-w-6 {\n width: 1.5rem;\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-grow {\n flex-grow: 1;\n}\n\n.-pw-translate-x-1 {\n --tw-translate-x: -0.25rem;\n transform: translate(-0.25rem, 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-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 {\n --tw-translate-y: -0.25rem;\n transform: translate(var(--tw-translate-x), -0.25rem) 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 {\n --tw-translate-y: -0.5rem;\n transform: translate(var(--tw-translate-x), -0.5rem) 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-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-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-full {\n border-radius: 9999px;\n}\n\n.pw-rounded-lg {\n border-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-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.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(210, 28, 62);\n border-color: rgba(210, 28, 62, 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-10 {\n --tw-bg-opacity: 1;\n background-color: rgb(29, 30, 34);\n background-color: rgba(29, 30, 34, 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-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(247, 247, 250);\n background-color: rgba(247, 247, 250, 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-grey-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(158, 158, 158);\n background-color: rgba(158, 158, 158, var(--tw-bg-opacity));\n}\n\n.pw-bg-primary {\n --tw-bg-opacity: 1;\n background-color: rgb(210, 28, 62);\n background-color: rgba(210, 28, 62, 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-20 {\n --tw-bg-opacity: 0.2 ;\n}\n\n.pw-bg-opacity-70 {\n --tw-bg-opacity: 0.7 ;\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-\\\\[\\\\#D21C3E\\\\] {\n --tw-gradient-from: #D21C3E var(--tw-gradient-from-position);\n --tw-gradient-to: rgba(210, 28, 62, 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) ;\n}\n\n.pw-to-\\\\[\\\\#D03C58\\\\] {\n --tw-gradient-to: #D03C58 var(--tw-gradient-to-position) ;\n}\n\n.\\\\!pw-p-0 {\n padding: 0px !important;\n}\n\n.pw-p-0 {\n padding: 0px;\n}\n\n.pw-p-2 {\n padding: 0.5rem;\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-px-9 {\n padding-left: 2.25rem;\n padding-right: 2.25rem;\n}\n\n.pw-py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.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-pb-3 {\n padding-bottom: 0.75rem;\n}\n\n.pw-pl-8 {\n padding-left: 2rem;\n}\n\n.pw-pr-2 {\n padding-right: 0.5rem;\n}\n\n.pw-pt-1 {\n padding-top: 0.25rem;\n}\n\n.pw-pt-2 {\n padding-top: 0.5rem;\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-pt-5 {\n padding-top: 1.25rem;\n}\n\n.pw-pt-8 {\n padding-top: 2rem;\n}\n\n.pw-pt-9 {\n padding-top: 2.25rem;\n}\n\n.pw-text-center {\n text-align: center;\n}\n\n.pw-text-right {\n text-align: right;\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-6xl {\n font-size: 3.75rem;\n line-height: 1;\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-capitalize {\n text-transform: capitalize;\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-2 {\n --tw-text-opacity: 1;\n color: rgb(250, 250, 252);\n color: rgba(250, 250, 252, 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-info {\n --tw-text-opacity: 1;\n color: rgb(81, 139, 255);\n color: rgba(81, 139, 255, 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(210, 28, 62);\n color: rgba(210, 28, 62, 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-shadow-button-shadow {\n --tw-shadow: 0px 3px 5px 0px rgba(115,115,123,0.30196);\n --tw-shadow-colored: 0px 3px 5px 0px var(--tw-shadow-color);\n box-shadow: 0 0 rgba(0, 0, 0, 0), 0 0 rgba(0, 0, 0, 0), 0px 3px 5px 0px rgba(115, 115, 123, 0.30196);\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-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-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-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-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-bg-disabled,\ninput:disabled {\n background: #f0f0f5;\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.pw-drag-drop.highlight {\n outline-color: #d21c3e;\n}\n\n/* Chrome, Safari, Edge, Opera */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=number] {\n -moz-appearance: textfield;\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-bg-color {\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-id-element:before,\n.camera-body-area .border-id-element:after {\n top: -2px;\n left: -2px;\n position: absolute;\n content: \"\";\n width: 100%;\n height: calc(100% + 50px);\n border-radius: 16px;\n border: 2px solid white;\n}\n.camera-body-area .outlide-id-bottom {\n position: absolute;\n top: 100%;\n width: 100%;\n background-color: white;\n height: 50px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\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-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// 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 i=\"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,i,o=0,s=0,a=\"\";i=t.charAt(s++);~i&&(n=o%4?64*n+i:i,o++%4)?a+=String.fromCharCode(255&n>>(-2*o&6)):0)i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(i);return a};function o(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(i(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 i(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(o(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 i=r(n(245)),o=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.uploadFile=c.PWPROOFSDK.prototype.uploadFile,this.uploadId=c.PWPROOFSDK.prototype.uploadId,this.uploadSelfie=c.PWPROOFSDK.prototype.uploadSelfie,this.viewIdResult=c.PWPROOFSDK.prototype.viewIdResult,this.updateIdForm=c.PWPROOFSDK.prototype.updateIdForm,this.uploadCc=c.PWPROOFSDK.prototype.uploadCc,this.viewCcResult=c.PWPROOFSDK.prototype.viewCcResult,this.updateCcForm=c.PWPROOFSDK.prototype.updateCcForm,this.uploadPoa=c.PWPROOFSDK.prototype.uploadPoa,this.viewPoaResult=c.PWPROOFSDK.prototype.viewPoaResult,this.updatePoaForm=c.PWPROOFSDK.prototype.updatePoaForm}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=o.default.getAccessToken();return e?(0,i.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(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(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())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.instance=void 0;const o=i(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=o.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_CHAR_LENGTH=t.INVALID_ARGUMENT_RANGE=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_BLUR=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_BLUR=12010,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_RANGE=\"INVALID_ARGUMENT_RANGE\",t.INVALID_ARGUMENT_CHAR_LENGTH=\"INVALID_ARGUMENT_CHAR_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_RANGE]:\"Invalid range for argument\",[t.INVALID_ARGUMENT_CHAR_LENGTH]:\"Invalid character 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_RANGE]:\"invalid-argument-range\",[t.INVALID_ARGUMENT_CHAR_LENGTH]:\"invalid-argument-char-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_BLUR]:\"doc-blur\",[t.CODE_DOC_IMG_UNSIMILAR]:\"doc-front-back-img-unsimilar\",[t.CODE_DOC_NOT_POSITIONED]:\"doc-not-positioned-proper\",[t.CODE_IMG_EXPOSED_1]:\"img-exposed\",[t.CODE_IMG_EXPOSED_2]:\"img-exposed\",[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\"}},377:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseDate=void 0,t.parseDate=e=>{try{const t=/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2})Z$/;if(t.test(e)){const[n,r,i,o,s,a,c]=e.match(t),u=`${r}-${i}-${o}T${s}:${a}:${c}Z`;return new Date(u)}return}catch(e){return void console.error(\"Date format parsing error:\",e)}}},249:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateList=t.validateRegex=t.validateCharLength=t.validateParam=t.validateParams=t.constructAxiosError=void 0;const r=n(145),i=n(599);t.constructAxiosError=e=>{let t=new r.PwReqError;const{code:n,message:o,config:s,request:a,response:c}=e;if(t.status=null==c?void 0:c.status,t.statusText=n,t.message=o,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:o}=n[0];t.code=r||e||void 0,o&&(t.message=o);const s=t.code&&i.ERROR_TYPE[t.code];t.type=s?`${i.API_MODULE}/${s}`:\"unknown\"}}return t},t.validateParams=function(e,n,r){const i=Object.keys(n);for(const o of i){const i=!!r&&r.includes(o);(0,t.validateParam)(o,e[o],n[o],i)}return!0},t.validateParam=(e,t,n,o)=>{const s=null!==t&&(\"array\"===n?Array.isArray(t):typeof t===n&&!Array.isArray(t));if(!o&&(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(`${i.ERROR_MESSAGE[i.INVALID_ARGUMENTS]}: ${e}`);throw a.type=i.ERROR_TYPE[i.INVALID_ARGUMENTS],a},t.validateCharLength=(e,t,n,o,s)=>{if(void 0===t)return!0;const a=\"string\"==typeof t?t.length:t.toString().length,c=new r.PwError;if(c.type=i.ERROR_TYPE[i.INVALID_ARGUMENT_CHAR_LENGTH],c.message=`${i.ERROR_MESSAGE[i.INVALID_ARGUMENT_CHAR_LENGTH]}: ${e} `,n&&a!==n)throw c.message+=`must have exactly length ${n}`,c;if(o&&s&&(a<o||a>s))throw c.message+=`must be between ${o} and ${s} characters in length`,c;if(o&&a<o)throw c.message+=`must be at least ${o} 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,o)=>{if(o.test(t))return!0;const s=new r.PwError(`${i.ERROR_MESSAGE[i.INVALID_ARGUMENT_FORMAT]}: ${e} ${n} `);throw s.type=i.ERROR_TYPE[i.INVALID_ARGUMENT_FORMAT],s},t.validateList=(e,t,n)=>{if(n.includes(t))return;const o=new r.PwError(`${i.ERROR_MESSAGE[i.INVALID_ARGUMENT_FORMAT]}: ${e} ${n} `);throw o.type=i.ERROR_TYPE[i.INVALID_ARGUMENT_FORMAT],o}},145:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PwReqError=t.PwError=void 0;const r=n(599);class i extends Error{constructor(e){super(e),this.name=r.ERROR_NAME}}t.PwError=i,t.PwReqError=class extends i{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(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(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())}))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.PWAUTHSDK=void 0;const o=i(n(245)),s=i(n(207)),a=n(249),c=n(599),u=n(145),l=n(531),_=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{sessionId:t,exp:n,sub:r,aud:i,merchantId:d,verificationTypes:E=[],excludedDocTypes:f=[]}=(0,o.default)(e);if((0,_.isExpired)(n)){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(i,e);const A=yield(0,l.VIEW_MERCHANT)(d),{payload:h}=A.data;return this._merchantDetail=h,yield this.fetchCountries(),yield this.fetchIssuingCountries(),yield this.viewDefaultCountry(),{verification_types:E,session_id:t,expired_at:n,user_id:r,excluded_doc_types:f}}))}}},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})},909:(e,t)=>{var n,r,i;Object.defineProperty(t,\"__esModule\",{value:!0}),t.GENDER=t.COUNTRY_ISO=t.LANGUAGE=void 0,function(e){e.EN=\"en\",e.ID=\"id\",e.CN=\"zh-CN\"}(n||(t.LANGUAGE=n={})),function(e){e.AFGHANISTAN=\"AF\",e[\"ÅLAND_ISLANDS\"]=\"AX\",e.ALBANIA=\"AL\",e.ALGERIA=\"DZ\",e.AMERICAN_SAMOA=\"AS\",e.ANDORRA=\"AD\",e.ANGOLA=\"AO\",e.ANGUILLA=\"AI\",e.ANTARCTICA=\"AQ\",e.ANTIGUA_AND_BARBUDA=\"AG\",e.ARGENTINA=\"AR\",e.ARMENIA=\"AM\",e.ARUBA=\"AW\",e.AUSTRALIA=\"AU\",e.AUSTRIA=\"AT\",e.AZERBAIJAN=\"AZ\",e.BAHAMAS=\"BS\",e.BAHRAIN=\"BH\",e.BANGLADESH=\"BD\",e.BARBADOS=\"BB\",e.BELARUS=\"BY\",e.BELGIUM=\"BE\",e.BELIZE=\"BZ\",e.BENIN=\"BJ\",e.BERMUDA=\"BM\",e.BHUTAN=\"BT\",e.BOLIVIA=\"BO\",e.BONAIRE_SINT_EUSTATIUS_AND_SABA=\"BQ\",e.BOSNIA_AND_HERZEGOVINA=\"BA\",e.BOTSWANA=\"BW\",e.BOUVET_ISLAND=\"BV\",e.BRAZIL=\"BR\",e.BRITISH_INDIAN_OCEAN_TERRITORY=\"IO\",e.BRUNEI_DARUSSALAM=\"BN\",e.BULGARIA=\"BG\",e.BURKINA_FASO=\"BF\",e.BURUNDI=\"BI\",e.CABO_VERDE=\"CV\",e.CAMBODIA=\"KH\",e.CAMEROON=\"CM\",e.CANADA=\"CA\",e.CAYMAN_ISLANDS=\"KY\",e.CENTRAL_AFRICAN_REPUBLIC=\"CF\",e.CHAD=\"TD\",e.CHILE=\"CL\",e.CHINA=\"CN\",e.CHRISTMAS_ISLAND=\"CX\",e.COCOS_KEELING_ISLANDS=\"CC\",e.COLOMBIA=\"CO\",e.COMOROS=\"KM\",e.CONGO=\"CG\",e.COOK_ISLANDS=\"CK\",e.COSTA_RICA=\"CR\",e[\"CÔTE_D_IVOIRE\"]=\"CI\",e.CROATIA=\"HR\",e[\"CURAÇAO\"]=\"CW\",e.CYPRUS=\"CY\",e.CZECHIA=\"CZ\",e.DENMARK=\"DK\",e.DJIBOUTI=\"DJ\",e.DOMINICA=\"DM\",e.DOMINICAN_REPUBLIC=\"DO\",e.ECUADOR=\"EC\",e.EGYPT=\"EG\",e.EL_SALVADOR=\"SV\",e.EQUATORIAL_GUINEA=\"GQ\",e.ERITREA=\"ER\",e.ESTONIA=\"EE\",e.ESWATINI=\"SZ\",e.ETHIOPIA=\"ET\",e.FALKLAND_ISLANDS_MALVINAS=\"FK\",e.FAROE_ISLANDS=\"FO\",e.FIJI=\"FJ\",e.FINLAND=\"FI\",e.FRANCE=\"FR\",e.FRENCH_GUIANA=\"GF\",e.FRENCH_POLYNESIA=\"PF\",e.FRENCH_SOUTHERN_TERRITORIES=\"TF\",e.GABON=\"GA\",e.GAMBIA=\"GM\",e.GEORGIA=\"GE\",e.GERMANY=\"DE\",e.GHANA=\"GH\",e.GIBRALTAR=\"GI\",e.GREECE=\"GR\",e.GREENLAND=\"GL\",e.GRENADA=\"GD\",e.GUADELOUPE=\"GP\",e.GUAM=\"GU\",e.GUATEMALA=\"GT\",e.GUERNSEY=\"GG\",e.GUINEA=\"GN\",e.GUINEA_BISSAU=\"GW\",e.GUYANA=\"GY\",e.HAITI=\"HT\",e.HEARD_ISLAND_AND_MCDONALD_ISLANDS=\"HM\",e.HOLY_SEE=\"VA\",e.HONDURAS=\"HN\",e.HONG_KONG=\"HK\",e.HUNGARY=\"HU\",e.ICELAND=\"IS\",e.INDIA=\"IN\",e.INDONESIA=\"ID\",e.IRAQ=\"IQ\",e.IRELAND=\"IE\",e.ISLE_OF_MAN=\"IM\",e.ISRAEL=\"IL\",e.ITALY=\"IT\",e.JAMAICA=\"JM\",e.JAPAN=\"JP\",e.JERSEY=\"JE\",e.JORDAN=\"JO\",e.KAZAKHSTAN=\"KZ\",e.KENYA=\"KE\",e.KIRIBATI=\"KI\",e.KOREA_REPUBLIC_OF=\"KR\",e.KUWAIT=\"KW\",e.KYRGYZSTAN=\"KG\",e.LAO_PEOPLE_S_DEMOCRATIC_REPUBLIC=\"LA\",e.LATVIA=\"LV\",e.LEBANON=\"LB\",e.LESOTHO=\"LS\",e.LIBERIA=\"LR\",e.LIECHTENSTEIN=\"LI\",e.LITHUANIA=\"LT\",e.LUXEMBOURG=\"LU\",e.MACAO=\"MO\",e.MADAGASCAR=\"MG\",e.MALAWI=\"MW\",e.MALAYSIA=\"MY\",e.MALDIVES=\"MV\",e.MALI=\"ML\",e.MALTA=\"MT\",e.MARSHALL_ISLANDS=\"MH\",e.MARTINIQUE=\"MQ\",e.MAURITANIA=\"MR\",e.MAURITIUS=\"MU\",e.MAYOTTE=\"YT\",e.MEXICO=\"MX\",e.MICRONESIA_FEDERATED_STATES_OF=\"FM\",e.FRANCE_METROPOLITAN=\"FX\",e.MOLDOVA_REPUBLIC_OF=\"MD\",e.MONACO=\"MC\",e.MONGOLIA=\"MN\",e.MONTENEGRO=\"ME\",e.MONTSERRAT=\"MS\",e.MOROCCO=\"MA\",e.MOZAMBIQUE=\"MZ\",e.MYANMAR=\"MM\",e.NAMIBIA=\"NA\",e.NAURU=\"NR\",e.NEPAL=\"NP\",e.NETHERLANDS=\"NL\",e.NEW_CALEDONIA=\"NC\",e.NEW_ZEALAND=\"NZ\",e.NICARAGUA=\"NI\",e.NIGER=\"NE\",e.NIGERIA=\"NG\",e.NIUE=\"NU\",e.NORFOLK_ISLAND=\"NF\",e.NORTH_MACEDONIA=\"MK\",e.NORTHERN_MARIANA_ISLANDS=\"MP\",e.NORWAY=\"NO\",e.OMAN=\"OM\",e.PAKISTAN=\"PK\",e.PALAU=\"PW\",e.PALESTINE_STATE_OF=\"PS\",e.PANAMA=\"PA\",e.PAPUA_NEW_GUINEA=\"PG\",e.PARAGUAY=\"PY\",e.PERU=\"PE\",e.PHILIPPINES=\"PH\",e.PITCAIRN=\"PN\",e.POLAND=\"PL\",e.PORTUGAL=\"PT\",e.PUERTO_RICO=\"PR\",e.QATAR=\"QA\",e[\"RÉUNION\"]=\"RE\",e.ROMANIA=\"RO\",e.RUSSIAN_FEDERATION=\"RU\",e.RWANDA=\"RW\",e[\"SAINT_BARTHÉLEMY\"]=\"BL\",e.SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA=\"SH\",e.SAINT_KITTS_AND_NEVIS=\"KN\",e.SAINT_LUCIA=\"LC\",e.SAINT_MARTIN_FRENCH_PART=\"MF\",e.SAINT_PIERRE_AND_MIQUELON=\"PM\",e.SAINT_VINCENT_AND_THE_GRENADINES=\"VC\",e.SAMOA=\"WS\",e.SAN_MARINO=\"SM\",e.SAO_TOME_AND_PRINCIPE=\"ST\",e.SAUDI_ARABIA=\"SA\",e.SENEGAL=\"SN\",e.SERBIA=\"RS\",e.SEYCHELLES=\"SC\",e.SIERRA_LEONE=\"SL\",e.SINGAPORE=\"SG\",e.SINT_MAARTEN_DUTCH_PART=\"SX\",e.SLOVAKIA=\"SK\",e.SLOVENIA=\"SI\",e.SOLOMON_ISLANDS=\"SB\",e.SOUTH_AFRICA=\"ZA\",e.SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS=\"GS\",e.SPAIN=\"ES\",e.SRI_LANKA=\"LK\",e.SURINAME=\"SR\",e.SVALBARD_AND_JAN_MAYEN=\"SJ\",e.SWEDEN=\"SE\",e.SWITZERLAND=\"CH\",e.TAIWAN_PROVINCE_OF_CHINA=\"TW\",e.TAJIKISTAN=\"TJ\",e.TANZANIA_UNITED_REPUBLIC_OF=\"TZ\",e.THAILAND=\"TH\",e.TIMOR_LESTE=\"TL\",e.TOGO=\"TG\",e.TOKELAU=\"TK\",e.TONGA=\"TO\",e.TRINIDAD_AND_TOBAGO=\"TT\",e.TUNISIA=\"TN\",e.TURKEY=\"TR\",e.TURKMENISTAN=\"TM\",e.TURKS_AND_CAICOS_ISLANDS=\"TC\",e.TUVALU=\"TV\",e.UGANDA=\"UG\",e.UKRAINE=\"UA\",e.UNITED_ARAB_EMIRATES=\"AE\",e.UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND=\"GB\",e.UNITED_STATES_OF_AMERICA=\"US\",e.UNITED_STATES_MINOR_OUTLYING_ISLANDS=\"UM\",e.URUGUAY=\"UY\",e.UZBEKISTAN=\"UZ\",e.VANUATU=\"VU\",e.VENEZUELA_BOLIVARIAN_REPUBLIC_OF=\"VE\",e.VIET_NAM=\"VN\",e.VIRGIN_ISLANDS_BRITISH=\"VG\",e.VIRGIN_ISLANDS_U_S=\"VI\",e.WALLIS_AND_FUTUNA=\"WF\",e.WESTERN_SAHARA=\"EH\",e.REPUBLIC_OF_KOSOVO=\"XK\",e.ZAMBIA=\"ZM\",e.ZIMBABWE=\"ZW\"}(r||(t.COUNTRY_ISO=r={})),function(e){e.F=\"FEMALE\",e.M=\"MALE\"}(i||(t.GENDER=i={}))},18:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isValidUri=void 0,t.isValidUri=e=>{try{return new URL(e),!0}catch(e){return!1}}},860:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(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 i=n(249),o=n(99);t.PWCOMMONSDK=class{constructor(){this._countries=[],this._issuingCountries=[],this._state={}}get tokenDetails(){return{}}viewIpCountry(){return r(this,void 0,void 0,(function*(){if(this._ipCountry)return this._ipCountry;const e=yield(0,o.VIEW_IP_COUNTRY)(),{payload:t}=e.data;return this._ipCountry=t,t}))}fetchStates(e){return r(this,void 0,void 0,(function*(){if((0,i.validateParam)(\"country\",e,\"string\",!0),this._state){if(this._state&&this._state[e])return this._state[e]}else this._state={};const t=yield(0,o.FETCH_STATES)({country:e}),{payload:n}=t.data,{results:r}=n;return this._state[e]=Object.entries(r).map((([e,t])=>({iso_code:e,name:t}))),this._state[e]}))}fetchCountries(){return r(this,void 0,void 0,(function*(){if(this._countries.length)return this._countries;const e=yield(0,o.FETCH_COUNTRIES)(),{payload:t}=e.data;return this._countries=t.results.map((e=>({iso_code:e.country.toUpperCase(),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]));else if(r&&r.length){const t=r.map((e=>e));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=null;if(n){const e=t.find((e=>e.iso_code===n));e&&(r=e)}if(!r&&(null==e?void 0:e.country)){const n=t.find((t=>t.iso_code===(null==e?void 0:e.country)));n&&(r=n)}return!r&&t.length>0&&(r=t[0]),this._defaultCountry=r||{},this._defaultCountry}))}}},639: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.VIEW_RESULT=t.UPDATE_FORM=t.UPLOAD_POA=t.UPLOAD_CREDIT_CARD=t.UPLOAD_SELFIE=t.UPLOAD_ID=t.UPLOAD_FILE=t.VIEW_UPLOAD_FILE_URL=void 0;const i=r(n(218)),o=n(207);t.VIEW_UPLOAD_FILE_URL=e=>o.instance.get(\"ekyc/upload-url\",{params:e}),t.UPLOAD_FILE=(e,t,n)=>i.default.post(e,t,n),t.UPLOAD_ID=(e,t)=>o.instance.post(`/ekyc/session/${e}/doc`,t),t.UPLOAD_SELFIE=(e,t)=>o.instance.post(`/ekyc/session/${e}/selfie`,t),t.UPLOAD_CREDIT_CARD=(e,t)=>o.instance.post(`/ekyc/session/${e}/cc`,t),t.UPLOAD_POA=(e,t)=>o.instance.post(`/ekyc/session/${e}/poa`,t),t.UPDATE_FORM=(e,t,n=\"ekyc\")=>o.instance.put(`/ekyc/session/${e}/feedback`,t,{params:{service:n}}),t.VIEW_RESULT=e=>o.instance.get(`/ekyc/session/${e}/check`)},746:(e,t)=>{var n,r,i,o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.CC_MISSING_FIELD=t.VERIFICATION_STATUS=t.AI_ID_TYPE=t.ID_TYPE=void 0,function(e){e.PASSPORT=\"passport\",e.NATIONAL_ID=\"national_identity_document\",e.LICENSE=\"driving_license\"}(n||(t.ID_TYPE=n={})),function(e){e.PASSPORT=\"passport\",e.ID=\"identity_document\",e.LICENSE=\"driving_license\"}(r||(t.AI_ID_TYPE=r={})),function(e){e.PENDING=\"pending\",e.APPROVED=\"approved\",e.REJECTED=\"rejected\",e.REVIEW=\"review\"}(i||(t.VERIFICATION_STATUS=i={})),function(e){e.CC_NUMBER=\"cc_number\",e.CC_NUMBER_FIRST_6=\"cc_number_first_6\",e.CC_NUMBER_LAST_4=\"cc_number_last_4\",e.FULL_NAME=\"full_name\",e.DOE=\"date_of_expiry\"}(o||(t.CC_MISSING_FIELD=o={}))},602:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(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.viewPoaResult=t.viewCcResult=t.viewIdResult=void 0;const i=n(639),o=n(746);t.viewIdResult=(e,n=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,i.VIEW_RESULT)(e),{payload:s}=r.data,{status:a=\"\"}=s;if(a===o.VERIFICATION_STATUS.PENDING)return n<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewIdResult)(e,n+1)):{status:o.VERIFICATION_STATUS.PENDING};{const{status:e,is_retriable:t,identity_document:n,selfie:r}=s,i={status:e,is_retriable:t,id_status:null==n?void 0:n.system_status,selfie_status:null==r?void 0:r.system_status},a=null==n?void 0:n.system_result;if(!a)return i;const{name:c,id_result:u,doc_type:l,filepaths:_}=a;if(!u)return i;const d=l===o.AI_ID_TYPE.ID?o.ID_TYPE.NATIONAL_ID:l,{full_name:E,given_name:f,surname:A}=c,{nationality:h=\"\",id_number:p=\"\",date_of_birth:R=\"\",gender:I=\"\",address:O}=u;let N={nationality:h,id_number:p,date_of_birth:R};E?N.full_name=E||\"\":f||A?(N.given_name=f||\"\",N.surname=A||\"\"):N.full_name=E||\"\",N.gender=I&&\"N/A\"!==I?I:\"\";const T={state_iso:\"\",state_name:\"\",country_iso2:\"\",country_name:\"\",city:\"\",line1:\"\",zip:\"\"};if(O){for(const[e,t]of Object.entries(T))T[e]=O[e]||t;N=Object.assign(Object.assign({},N),T)}return Object.assign(Object.assign({},i),{result:N,id_type:d,filepaths:_})}})),t.viewCcResult=(e,n=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,i.VIEW_RESULT)(e),{payload:s}=r.data,{status:a=\"\"}=s;if(a===o.VERIFICATION_STATUS.PENDING)return n<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewCcResult)(e,n+1)):{status:o.VERIFICATION_STATUS.PENDING};{const{status:e,is_retriable:t=!1,cc:n}=s;let r={status:e,cc_status:null==n?void 0:n.system_status,is_retriable:t};const i=null==n?void 0:n.system_result;if(!i)return r;const{cc_result:o,filepaths:a}=i;return o?Object.assign(Object.assign({},r),{result:{cc_number_first_6:o.cc_number_first_6||\"\",cc_number_last_4:o.cc_number_last_4||\"\",full_name:o.full_name||\"\",doe_year:o.doe_year||\"\",doe_month:o.doe_month||\"\",is_expired:o.is_expired||!1},filepaths:a}):r}})),t.viewPoaResult=(e,n=1)=>r(void 0,void 0,void 0,(function*(){var r,s,a;const c=yield(0,i.VIEW_RESULT)(e),{payload:u}=c.data,{status:l=\"\"}=u;if(l===o.VERIFICATION_STATUS.PENDING)return n<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewPoaResult)(e,n+1)):{status:o.VERIFICATION_STATUS.PENDING};{const{status:e,is_retriable:t=!1,poa:n}=u;return{status:e,is_retriable:t,result:null===(r=null==n?void 0:n.system_result)||void 0===r?void 0:r.poa_result,filepaths:(null===(a=null===(s=null==n?void 0:n.system_result)||void 0===s?void 0:s.filepaths)||void 0===a?void 0:a.poa_keys)||[]}}}))},882:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(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 i=n(249),o=n(145),s=n(599),a=n(377),c=n(602),u=n(639),l=n(909),_=n(18);t.PWPROOFSDK=class{constructor(){this.fetchCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.fetchStates=e=>r(this,void 0,void 0,(function*(){return[]}))}get sessionId(){return\"\"}uploadFile(e,t){return r(this,void 0,void 0,(function*(){(0,i.validateParam)(\"filename\",e,\"string\",!0);const n=yield(0,u.VIEW_UPLOAD_FILE_URL)({name:e,session_id:this.sessionId}),{fields:r,url:o,presigned_url_read:s}=n.data.payload,a=new FormData;for(const e in r)a.append(e,r[e]);return a.append(\"file\",t),yield(0,u.UPLOAD_FILE)(o,a,{headers:{\"Content-Type\":\"multipart/form-data\",Authorization:\" \"}}),s}))}uploadId(e){return r(this,void 0,void 0,(function*(){const t=e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\";(0,i.validateParams)(e,{front_doc_uri:\"string\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\",doc_type:\"string\",issuing_country:\"string\"},[t,\"doc_type\",\"issuing_country\"]);const n=yield(0,u.UPLOAD_ID)(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,i.validateParams)(e,{selfie_uri:\"string\",selfie_uri_full:\"string\",selfie_base64:\"string\",selfie_base64_full:\"string\",liveness_score:\"number\"},[t]);const{liveness_score:n}=e,r=Object.assign(Object.assign({},e),n&&{metadata:{facial_liveness_score:n.toString()}}),o=yield(0,u.UPLOAD_SELFIE)(this.sessionId,r),{payload:s}=o.data;return s}))}viewIdResult(){return r(this,void 0,void 0,(function*(){return yield(0,c.viewIdResult)(this.sessionId)}))}updateIdForm(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,i.validateParams)(e,{full_name:\"string\",given_name:\"string\",surname:\"string\",id_number:\"string\",date_of_birth:\"string\",gender:\"string\",line1:\"string\",city:\"string\",zip:\"string\",state_iso:\"string\",country_iso2:\"string\"},t),(0,i.validateCharLength)(\"full_name\",e.full_name,0,1,160),(0,i.validateCharLength)(\"given_name\",e.given_name,0,1,70),(0,i.validateCharLength)(\"surname\",e.surname,0,1,70),(0,i.validateCharLength)(\"id_number\",e.id_number,0,1,40),(0,i.validateCharLength)(\"date_of_birth\",e.date_of_birth,0,1,10),(0,i.validateCharLength)(\"line1\",e.line1,0,1,350),(0,i.validateCharLength)(\"city\",e.city,0,1,70),(0,i.validateCharLength)(\"state_iso\",e.state_iso,0,1,9),(0,i.validateCharLength)(\"address\",e.zip,0,1,40),(0,i.validateCharLength)(\"country_iso2\",e.country_iso2,2),e.date_of_birth){const t=/^\\d{4}-\\d{2}-\\d{2}$/;(0,i.validateRegex)(\"date_of_birth\",e.date_of_birth,\"YYYY-MM-DD\",t)}if(e.gender){const t=Object.values(l.GENDER);(0,i.validateList)(\"gender\",e.gender,t)}const n=yield(0,u.UPDATE_FORM)(this.sessionId,{feedback_params:e}),{payload:r}=n.data;return r}))}uploadCc(e){return r(this,void 0,void 0,(function*(){let t;t=e.back_doc_uri||e.back_doc_base64?e.back_doc_uri?\"back_doc_uri\":\"back_doc_base64\":e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\",(0,i.validateParams)(e,{front_doc_uri:\"string\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\"},[t]);const n=yield(0,u.UPLOAD_CREDIT_CARD)(this.sessionId,Object.assign(Object.assign({},e),{doc_type:\"cc\"})),{payload:r}=n.data,{front_document_id:o,back_document_id:s,is_retriable:a,system_result:c}=r;if(!c)return{front_document_id:o,back_document_id:s,is_retriable:a};const{masked_coordinates:l=[],cc_missing_fields:_=[],is_partially_masked:d=!1}=c;return{front_document_id:o,back_document_id:s,is_retriable:a,masked_coordinates:l,missing_fields:_,is_partially_masked:d}}))}viewCcResult(){return r(this,void 0,void 0,(function*(){return yield(0,c.viewCcResult)(this.sessionId)}))}updateCcForm(e,t){return r(this,void 0,void 0,(function*(){(0,i.validateParams)(e,{full_name:\"string\",cc_number_first_6:\"string\",cc_number_last_4:\"string\",doe_year:\"string\",doe_month:\"string\"},[\"full_name\",\"cc_number_first_6\",\"cc_number_last_4\",\"doe_year\",\"doe_month\"]),(0,i.validateCharLength)(\"full_name\",e.full_name,0,1,160),(0,i.validateCharLength)(\"cc_number_first_6\",e.cc_number_first_6,6),(0,i.validateCharLength)(\"cc_number_last_4\",e.cc_number_last_4,4),(0,i.validateCharLength)(\"doe_year\",e.doe_year,4);const n=e=>/^[0-9]+$/.test(e);if(!n(e.cc_number_first_6)||!n(e.cc_number_last_4)){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: cc_number_first_6 and cc_number_last_4 should be whole numbers without decimal points.`,e}if(!n(e.doe_year)||!n(e.doe_month)){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: doe_year and doe_month should be whole numbers without decimal points.`,e}const r=parseInt(e.doe_month,10);if(r<1||r>12){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_RANGE]}: doe_month must be between 1 and 12.`,e}const a=new Date,c=parseInt(e.doe_year,10);if(new Date(c,r-1)<a){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_RANGE]}: expiry date (doe_month, doe_year) must must be today or in the future.`,e}t&&(0,i.validateParams)(t,{front_doc_uri:\"string\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\"});const l=yield(0,u.UPDATE_FORM)(this.sessionId,Object.assign({feedback_params:e},t&&{feedback_images:t}),\"cc\"),{payload:_}=l.data;return _}))}uploadPoa(e){return r(this,void 0,void 0,(function*(){const t=e.poa_uri?\"poa_uri\":\"poa_base64\";if((0,i.validateParams)(e,{poa_uri:\"string\",poa_base64:\"string\"},[t]),e.poa_uri&&!(0,_.isValidUri)(e.poa_uri)){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: poa_uri is not a valid URI.`,e}if(e.poa_uri){const t=new URLSearchParams(new URL(e.poa_uri).search),n=t.get(\"X-Amz-Date\"),r=t.get(\"X-Amz-Expires\");if(n&&r){const e=(0,a.parseDate)(n);if(e){const t=new Date(e.getTime()+1e3*Number(r));if(new Date>t){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: poa_uri is expired.`,e}}}}const n=yield(0,u.UPLOAD_POA)(this.sessionId,e),{payload:r}=n.data;return r}))}viewPoaResult(){return r(this,void 0,void 0,(function*(){return yield(0,c.viewPoaResult)(this.sessionId)}))}updatePoaForm(e){return r(this,void 0,void 0,(function*(){if((0,i.validateParams)(e,{receiver_name:\"string\",receiver_address:\"string\",receiver_city:\"string\",receiver_state_iso:\"string\",receiver_zip:\"string\",receiver_country_iso2:\"string\"},[\"receiver_name\",\"receiver_address\",\"receiver_city\",\"receiver_state_iso\",\"receiver_zip\",\"receiver_country_iso2\"]),(0,i.validateCharLength)(\"receiver_name\",e.receiver_name,0,1,160),(0,i.validateCharLength)(\"receiver_address\",e.receiver_address,0,1,350),(0,i.validateCharLength)(\"receiver_city\",e.receiver_city,0,1,70),(0,i.validateCharLength)(\"receiver_state_iso\",e.receiver_state_iso,0,1,9),(0,i.validateCharLength)(\"receiver_zip\",e.receiver_zip,0,1,40),(0,i.validateCharLength)(\"receiver_country_iso2\",e.receiver_country_iso2,2),e.receiver_country_iso2){if(!(yield this.fetchCountries()).map((e=>e.iso_code)).find((t=>t===e.receiver_country_iso2))){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: Country iso code is invalid.`,e}if(e.receiver_state_iso&&!(yield this.fetchStates(e.receiver_country_iso2)).map((e=>e.iso_code)).find((t=>t===e.receiver_state_iso))){const e=new o.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: State iso code is invalid.`,e}}const t=yield(0,u.UPDATE_FORM)(this.sessionId,{feedback_params:e},\"poa\"),{payload:n}=t.data;return n}))}}},218:(e,t,n)=>{function r(e,t){return function(){return e.apply(t,arguments)}}const{toString:i}=Object.prototype,{getPrototypeOf:o}=Object,s=(a=Object.create(null),e=>{const t=i.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,_=u(\"undefined\"),d=c(\"ArrayBuffer\"),E=u(\"string\"),f=u(\"function\"),A=u(\"number\"),h=e=>null!==e&&\"object\"==typeof e,p=e=>{if(\"object\"!==s(e))return!1;const t=o(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},R=c(\"Date\"),I=c(\"File\"),O=c(\"Blob\"),N=c(\"FileList\"),T=c(\"URLSearchParams\");function m(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,i;if(\"object\"!=typeof e&&(e=[e]),l(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{const i=n?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length;let s;for(r=0;r<o;r++)s=i[r],t.call(null,e[s],s,e)}}function S(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const D=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:n.g,y=e=>!_(e)&&e!==D,C=(g=\"undefined\"!=typeof Uint8Array&&o(Uint8Array),e=>g&&e instanceof g);var g;const v=c(\"HTMLFormElement\"),P=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),L=c(\"RegExp\"),b=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};m(n,((n,i)=>{!1!==t(n,i,e)&&(r[i]=n)})),Object.defineProperties(e,r)},M=\"abcdefghijklmnopqrstuvwxyz\",U=\"0123456789\",w={DIGIT:U,ALPHA:M,ALPHA_DIGIT:M+M.toUpperCase()+U},G=c(\"AsyncFunction\");var F={isArray:l,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!_(e)&&null!==e.constructor&&!_(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&(\"function\"==typeof FormData&&e instanceof FormData||f(e.append)&&(\"formdata\"===(t=s(e))||\"object\"===t&&f(e.toString)&&\"[object FormData]\"===e.toString()))},isArrayBufferView:function(e){let t;return t=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:E,isNumber:A,isBoolean:e=>!0===e||!1===e,isObject:h,isPlainObject:p,isUndefined:_,isDate:R,isFile:I,isBlob:O,isRegExp:L,isFunction:f,isStream:e=>h(e)&&f(e.pipe),isURLSearchParams:T,isTypedArray:C,isFileList:N,forEach:m,merge:function e(){const{caseless:t}=y(this)&&this||{},n={},r=(r,i)=>{const o=t&&S(n,i)||i;p(n[o])&&p(r)?n[o]=e(n[o],r):p(r)?n[o]=e({},r):l(r)?n[o]=r.slice():n[o]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&m(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:i}={})=>(m(t,((t,i)=>{n&&f(t)?e[i]=r(t,n):e[i]=t}),{allOwnKeys:i}),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 i,s,a;const c={};if(t=t||{},null==e)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)a=i[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&o(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(!A(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:v,hasOwnProperty:P,hasOwnProp:P,reduceDescriptors:b,freezeMethods:e=>{b(e,((t,n)=>{if(f(e)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;const r=e[n];f(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:S,global:D,isContextDefined:y,ALPHABET:w,generateString:(e=16,t=w.ALPHA_DIGIT)=>{let n=\"\";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&\"FormData\"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(h(e)){if(t.indexOf(e)>=0)return;if(!(\"toJSON\"in e)){t[r]=e;const i=l(e)?[]:{};return m(e,((e,t)=>{const o=n(e,r+1);!_(o)&&(i[t]=o)})),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:G,isThenable:e=>e&&(h(e)||f(e))&&f(e.then)&&f(e.catch)};function B(e,t,n,r,i){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),i&&(this.response=i)}F.inherits(B,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:F.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const x=B.prototype,V={};function j(e){return F.isPlainObject(e)||F.isArray(e)}function H(e){return F.endsWith(e,\"[]\")?e.slice(0,-2):e}function k(e,t,n){return e?e.concat(t).map((function(e,t){return e=H(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=>{V[e]={value:e}})),Object.defineProperties(B,V),Object.defineProperty(x,\"isAxiosError\",{value:!0}),B.from=(e,t,n,r,i,o)=>{const s=Object.create(x);return F.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>\"isAxiosError\"!==e)),B.call(s,e.message,t,n,r,i),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};const K=F.toFlatObject(F,{},null,(function(e){return/^is[A-Z]/.test(e)}));function W(e,t,n){if(!F.isObject(e))throw new TypeError(\"target must be an object\");t=t||new FormData;const r=(n=F.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!F.isUndefined(t[e])}))).metaTokens,i=n.visitor||u,o=n.dots,s=n.indexes,a=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&F.isSpecCompliantForm(t);if(!F.isFunction(i))throw new TypeError(\"visitor must be a function\");function c(e){if(null===e)return\"\";if(F.isDate(e))return e.toISOString();if(!a&&F.isBlob(e))throw new B(\"Blob is not supported. Use a Buffer instead.\");return F.isArrayBuffer(e)||F.isTypedArray(e)?a&&\"function\"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,i){let a=e;if(e&&!i&&\"object\"==typeof e)if(F.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(F.isArray(e)&&function(e){return F.isArray(e)&&!e.some(j)}(e)||(F.isFileList(e)||F.endsWith(n,\"[]\"))&&(a=F.toArray(e)))return n=H(n),a.forEach((function(e,r){!F.isUndefined(e)&&null!==e&&t.append(!0===s?k([n],r,o):null===s?n:n+\"[]\",c(e))})),!1;return!!j(e)||(t.append(k(i,n,o),c(e)),!1)}const l=[],_=Object.assign(K,{defaultVisitor:u,convertValue:c,isVisitable:j});if(!F.isObject(e))throw new TypeError(\"data must be an object\");return function e(n,r){if(!F.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),F.forEach(n,(function(n,o){!0===(!(F.isUndefined(n)||null===n)&&i.call(t,n,F.isString(o)?o.trim():o,r,_))&&e(n,r?r.concat(o):[o])})),l.pop()}}(e),t}function Y(e){const t={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function $(e,t){this._pairs=[],e&&W(e,this,t)}const X=$.prototype;function z(e){return encodeURIComponent(e).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function J(e,t,n){if(!t)return e;const r=n&&n.encode||z,i=n&&n.serialize;let o;if(o=i?i(t,n):F.isURLSearchParams(t)?t.toString():new $(t,n).toString(r),o){const t=e.indexOf(\"#\");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf(\"?\")?\"?\":\"&\")+o}return e}X.append=function(e,t){this._pairs.push([e,t])},X.toString=function(e){const t=e?function(t){return e.call(this,t,Y)}:Y;return this._pairs.map((function(e){return t(e[0])+\"=\"+t(e[1])}),\"\").join(\"&\")};var q=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){F.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:$,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,i){let o=e[i++];const s=Number.isFinite(+o),a=i>=e.length;return o=!o&&F.isArray(r)?r.length:o,a?(F.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!s):(r[o]&&F.isObject(r[o])||(r[o]=[]),t(e,n,r[o],i)&&F.isArray(r[o])&&(r[o]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r<i;r++)o=n[r],t[o]=e[o];return t}(r[o])),!s)}if(F.isFormData(e)&&F.isFunction(e.entries)){const n={};return F.forEachEntry(e,((e,r)=>{t(function(e){return F.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:Z,adapter:[\"xhr\",\"http\"],transformRequest:[function(e,t){const n=t.getContentType()||\"\",r=n.indexOf(\"application/json\")>-1,i=F.isObject(e);if(i&&F.isHTMLForm(e)&&(e=new FormData(e)),F.isFormData(e))return r&&r?JSON.stringify(ee(e)):e;if(F.isArrayBuffer(e)||F.isBuffer(e)||F.isStream(e)||F.isFile(e)||F.isBlob(e))return e;if(F.isArrayBufferView(e))return e.buffer;if(F.isURLSearchParams(e))return t.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),e.toString();let o;if(i){if(n.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(e,t){return W(e,new Q.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Q.isNode&&F.isBuffer(e)?(this.append(t,e.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((o=F.isFileList(e))||n.indexOf(\"multipart/form-data\")>-1){const t=this.env&&this.env.FormData;return W(o?{\"files[]\":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType(\"application/json\",!1),function(e,t,n){if(F.isString(e))try{return(0,JSON.parse)(e),F.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&&F.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 B.from(e,B.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:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};F.forEach([\"delete\",\"get\",\"head\"],(function(e){ne.headers[e]={}})),F.forEach([\"post\",\"put\",\"patch\"],(function(e){ne.headers[e]=F.merge(te)}));var re=ne;const ie=F.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\"]),oe=Symbol(\"internals\");function se(e){return e&&String(e).trim().toLowerCase()}function ae(e){return!1===e||null==e?e:F.isArray(e)?e.map(ae):String(e)}function ce(e,t,n,r,i){return F.isFunction(r)?r.call(this,t,n):(i&&(t=n),F.isString(t)?F.isString(r)?-1!==t.indexOf(r):F.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 i(e,t,n){const i=se(t);if(!i)throw new Error(\"header name must be a non-empty string\");const o=F.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||t]=ae(e))}const o=(e,t)=>F.forEach(e,((e,n)=>i(e,n,t)));return F.isPlainObject(e)||e instanceof this.constructor?o(e,t):F.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?o((e=>{const t={};let n,r,i;return e&&e.split(\"\\n\").forEach((function(e){i=e.indexOf(\":\"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&ie[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&&i(t,e,n),this}get(e,t){if(e=se(e)){const n=F.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(F.isFunction(t))return t.call(this,e,n);if(F.isRegExp(t))return t.exec(e);throw new TypeError(\"parser must be boolean|regexp|function\")}}}has(e,t){if(e=se(e)){const n=F.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 i(e){if(e=se(e)){const i=F.findKey(n,e);!i||t&&!ce(0,n[i],i,t)||(delete n[i],r=!0)}}return F.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!ce(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return F.forEach(this,((r,i)=>{const o=F.findKey(n,i);if(o)return t[o]=ae(r),void delete t[i];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(i):String(i).trim();s!==i&&delete t[i],t[s]=ae(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return F.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&F.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[oe]=this[oe]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=se(e);t[r]||(function(e,t){const n=F.toCamelCase(\" \"+t);[\"get\",\"set\",\"has\"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})}))}(n,e),t[r]=!0)}return F.isArray(e)?e.forEach(r):r(e),this}}ue.accessor([\"Content-Type\",\"Content-Length\",\"Accept\",\"Accept-Encoding\",\"User-Agent\",\"Authorization\"]),F.freezeMethods(ue.prototype),F.freezeMethods(ue);var le=ue;function _e(e,t){const n=this||re,r=t||n,i=le.from(r.headers);let o=r.data;return F.forEach(e,(function(e){o=e.call(n,o,i.normalize(),t?t.status:void 0)})),i.normalize(),o}function de(e){return!(!e||!e.__CANCEL__)}function Ee(e,t,n){B.call(this,null==e?\"canceled\":e,B.ERR_CANCELED,t,n),this.name=\"CanceledError\"}F.inherits(Ee,B,{__CANCEL__:!0});var fe=Q.isStandardBrowserEnv?{write:function(e,t,n,r,i,o){const s=[];s.push(e+\"=\"+encodeURIComponent(t)),F.isNumber(n)&&s.push(\"expires=\"+new Date(n).toGMTString()),F.isString(r)&&s.push(\"path=\"+r),F.isString(i)&&s.push(\"domain=\"+i),!0===o&&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 Ae(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 he=Q.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=F.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function pe(e,t){let n=0;const r=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,o=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];i||(i=c),n[o]=a,r[o]=c;let l=s,_=0;for(;l!==o;)_+=n[l++],l%=e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),c-i<t)return;const d=u&&c-u;return d?Math.round(1e3*_/d):void 0}}(50,250);return i=>{const o=i.loaded,s=i.lengthComputable?i.total:void 0,a=o-n,c=r(a);n=o;const u={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&o<=s?(s-o)/c:void 0,event:i};u[t?\"download\":\"upload\"]=!0,e(u)}}const Re={http:null,xhr:\"undefined\"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const i=le.from(e.headers).normalize(),o=e.responseType;let s;function a(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener(\"abort\",s)}F.isFormData(r)&&(Q.isStandardBrowserEnv||Q.isStandardBrowserWebWorkerEnv?i.setContentType(!1):i.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)):\"\";i.set(\"Authorization\",\"Basic \"+btoa(t+\":\"+n))}const u=Ae(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 B(\"Request failed with status code \"+n.status,[B.ERR_BAD_REQUEST,B.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:o&&\"text\"!==o&&\"json\"!==o?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:r,config:e,request:c}),c=null}if(c.open(e.method.toUpperCase(),J(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 B(\"Request aborted\",B.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new B(\"Network Error\",B.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||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new B(t,r.clarifyTimeoutError?B.ETIMEDOUT:B.ECONNABORTED,e,c)),c=null},Q.isStandardBrowserEnv){const t=(e.withCredentials||he(u))&&e.xsrfCookieName&&fe.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===r&&i.setContentType(null),\"setRequestHeader\"in c&&F.forEach(i.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),F.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),o&&\"json\"!==o&&(c.responseType=e.responseType),\"function\"==typeof e.onDownloadProgress&&c.addEventListener(\"progress\",pe(e.onDownloadProgress,!0)),\"function\"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener(\"progress\",pe(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{c&&(n(!t||t.type?new Ee(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 _=function(e){const t=/^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(e);return t&&t[1]||\"\"}(u);_&&-1===Q.protocols.indexOf(_)?n(new B(\"Unsupported protocol \"+_+\":\",B.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};F.forEach(Re,((e,t)=>{if(e){try{Object.defineProperty(e,\"name\",{value:t})}catch(e){}Object.defineProperty(e,\"adapterName\",{value:t})}}));function Ie(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ee(null,e)}function Oe(e){return Ie(e),e.headers=le.from(e.headers),e.data=_e.call(e,e.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(e.method)&&e.headers.setContentType(\"application/x-www-form-urlencoded\",!1),(e=>{e=F.isArray(e)?e:[e];const{length:t}=e;let n,r;for(let i=0;i<t&&(n=e[i],!(r=F.isString(n)?Re[n.toLowerCase()]:n));i++);if(!r){if(!1===r)throw new B(`Adapter ${n} is not supported by the environment`,\"ERR_NOT_SUPPORT\");throw new Error(F.hasOwnProp(Re,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`)}if(!F.isFunction(r))throw new TypeError(\"adapter is not a function\");return r})(e.adapter||re.adapter)(e).then((function(t){return Ie(e),t.data=_e.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return de(t)||(Ie(e),t&&t.response&&(t.response.data=_e.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const Ne=e=>e instanceof le?e.toJSON():e;function Te(e,t){t=t||{};const n={};function r(e,t,n){return F.isPlainObject(e)&&F.isPlainObject(t)?F.merge.call({caseless:n},e,t):F.isPlainObject(t)?F.merge({},t):F.isArray(t)?t.slice():t}function i(e,t,n){return F.isUndefined(t)?F.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function o(e,t){if(!F.isUndefined(t))return r(void 0,t)}function s(e,t){return F.isUndefined(t)?F.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,i,o){return o in t?r(n,i):o in e?r(void 0,n):void 0}const c={url:o,method:o,data:o,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)=>i(Ne(e),Ne(t),!0)};return F.forEach(Object.keys(Object.assign({},e,t)),(function(r){const o=c[r]||i,s=o(e[r],t[r],r);F.isUndefined(s)&&o!==a||(n[r]=s)})),n}const me={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach(((e,t)=>{me[e]=function(n){return typeof n===e||\"a\"+(t<1?\"n \":\" \")+e}}));const Se={};me.transitional=function(e,t,n){function r(e,t){return\"[Axios v1.4.0] Transitional option '\"+e+\"'\"+t+(n?\". \"+n:\"\")}return(n,i,o)=>{if(!1===e)throw new B(r(i,\" has been removed\"+(t?\" in \"+t:\"\")),B.ERR_DEPRECATED);return t&&!Se[i]&&(Se[i]=!0,console.warn(r(i,\" has been deprecated since v\"+t+\" and will be removed in the near future\"))),!e||e(n,i,o)}};var De={assertOptions:function(e,t,n){if(\"object\"!=typeof e)throw new B(\"options must be an object\",B.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],s=t[o];if(s){const t=e[o],n=void 0===t||s(t,o,e);if(!0!==n)throw new B(\"option \"+o+\" must be \"+n,B.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new B(\"Unknown option \"+o,B.ERR_BAD_OPTION)}},validators:me};const ye=De.validators;class Ce{constructor(e){this.defaults=e,this.interceptors={request:new q,response:new q}}request(e,t){\"string\"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;let o;void 0!==n&&De.assertOptions(n,{silentJSONParsing:ye.transitional(ye.boolean),forcedJSONParsing:ye.transitional(ye.boolean),clarifyTimeoutError:ye.transitional(ye.boolean)},!1),null!=r&&(F.isFunction(r)?t.paramsSerializer={serialize:r}:De.assertOptions(r,{encode:ye.function,serialize:ye.function},!0)),t.method=(t.method||this.defaults.method||\"get\").toLowerCase(),o=i&&F.merge(i.common,i[t.method]),o&&F.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(e=>{delete i[e]})),t.headers=le.concat(o,i);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,_=0;if(!a){const e=[Oe.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);_<l;)u=u.then(e[_++],e[_++]);return u}l=s.length;let d=t;for(_=0;_<l;){const e=s[_++],t=s[_++];try{d=e(d)}catch(e){t.call(this,e);break}}try{u=Oe.call(this,d)}catch(e){return Promise.reject(e)}for(_=0,l=c.length;_<l;)u=u.then(c[_++],c[_++]);return u}getUri(e){return J(Ae((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}F.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){Ce.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),F.forEach([\"post\",\"put\",\"patch\"],(function(e){function t(t){return function(n,r,i){return this.request(Te(i||{},{method:e,headers:t?{\"Content-Type\":\"multipart/form-data\"}:{},url:n,data:r}))}}Ce.prototype[e]=t(),Ce.prototype[e+\"Form\"]=t(!0)}));var ge=Ce;class ve{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,i){n.reason||(n.reason=new Ee(e,r,i),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 ve((function(t){e=t})),cancel:e}}}var Pe=ve;const Le={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(Le).forEach((([e,t])=>{Le[t]=e}));var be=Le;const Me=function e(t){const n=new ge(t),i=r(ge.prototype.request,n);return F.extend(i,ge.prototype,n,{allOwnKeys:!0}),F.extend(i,n,null,{allOwnKeys:!0}),i.create=function(n){return e(Te(t,n))},i}(re);Me.Axios=ge,Me.CanceledError=Ee,Me.CancelToken=Pe,Me.isCancel=de,Me.VERSION=\"1.4.0\",Me.toFormData=W,Me.AxiosError=B,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 F.isObject(e)&&!0===e.isAxiosError},Me.mergeConfig=Te,Me.AxiosHeaders=le,Me.formToJSON=e=>ee(F.isHTMLForm(e)?new FormData(e):e),Me.HttpStatusCode=be,Me.default=Me,e.exports=Me}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.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.uploadFile=c.PWPROOFSDK.prototype.uploadFile,this.uploadId=c.PWPROOFSDK.prototype.uploadId,this.uploadSelfie=c.PWPROOFSDK.prototype.uploadSelfie,this.viewIdResult=c.PWPROOFSDK.prototype.viewIdResult,this.updateIdForm=c.PWPROOFSDK.prototype.updateIdForm,this.uploadCc=c.PWPROOFSDK.prototype.uploadCc,this.reuploadCc=c.PWPROOFSDK.prototype.reuploadCc,this.viewCcResult=c.PWPROOFSDK.prototype.viewCcResult,this.updateCcForm=c.PWPROOFSDK.prototype.updateCcForm,this.uploadPoa=c.PWPROOFSDK.prototype.uploadPoa,this.viewPoaResult=c.PWPROOFSDK.prototype.viewPoaResult,this.updatePoaForm=c.PWPROOFSDK.prototype.updatePoaForm}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_CHAR_LENGTH=t.INVALID_ARGUMENT_RANGE=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_BLUR=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_BLUR=12010,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_RANGE=\"INVALID_ARGUMENT_RANGE\",t.INVALID_ARGUMENT_CHAR_LENGTH=\"INVALID_ARGUMENT_CHAR_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_RANGE]:\"Invalid range for argument\",[t.INVALID_ARGUMENT_CHAR_LENGTH]:\"Invalid character 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_RANGE]:\"invalid-argument-range\",[t.INVALID_ARGUMENT_CHAR_LENGTH]:\"invalid-argument-char-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_BLUR]:\"doc-blur\",[t.CODE_DOC_IMG_UNSIMILAR]:\"doc-front-back-img-unsimilar\",[t.CODE_DOC_NOT_POSITIONED]:\"doc-not-positioned-proper\",[t.CODE_IMG_EXPOSED_1]:\"img-exposed\",[t.CODE_IMG_EXPOSED_2]:\"img-exposed\",[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\"}},377:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseDate=void 0,t.parseDate=e=>{try{const t=/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2})Z$/;if(t.test(e)){const[n,r,o,i,s,a,c]=e.match(t),u=`${r}-${o}-${i}T${s}:${a}:${c}Z`;return new Date(u)}return}catch(e){return void console.error(\"Date format parsing error:\",e)}}},249:(e,t,n)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.validateList=t.validateRegex=t.validateCharLength=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.validateCharLength=(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_CHAR_LENGTH],c.message=`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_CHAR_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},t.validateList=(e,t,n)=>{if(n.includes(t))return;const i=new r.PwError(`${o.ERROR_MESSAGE[o.INVALID_ARGUMENT_FORMAT]}: ${e} ${n} `);throw i.type=o.ERROR_TYPE[o.INVALID_ARGUMENT_FORMAT],i}},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),_=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{sessionId:t,exp:n,sub:r,aud:o,merchantId:d,verificationTypes:E=[],excludedDocTypes:f=[]}=(0,i.default)(e);if((0,_.isExpired)(n)){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(o,e);const A=yield(0,l.VIEW_MERCHANT)(d),{payload:p}=A.data;return this._merchantDetail=p,yield this.fetchCountries(),yield this.fetchIssuingCountries(),yield this.viewDefaultCountry(),{verification_types:E,session_id:t,expired_at:n,user_id:r,excluded_doc_types:f}}))}}},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})},909:(e,t)=>{var n,r,o;Object.defineProperty(t,\"__esModule\",{value:!0}),t.GENDER=t.COUNTRY_ISO=t.LANGUAGE=void 0,function(e){e.EN=\"en\",e.ID=\"id\",e.CN=\"zh-CN\"}(n||(t.LANGUAGE=n={})),function(e){e.AFGHANISTAN=\"AF\",e[\"ÅLAND_ISLANDS\"]=\"AX\",e.ALBANIA=\"AL\",e.ALGERIA=\"DZ\",e.AMERICAN_SAMOA=\"AS\",e.ANDORRA=\"AD\",e.ANGOLA=\"AO\",e.ANGUILLA=\"AI\",e.ANTARCTICA=\"AQ\",e.ANTIGUA_AND_BARBUDA=\"AG\",e.ARGENTINA=\"AR\",e.ARMENIA=\"AM\",e.ARUBA=\"AW\",e.AUSTRALIA=\"AU\",e.AUSTRIA=\"AT\",e.AZERBAIJAN=\"AZ\",e.BAHAMAS=\"BS\",e.BAHRAIN=\"BH\",e.BANGLADESH=\"BD\",e.BARBADOS=\"BB\",e.BELARUS=\"BY\",e.BELGIUM=\"BE\",e.BELIZE=\"BZ\",e.BENIN=\"BJ\",e.BERMUDA=\"BM\",e.BHUTAN=\"BT\",e.BOLIVIA=\"BO\",e.BONAIRE_SINT_EUSTATIUS_AND_SABA=\"BQ\",e.BOSNIA_AND_HERZEGOVINA=\"BA\",e.BOTSWANA=\"BW\",e.BOUVET_ISLAND=\"BV\",e.BRAZIL=\"BR\",e.BRITISH_INDIAN_OCEAN_TERRITORY=\"IO\",e.BRUNEI_DARUSSALAM=\"BN\",e.BULGARIA=\"BG\",e.BURKINA_FASO=\"BF\",e.BURUNDI=\"BI\",e.CABO_VERDE=\"CV\",e.CAMBODIA=\"KH\",e.CAMEROON=\"CM\",e.CANADA=\"CA\",e.CAYMAN_ISLANDS=\"KY\",e.CENTRAL_AFRICAN_REPUBLIC=\"CF\",e.CHAD=\"TD\",e.CHILE=\"CL\",e.CHINA=\"CN\",e.CHRISTMAS_ISLAND=\"CX\",e.COCOS_KEELING_ISLANDS=\"CC\",e.COLOMBIA=\"CO\",e.COMOROS=\"KM\",e.CONGO=\"CG\",e.COOK_ISLANDS=\"CK\",e.COSTA_RICA=\"CR\",e[\"CÔTE_D_IVOIRE\"]=\"CI\",e.CROATIA=\"HR\",e[\"CURAÇAO\"]=\"CW\",e.CYPRUS=\"CY\",e.CZECHIA=\"CZ\",e.DENMARK=\"DK\",e.DJIBOUTI=\"DJ\",e.DOMINICA=\"DM\",e.DOMINICAN_REPUBLIC=\"DO\",e.ECUADOR=\"EC\",e.EGYPT=\"EG\",e.EL_SALVADOR=\"SV\",e.EQUATORIAL_GUINEA=\"GQ\",e.ERITREA=\"ER\",e.ESTONIA=\"EE\",e.ESWATINI=\"SZ\",e.ETHIOPIA=\"ET\",e.FALKLAND_ISLANDS_MALVINAS=\"FK\",e.FAROE_ISLANDS=\"FO\",e.FIJI=\"FJ\",e.FINLAND=\"FI\",e.FRANCE=\"FR\",e.FRENCH_GUIANA=\"GF\",e.FRENCH_POLYNESIA=\"PF\",e.FRENCH_SOUTHERN_TERRITORIES=\"TF\",e.GABON=\"GA\",e.GAMBIA=\"GM\",e.GEORGIA=\"GE\",e.GERMANY=\"DE\",e.GHANA=\"GH\",e.GIBRALTAR=\"GI\",e.GREECE=\"GR\",e.GREENLAND=\"GL\",e.GRENADA=\"GD\",e.GUADELOUPE=\"GP\",e.GUAM=\"GU\",e.GUATEMALA=\"GT\",e.GUERNSEY=\"GG\",e.GUINEA=\"GN\",e.GUINEA_BISSAU=\"GW\",e.GUYANA=\"GY\",e.HAITI=\"HT\",e.HEARD_ISLAND_AND_MCDONALD_ISLANDS=\"HM\",e.HOLY_SEE=\"VA\",e.HONDURAS=\"HN\",e.HONG_KONG=\"HK\",e.HUNGARY=\"HU\",e.ICELAND=\"IS\",e.INDIA=\"IN\",e.INDONESIA=\"ID\",e.IRAQ=\"IQ\",e.IRELAND=\"IE\",e.ISLE_OF_MAN=\"IM\",e.ISRAEL=\"IL\",e.ITALY=\"IT\",e.JAMAICA=\"JM\",e.JAPAN=\"JP\",e.JERSEY=\"JE\",e.JORDAN=\"JO\",e.KAZAKHSTAN=\"KZ\",e.KENYA=\"KE\",e.KIRIBATI=\"KI\",e.KOREA_REPUBLIC_OF=\"KR\",e.KUWAIT=\"KW\",e.KYRGYZSTAN=\"KG\",e.LAO_PEOPLE_S_DEMOCRATIC_REPUBLIC=\"LA\",e.LATVIA=\"LV\",e.LEBANON=\"LB\",e.LESOTHO=\"LS\",e.LIBERIA=\"LR\",e.LIECHTENSTEIN=\"LI\",e.LITHUANIA=\"LT\",e.LUXEMBOURG=\"LU\",e.MACAO=\"MO\",e.MADAGASCAR=\"MG\",e.MALAWI=\"MW\",e.MALAYSIA=\"MY\",e.MALDIVES=\"MV\",e.MALI=\"ML\",e.MALTA=\"MT\",e.MARSHALL_ISLANDS=\"MH\",e.MARTINIQUE=\"MQ\",e.MAURITANIA=\"MR\",e.MAURITIUS=\"MU\",e.MAYOTTE=\"YT\",e.MEXICO=\"MX\",e.MICRONESIA_FEDERATED_STATES_OF=\"FM\",e.FRANCE_METROPOLITAN=\"FX\",e.MOLDOVA_REPUBLIC_OF=\"MD\",e.MONACO=\"MC\",e.MONGOLIA=\"MN\",e.MONTENEGRO=\"ME\",e.MONTSERRAT=\"MS\",e.MOROCCO=\"MA\",e.MOZAMBIQUE=\"MZ\",e.MYANMAR=\"MM\",e.NAMIBIA=\"NA\",e.NAURU=\"NR\",e.NEPAL=\"NP\",e.NETHERLANDS=\"NL\",e.NEW_CALEDONIA=\"NC\",e.NEW_ZEALAND=\"NZ\",e.NICARAGUA=\"NI\",e.NIGER=\"NE\",e.NIGERIA=\"NG\",e.NIUE=\"NU\",e.NORFOLK_ISLAND=\"NF\",e.NORTH_MACEDONIA=\"MK\",e.NORTHERN_MARIANA_ISLANDS=\"MP\",e.NORWAY=\"NO\",e.OMAN=\"OM\",e.PAKISTAN=\"PK\",e.PALAU=\"PW\",e.PALESTINE_STATE_OF=\"PS\",e.PANAMA=\"PA\",e.PAPUA_NEW_GUINEA=\"PG\",e.PARAGUAY=\"PY\",e.PERU=\"PE\",e.PHILIPPINES=\"PH\",e.PITCAIRN=\"PN\",e.POLAND=\"PL\",e.PORTUGAL=\"PT\",e.PUERTO_RICO=\"PR\",e.QATAR=\"QA\",e[\"RÉUNION\"]=\"RE\",e.ROMANIA=\"RO\",e.RUSSIAN_FEDERATION=\"RU\",e.RWANDA=\"RW\",e[\"SAINT_BARTHÉLEMY\"]=\"BL\",e.SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA=\"SH\",e.SAINT_KITTS_AND_NEVIS=\"KN\",e.SAINT_LUCIA=\"LC\",e.SAINT_MARTIN_FRENCH_PART=\"MF\",e.SAINT_PIERRE_AND_MIQUELON=\"PM\",e.SAINT_VINCENT_AND_THE_GRENADINES=\"VC\",e.SAMOA=\"WS\",e.SAN_MARINO=\"SM\",e.SAO_TOME_AND_PRINCIPE=\"ST\",e.SAUDI_ARABIA=\"SA\",e.SENEGAL=\"SN\",e.SERBIA=\"RS\",e.SEYCHELLES=\"SC\",e.SIERRA_LEONE=\"SL\",e.SINGAPORE=\"SG\",e.SINT_MAARTEN_DUTCH_PART=\"SX\",e.SLOVAKIA=\"SK\",e.SLOVENIA=\"SI\",e.SOLOMON_ISLANDS=\"SB\",e.SOUTH_AFRICA=\"ZA\",e.SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS=\"GS\",e.SPAIN=\"ES\",e.SRI_LANKA=\"LK\",e.SURINAME=\"SR\",e.SVALBARD_AND_JAN_MAYEN=\"SJ\",e.SWEDEN=\"SE\",e.SWITZERLAND=\"CH\",e.TAIWAN_PROVINCE_OF_CHINA=\"TW\",e.TAJIKISTAN=\"TJ\",e.TANZANIA_UNITED_REPUBLIC_OF=\"TZ\",e.THAILAND=\"TH\",e.TIMOR_LESTE=\"TL\",e.TOGO=\"TG\",e.TOKELAU=\"TK\",e.TONGA=\"TO\",e.TRINIDAD_AND_TOBAGO=\"TT\",e.TUNISIA=\"TN\",e.TURKEY=\"TR\",e.TURKMENISTAN=\"TM\",e.TURKS_AND_CAICOS_ISLANDS=\"TC\",e.TUVALU=\"TV\",e.UGANDA=\"UG\",e.UKRAINE=\"UA\",e.UNITED_ARAB_EMIRATES=\"AE\",e.UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND=\"GB\",e.UNITED_STATES_OF_AMERICA=\"US\",e.UNITED_STATES_MINOR_OUTLYING_ISLANDS=\"UM\",e.URUGUAY=\"UY\",e.UZBEKISTAN=\"UZ\",e.VANUATU=\"VU\",e.VENEZUELA_BOLIVARIAN_REPUBLIC_OF=\"VE\",e.VIET_NAM=\"VN\",e.VIRGIN_ISLANDS_BRITISH=\"VG\",e.VIRGIN_ISLANDS_U_S=\"VI\",e.WALLIS_AND_FUTUNA=\"WF\",e.WESTERN_SAHARA=\"EH\",e.REPUBLIC_OF_KOSOVO=\"XK\",e.ZAMBIA=\"ZM\",e.ZIMBABWE=\"ZW\"}(r||(t.COUNTRY_ISO=r={})),function(e){e.F=\"FEMALE\",e.M=\"MALE\"}(o||(t.GENDER=o={}))},18:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isValidUri=void 0,t.isValidUri=e=>{try{return new URL(e),!0}catch(e){return!1}}},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=[],this._state={}}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*(){if((0,o.validateParam)(\"country\",e,\"string\",!0),this._state){if(this._state&&this._state[e])return this._state[e]}else this._state={};const t=yield(0,i.FETCH_STATES)({country:e}),{payload:n}=t.data,{results:r}=n;return this._state[e]=Object.entries(r).map((([e,t])=>({iso_code:e,name:t}))),this._state[e]}))}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.toUpperCase(),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]));else if(r&&r.length){const t=r.map((e=>e));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=null;if(n){const e=t.find((e=>e.iso_code===n));e&&(r=e)}if(!r&&(null==e?void 0:e.country)){const n=t.find((t=>t.iso_code===(null==e?void 0:e.country)));n&&(r=n)}return!r&&t.length>0&&(r=t[0]),this._defaultCountry=r||{},this._defaultCountry}))}}},639: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.VIEW_RESULT=t.UPDATE_FORM=t.UPLOAD_POA=t.REUPLOAD_CREDIT_CARD=t.UPLOAD_CREDIT_CARD=t.UPLOAD_SELFIE=t.UPLOAD_ID=t.UPLOAD_FILE=t.VIEW_UPLOAD_FILE_URL=void 0;const o=r(n(218)),i=n(207);t.VIEW_UPLOAD_FILE_URL=e=>i.instance.get(\"ekyc/upload-url\",{params:e}),t.UPLOAD_FILE=(e,t,n)=>o.default.post(e,t,n),t.UPLOAD_ID=(e,t)=>i.instance.post(`/ekyc/session/${e}/doc`,t),t.UPLOAD_SELFIE=(e,t)=>i.instance.post(`/ekyc/session/${e}/selfie`,t),t.UPLOAD_CREDIT_CARD=(e,t)=>i.instance.post(`/ekyc/session/${e}/cc`,t),t.REUPLOAD_CREDIT_CARD=(e,t)=>i.instance.post(`/ekyc/session/${e}/reupload-cc`,t),t.UPLOAD_POA=(e,t)=>i.instance.post(`/ekyc/session/${e}/poa`,t),t.UPDATE_FORM=(e,t,n=\"ekyc\")=>i.instance.put(`/ekyc/session/${e}/feedback`,t,{params:{service:n}}),t.VIEW_RESULT=(e,t)=>i.instance.get(`/ekyc/session/${e}/check`,{params:{return_dynamic_form:t}})},746:(e,t)=>{var n,r,o,i,s,a;Object.defineProperty(t,\"__esModule\",{value:!0}),t.SUBTYPE=t.TYPE_FIELD=t.CC_MISSING_FIELD=t.VERIFICATION_STATUS=t.AI_ID_TYPE=t.ID_TYPE=void 0,function(e){e.PASSPORT=\"passport\",e.NATIONAL_ID=\"national_identity_document\",e.LICENSE=\"driving_license\"}(n||(t.ID_TYPE=n={})),function(e){e.PASSPORT=\"passport\",e.ID=\"identity_document\",e.LICENSE=\"driving_license\"}(r||(t.AI_ID_TYPE=r={})),function(e){e.PENDING=\"pending\",e.APPROVED=\"approved\",e.REJECTED=\"rejected\",e.REVIEW=\"review\"}(o||(t.VERIFICATION_STATUS=o={})),function(e){e.CC_NUMBER=\"cc_number\",e.CC_NUMBER_FIRST_6=\"cc_number_first_6\",e.CC_NUMBER_LAST_4=\"cc_number_last_4\",e.FULL_NAME=\"full_name\",e.DOE=\"date_of_expiry\"}(i||(t.CC_MISSING_FIELD=i={})),function(e){e.TEXT=\"text\",e.TEXTAREA=\"textarea\",e.DATE=\"date\",e.SELECTION=\"selection\",e.DROPDOWN=\"dropdown\",e.CC_NO=\"cc_num\",e.CC_DOE=\"cc_doe\"}(s||(t.TYPE_FIELD=s={})),function(e){e.COUNTRY=\"country\",e.STATE=\"state\",e.CC_FIRST6=\"cc_first6\",e.CC_LAST4=\"cc_last4\",e.CC_MONTH=\"cc_month\",e.CC_YEAR=\"cc_year\"}(a||(t.SUBTYPE=a={}))},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.viewPoaResult=t.viewCcResult=t.viewIdResult=t.isCcExpired=void 0;const o=n(639),i=n(746);t.isCcExpired=(e,t)=>{const n=new Date,r=n.getFullYear(),o=n.getMonth(),i=parseInt(e,10),s=parseInt(t,10);return i<r||i===r&&s-1<o},t.viewIdResult=(e,n,s=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,o.VIEW_RESULT)(e,n),{payload:a}=r.data,{status:c=\"\"}=a;if(c===i.VERIFICATION_STATUS.PENDING)return s<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewIdResult)(e,n,s+1)):{status:i.VERIFICATION_STATUS.PENDING};{if(!n)return a;const{status:e,is_retriable:t,identity_document:r,selfie:o}=a,s={status:e,is_retriable:t,id_status:null==r?void 0:r.system_status,selfie_status:null==o?void 0:o.system_status},c=null==r?void 0:r.system_result;if(!c)return s;const{id_result:u,doc_type:l,filepaths:_}=c;if(!u)return s;const d=l===i.AI_ID_TYPE.ID?i.ID_TYPE.NATIONAL_ID:l;return Object.assign(Object.assign({},s),{result:u,id_type:d,filepaths:_})}})),t.viewCcResult=(e,n,s=1)=>r(void 0,void 0,void 0,(function*(){const r=yield(0,o.VIEW_RESULT)(e,n),{payload:a}=r.data,{status:c=\"\"}=a;if(c===i.VERIFICATION_STATUS.PENDING)return s<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewCcResult)(e,n,s+1)):{status:i.VERIFICATION_STATUS.PENDING};{if(!n)return a;const{status:e,is_retriable:t=!1,cc:r}=a,o={status:e,cc_status:null==r?void 0:r.system_status,is_retriable:t},i=null==r?void 0:r.system_result;if(!i)return o;const{cc_result:s,filepaths:c,is_expired:u}=i;if(!s)return o;const l=s;return Object.assign(Object.assign({},o),{result:l,is_expired:u,filepaths:c})}})),t.viewPoaResult=(e,n,s=1)=>r(void 0,void 0,void 0,(function*(){var r,a,c;const u=yield(0,o.VIEW_RESULT)(e,n),{payload:l}=u.data,{status:_=\"\"}=l;if(_===i.VERIFICATION_STATUS.PENDING)return s<5?(yield new Promise((e=>setTimeout(e,3e3))),yield(0,t.viewPoaResult)(e,n,s+1)):{status:i.VERIFICATION_STATUS.PENDING};{if(!n)return l;const{status:e,is_retriable:t=!1,poa:o}=l;return{status:e,is_retriable:t,result:null===(r=null==o?void 0:o.system_result)||void 0===r?void 0:r.poa_result,filepaths:(null===(c=null===(a=null==o?void 0:o.system_result)||void 0===a?void 0:a.filepaths)||void 0===c?void 0:c.poa_keys)||[]}}}))},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(145),s=n(599),a=n(377),c=n(602),u=n(639),l=n(909),_=n(18);t.PWPROOFSDK=class{constructor(){this.fetchCountries=()=>r(this,void 0,void 0,(function*(){return[]})),this.fetchStates=e=>r(this,void 0,void 0,(function*(){return[]}))}get sessionId(){return\"\"}uploadFile(e,t){return r(this,void 0,void 0,(function*(){(0,o.validateParam)(\"filename\",e,\"string\",!0);const n=yield(0,u.VIEW_UPLOAD_FILE_URL)({name:e,session_id:this.sessionId}),{fields:r,url:i,presigned_url_read:s}=n.data.payload,a=new FormData;for(const e in r)a.append(e,r[e]);return a.append(\"file\",t),yield(0,u.UPLOAD_FILE)(i,a,{headers:{\"Content-Type\":\"multipart/form-data\",Authorization:\" \"}}),s}))}uploadId(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\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\",doc_type:\"string\",issuing_country:\"string\"},[t,\"doc_type\",\"issuing_country\"]);const n=yield(0,u.UPLOAD_ID)(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_uri_full:\"string\",selfie_base64:\"string\",selfie_base64_full:\"string\",liveness_score:\"number\"},[t]);const{liveness_score:n}=e,r=Object.assign(Object.assign({},e),n&&{metadata:{facial_liveness_score:n.toString()}}),i=yield(0,u.UPLOAD_SELFIE)(this.sessionId,r),{payload:s}=i.data;return s}))}viewIdResult(e=!0){return r(this,void 0,void 0,(function*(){return yield(0,c.viewIdResult)(this.sessionId,e)}))}updateIdForm(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\",gender:\"string\",line1:\"string\",city:\"string\",zip:\"string\",state_iso:\"string\",country_iso2:\"string\"},t),(0,o.validateCharLength)(\"full_name\",e.full_name,0,1,160),(0,o.validateCharLength)(\"given_name\",e.given_name,0,1,70),(0,o.validateCharLength)(\"surname\",e.surname,0,1,70),(0,o.validateCharLength)(\"id_number\",e.id_number,0,1,40),(0,o.validateCharLength)(\"date_of_birth\",e.date_of_birth,0,1,10),(0,o.validateCharLength)(\"line1\",e.line1,0,1,350),(0,o.validateCharLength)(\"city\",e.city,0,1,70),(0,o.validateCharLength)(\"state_iso\",e.state_iso,0,1,9),(0,o.validateCharLength)(\"address\",e.zip,0,1,40),(0,o.validateCharLength)(\"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)}if(e.gender){const t=Object.values(l.GENDER);(0,o.validateList)(\"gender\",e.gender,t)}const n=yield(0,u.UPDATE_FORM)(this.sessionId,e),{payload:r}=n.data;return r}))}uploadCc(e){return r(this,void 0,void 0,(function*(){let t;t=e.back_doc_uri||e.back_doc_base64?e.back_doc_uri?\"back_doc_uri\":\"back_doc_base64\":e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\",(0,o.validateParams)(e,{front_doc_uri:\"string\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\"},[t]);const n=yield(0,u.UPLOAD_CREDIT_CARD)(this.sessionId,Object.assign(Object.assign({},e),{doc_type:\"cc\"})),{payload:r}=n.data,{front_document_id:i,back_document_id:s,is_retriable:a,system_result:c}=r;if(!c)return{front_document_id:i,back_document_id:s,is_retriable:a};const{masked_coordinates:l=[],cc_missing_fields:_=[],is_partially_masked:d=!1}=c;return{front_document_id:i,back_document_id:s,is_retriable:a,masked_coordinates:l,missing_fields:_,is_partially_masked:d}}))}reuploadCc(e){return r(this,void 0,void 0,(function*(){let t;t=e.back_doc_uri||e.back_doc_base64?e.back_doc_uri?\"back_doc_uri\":\"back_doc_base64\":e.front_doc_uri?\"front_doc_uri\":\"front_doc_base64\",(0,o.validateParams)(e,{front_doc_uri:\"string\",front_doc_uri_full:\"string\",back_doc_uri:\"string\",back_doc_uri_full:\"string\",front_doc_base64:\"string\",front_doc_base64_full:\"string\",back_doc_base64:\"string\",back_doc_base64_full:\"string\",front_document_id:\"string\",back_document_id:\"string\"},[t,\"front_document_id\",\"back_document_id\"]);const n=yield(0,u.REUPLOAD_CREDIT_CARD)(this.sessionId,e),{payload:r}=n.data;return r}))}viewCcResult(e=!0){return r(this,void 0,void 0,(function*(){return yield(0,c.viewCcResult)(this.sessionId,e)}))}updateCcForm(e){return r(this,void 0,void 0,(function*(){(0,o.validateParams)(e,{full_name:\"string\",cc_number_first_6:\"string\",cc_number_last_4:\"string\",doe_year:\"string\",doe_month:\"string\"},[\"full_name\",\"cc_number_first_6\",\"cc_number_last_4\",\"doe_year\",\"doe_month\"]),(0,o.validateCharLength)(\"full_name\",e.full_name,0,1,160),(0,o.validateCharLength)(\"cc_number_first_6\",e.cc_number_first_6,6),(0,o.validateCharLength)(\"cc_number_last_4\",e.cc_number_last_4,4),(0,o.validateCharLength)(\"doe_year\",e.doe_year,4);const t=e=>/^[0-9]+$/.test(e);if(!t(e.cc_number_first_6)||!t(e.cc_number_last_4)){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: cc_number_first_6 and cc_number_last_4 should be whole numbers without decimal points.`,e}if(!t(e.doe_year)||!t(e.doe_month)){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: doe_year and doe_month should be whole numbers without decimal points.`,e}const n=parseInt(e.doe_month,10);if(n<1||n>12){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_RANGE]}: doe_month must be between 1 and 12.`,e}if((0,c.isCcExpired)(e.doe_year,e.doe_month)){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_RANGE]}: expiry date (doe_month, doe_year) must must be today or in the future.`,e}const r=yield(0,u.UPDATE_FORM)(this.sessionId,e,\"cc\"),{payload:a}=r.data;return a}))}uploadPoa(e){return r(this,void 0,void 0,(function*(){const t=e.poa_uri?\"poa_uri\":\"poa_base64\";if((0,o.validateParams)(e,{poa_uri:\"string\",poa_base64:\"string\"},[t]),e.poa_uri&&!(0,_.isValidUri)(e.poa_uri)){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: poa_uri is not a valid URI.`,e}if(e.poa_uri){const t=new URLSearchParams(new URL(e.poa_uri).search),n=t.get(\"X-Amz-Date\"),r=t.get(\"X-Amz-Expires\");if(n&&r){const e=(0,a.parseDate)(n);if(e){const t=new Date(e.getTime()+1e3*Number(r));if(new Date>t){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_RANGE],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: poa_uri is expired.`,e}}}}const n=yield(0,u.UPLOAD_POA)(this.sessionId,e),{payload:r}=n.data;return r}))}viewPoaResult(e=!0){return r(this,void 0,void 0,(function*(){return yield(0,c.viewPoaResult)(this.sessionId,e)}))}updatePoaForm(e){return r(this,void 0,void 0,(function*(){if((0,o.validateParams)(e,{receiver_name:\"string\",receiver_address:\"string\",receiver_city:\"string\",receiver_state_iso:\"string\",receiver_zip:\"string\",receiver_country_iso2:\"string\"},[\"receiver_name\",\"receiver_address\",\"receiver_city\",\"receiver_state_iso\",\"receiver_zip\",\"receiver_country_iso2\"]),(0,o.validateCharLength)(\"receiver_name\",e.receiver_name,0,1,160),(0,o.validateCharLength)(\"receiver_address\",e.receiver_address,0,1,350),(0,o.validateCharLength)(\"receiver_city\",e.receiver_city,0,1,70),(0,o.validateCharLength)(\"receiver_state_iso\",e.receiver_state_iso,0,1,9),(0,o.validateCharLength)(\"receiver_zip\",e.receiver_zip,0,1,40),(0,o.validateCharLength)(\"receiver_country_iso2\",e.receiver_country_iso2,2),e.receiver_country_iso2){if(!(yield this.fetchCountries()).map((e=>e.iso_code)).find((t=>t===e.receiver_country_iso2))){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: Country iso code is invalid.`,e}if(e.receiver_state_iso&&!(yield this.fetchStates(e.receiver_country_iso2)).map((e=>e.iso_code)).find((t=>t===e.receiver_state_iso))){const e=new i.PwError;throw e.type=s.ERROR_TYPE[s.INVALID_ARGUMENT_FORMAT],e.message=`${s.ERROR_MESSAGE[s.INVALID_ARGUMENT_FORMAT]}: State iso code is invalid.`,e}}const t=yield(0,u.UPDATE_FORM)(this.sessionId,e,\"poa\"),{payload:n}=t.data;return n}))}}},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,_=u(\"undefined\"),d=c(\"ArrayBuffer\"),E=u(\"string\"),f=u(\"function\"),A=u(\"number\"),p=e=>null!==e&&\"object\"==typeof e,h=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)},R=c(\"Date\"),I=c(\"File\"),O=c(\"Blob\"),N=c(\"FileList\"),T=c(\"URLSearchParams\");function S(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 m(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 D=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:n.g,C=e=>!_(e)&&e!==D,y=(g=\"undefined\"!=typeof Uint8Array&&i(Uint8Array),e=>g&&e instanceof g);var g;const v=c(\"HTMLFormElement\"),P=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),L=c(\"RegExp\"),b=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};S(n,((n,o)=>{!1!==t(n,o,e)&&(r[o]=n)})),Object.defineProperties(e,r)},M=\"abcdefghijklmnopqrstuvwxyz\",U=\"0123456789\",w={DIGIT:U,ALPHA:M,ALPHA_DIGIT:M+M.toUpperCase()+U},G=c(\"AsyncFunction\");var F={isArray:l,isArrayBuffer:d,isBuffer:function(e){return null!==e&&!_(e)&&null!==e.constructor&&!_(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&(\"function\"==typeof FormData&&e instanceof FormData||f(e.append)&&(\"formdata\"===(t=s(e))||\"object\"===t&&f(e.toString)&&\"[object FormData]\"===e.toString()))},isArrayBufferView:function(e){let t;return t=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:E,isNumber:A,isBoolean:e=>!0===e||!1===e,isObject:p,isPlainObject:h,isUndefined:_,isDate:R,isFile:I,isBlob:O,isRegExp:L,isFunction:f,isStream:e=>p(e)&&f(e.pipe),isURLSearchParams:T,isTypedArray:y,isFileList:N,forEach:S,merge:function e(){const{caseless:t}=C(this)&&this||{},n={},r=(r,o)=>{const i=t&&m(n,o)||o;h(n[i])&&h(r)?n[i]=e(n[i],r):h(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]&&S(arguments[e],r);return n},extend:(e,t,n,{allOwnKeys:o}={})=>(S(t,((t,o)=>{n&&f(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(!A(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:v,hasOwnProperty:P,hasOwnProp:P,reduceDescriptors:b,freezeMethods:e=>{b(e,((t,n)=>{if(f(e)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;const r=e[n];f(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:m,global:D,isContextDefined:C,ALPHABET:w,generateString:(e=16,t=w.ALPHA_DIGIT)=>{let n=\"\";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&\"FormData\"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(p(e)){if(t.indexOf(e)>=0)return;if(!(\"toJSON\"in e)){t[r]=e;const o=l(e)?[]:{};return S(e,((e,t)=>{const i=n(e,r+1);!_(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:G,isThenable:e=>e&&(p(e)||f(e))&&f(e.then)&&f(e.catch)};function B(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)}F.inherits(B,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:F.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const x=B.prototype,V={};function j(e){return F.isPlainObject(e)||F.isArray(e)}function H(e){return F.endsWith(e,\"[]\")?e.slice(0,-2):e}function k(e,t,n){return e?e.concat(t).map((function(e,t){return e=H(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=>{V[e]={value:e}})),Object.defineProperties(B,V),Object.defineProperty(x,\"isAxiosError\",{value:!0}),B.from=(e,t,n,r,o,i)=>{const s=Object.create(x);return F.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>\"isAxiosError\"!==e)),B.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const K=F.toFlatObject(F,{},null,(function(e){return/^is[A-Z]/.test(e)}));function W(e,t,n){if(!F.isObject(e))throw new TypeError(\"target must be an object\");t=t||new FormData;const r=(n=F.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!F.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,a=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&F.isSpecCompliantForm(t);if(!F.isFunction(o))throw new TypeError(\"visitor must be a function\");function c(e){if(null===e)return\"\";if(F.isDate(e))return e.toISOString();if(!a&&F.isBlob(e))throw new B(\"Blob is not supported. Use a Buffer instead.\");return F.isArrayBuffer(e)||F.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(F.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(F.isArray(e)&&function(e){return F.isArray(e)&&!e.some(j)}(e)||(F.isFileList(e)||F.endsWith(n,\"[]\"))&&(a=F.toArray(e)))return n=H(n),a.forEach((function(e,r){!F.isUndefined(e)&&null!==e&&t.append(!0===s?k([n],r,i):null===s?n:n+\"[]\",c(e))})),!1;return!!j(e)||(t.append(k(o,n,i),c(e)),!1)}const l=[],_=Object.assign(K,{defaultVisitor:u,convertValue:c,isVisitable:j});if(!F.isObject(e))throw new TypeError(\"data must be an object\");return function e(n,r){if(!F.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),F.forEach(n,(function(n,i){!0===(!(F.isUndefined(n)||null===n)&&o.call(t,n,F.isString(i)?i.trim():i,r,_))&&e(n,r?r.concat(i):[i])})),l.pop()}}(e),t}function Y(e){const t={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function $(e,t){this._pairs=[],e&&W(e,this,t)}const X=$.prototype;function z(e){return encodeURIComponent(e).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function J(e,t,n){if(!t)return e;const r=n&&n.encode||z,o=n&&n.serialize;let i;if(i=o?o(t,n):F.isURLSearchParams(t)?t.toString():new $(t,n).toString(r),i){const t=e.indexOf(\"#\");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf(\"?\")?\"?\":\"&\")+i}return e}X.append=function(e,t){this._pairs.push([e,t])},X.toString=function(e){const t=e?function(t){return e.call(this,t,Y)}:Y;return this._pairs.map((function(e){return t(e[0])+\"=\"+t(e[1])}),\"\").join(\"&\")};var q=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){F.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},Z={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Q={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:$,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&&F.isArray(r)?r.length:i,a?(F.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s):(r[i]&&F.isObject(r[i])||(r[i]=[]),t(e,n,r[i],o)&&F.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(F.isFormData(e)&&F.isFunction(e.entries)){const n={};return F.forEachEntry(e,((e,r)=>{t(function(e){return F.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:Z,adapter:[\"xhr\",\"http\"],transformRequest:[function(e,t){const n=t.getContentType()||\"\",r=n.indexOf(\"application/json\")>-1,o=F.isObject(e);if(o&&F.isHTMLForm(e)&&(e=new FormData(e)),F.isFormData(e))return r&&r?JSON.stringify(ee(e)):e;if(F.isArrayBuffer(e)||F.isBuffer(e)||F.isStream(e)||F.isFile(e)||F.isBlob(e))return e;if(F.isArrayBufferView(e))return e.buffer;if(F.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 W(e,new Q.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return Q.isNode&&F.isBuffer(e)?(this.append(t,e.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((i=F.isFileList(e))||n.indexOf(\"multipart/form-data\")>-1){const t=this.env&&this.env.FormData;return W(i?{\"files[]\":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType(\"application/json\",!1),function(e,t,n){if(F.isString(e))try{return(0,JSON.parse)(e),F.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&&F.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 B.from(e,B.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:Q.classes.FormData,Blob:Q.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};F.forEach([\"delete\",\"get\",\"head\"],(function(e){ne.headers[e]={}})),F.forEach([\"post\",\"put\",\"patch\"],(function(e){ne.headers[e]=F.merge(te)}));var re=ne;const oe=F.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:F.isArray(e)?e.map(ae):String(e)}function ce(e,t,n,r,o){return F.isFunction(r)?r.call(this,t,n):(o&&(t=n),F.isString(t)?F.isString(r)?-1!==t.indexOf(r):F.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=F.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)=>F.forEach(e,((e,n)=>o(e,n,t)));return F.isPlainObject(e)||e instanceof this.constructor?i(e,t):F.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=F.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(F.isFunction(t))return t.call(this,e,n);if(F.isRegExp(t))return t.exec(e);throw new TypeError(\"parser must be boolean|regexp|function\")}}}has(e,t){if(e=se(e)){const n=F.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=F.findKey(n,e);!o||t&&!ce(0,n[o],o,t)||(delete n[o],r=!0)}}return F.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 F.forEach(this,((r,o)=>{const i=F.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 F.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&F.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=F.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 F.isArray(e)?e.forEach(r):r(e),this}}ue.accessor([\"Content-Type\",\"Content-Length\",\"Accept\",\"Accept-Encoding\",\"User-Agent\",\"Authorization\"]),F.freezeMethods(ue.prototype),F.freezeMethods(ue);var le=ue;function _e(e,t){const n=this||re,r=t||n,o=le.from(r.headers);let i=r.data;return F.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function de(e){return!(!e||!e.__CANCEL__)}function Ee(e,t,n){B.call(this,null==e?\"canceled\":e,B.ERR_CANCELED,t,n),this.name=\"CanceledError\"}F.inherits(Ee,B,{__CANCEL__:!0});var fe=Q.isStandardBrowserEnv?{write:function(e,t,n,r,o,i){const s=[];s.push(e+\"=\"+encodeURIComponent(t)),F.isNumber(n)&&s.push(\"expires=\"+new Date(n).toGMTString()),F.isString(r)&&s.push(\"path=\"+r),F.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 Ae(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 pe=Q.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=F.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};function he(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,_=0;for(;l!==i;)_+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o<t)return;const d=u&&c-u;return d?Math.round(1e3*_/d):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 Re={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)}F.isFormData(r)&&(Q.isStandardBrowserEnv||Q.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=Ae(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 B(\"Request failed with status code \"+n.status,[B.ERR_BAD_REQUEST,B.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(),J(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 B(\"Request aborted\",B.ECONNABORTED,e,c)),c=null)},c.onerror=function(){n(new B(\"Network Error\",B.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||Z;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new B(t,r.clarifyTimeoutError?B.ETIMEDOUT:B.ECONNABORTED,e,c)),c=null},Q.isStandardBrowserEnv){const t=(e.withCredentials||pe(u))&&e.xsrfCookieName&&fe.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),\"setRequestHeader\"in c&&F.forEach(o.toJSON(),(function(e,t){c.setRequestHeader(t,e)})),F.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),i&&\"json\"!==i&&(c.responseType=e.responseType),\"function\"==typeof e.onDownloadProgress&&c.addEventListener(\"progress\",he(e.onDownloadProgress,!0)),\"function\"==typeof e.onUploadProgress&&c.upload&&c.upload.addEventListener(\"progress\",he(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{c&&(n(!t||t.type?new Ee(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 _=function(e){const t=/^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(e);return t&&t[1]||\"\"}(u);_&&-1===Q.protocols.indexOf(_)?n(new B(\"Unsupported protocol \"+_+\":\",B.ERR_BAD_REQUEST,e)):c.send(r||null)}))}};F.forEach(Re,((e,t)=>{if(e){try{Object.defineProperty(e,\"name\",{value:t})}catch(e){}Object.defineProperty(e,\"adapterName\",{value:t})}}));function Ie(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ee(null,e)}function Oe(e){return Ie(e),e.headers=le.from(e.headers),e.data=_e.call(e,e.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(e.method)&&e.headers.setContentType(\"application/x-www-form-urlencoded\",!1),(e=>{e=F.isArray(e)?e:[e];const{length:t}=e;let n,r;for(let o=0;o<t&&(n=e[o],!(r=F.isString(n)?Re[n.toLowerCase()]:n));o++);if(!r){if(!1===r)throw new B(`Adapter ${n} is not supported by the environment`,\"ERR_NOT_SUPPORT\");throw new Error(F.hasOwnProp(Re,n)?`Adapter '${n}' is not available in the build`:`Unknown adapter '${n}'`)}if(!F.isFunction(r))throw new TypeError(\"adapter is not a function\");return r})(e.adapter||re.adapter)(e).then((function(t){return Ie(e),t.data=_e.call(e,e.transformResponse,t),t.headers=le.from(t.headers),t}),(function(t){return de(t)||(Ie(e),t&&t.response&&(t.response.data=_e.call(e,e.transformResponse,t.response),t.response.headers=le.from(t.response.headers))),Promise.reject(t)}))}const Ne=e=>e instanceof le?e.toJSON():e;function Te(e,t){t=t||{};const n={};function r(e,t,n){return F.isPlainObject(e)&&F.isPlainObject(t)?F.merge.call({caseless:n},e,t):F.isPlainObject(t)?F.merge({},t):F.isArray(t)?t.slice():t}function o(e,t,n){return F.isUndefined(t)?F.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!F.isUndefined(t))return r(void 0,t)}function s(e,t){return F.isUndefined(t)?F.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(Ne(e),Ne(t),!0)};return F.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);F.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Se={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach(((e,t)=>{Se[e]=function(n){return typeof n===e||\"a\"+(t<1?\"n \":\" \")+e}}));const me={};Se.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 B(r(o,\" has been removed\"+(t?\" in \"+t:\"\")),B.ERR_DEPRECATED);return t&&!me[o]&&(me[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 De={assertOptions:function(e,t,n){if(\"object\"!=typeof e)throw new B(\"options must be an object\",B.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 B(\"option \"+i+\" must be \"+n,B.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new B(\"Unknown option \"+i,B.ERR_BAD_OPTION)}},validators:Se};const Ce=De.validators;class ye{constructor(e){this.defaults=e,this.interceptors={request:new q,response:new q}}request(e,t){\"string\"==typeof e?(t=t||{}).url=e:t=e||{},t=Te(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;let i;void 0!==n&&De.assertOptions(n,{silentJSONParsing:Ce.transitional(Ce.boolean),forcedJSONParsing:Ce.transitional(Ce.boolean),clarifyTimeoutError:Ce.transitional(Ce.boolean)},!1),null!=r&&(F.isFunction(r)?t.paramsSerializer={serialize:r}:De.assertOptions(r,{encode:Ce.function,serialize:Ce.function},!0)),t.method=(t.method||this.defaults.method||\"get\").toLowerCase(),i=o&&F.merge(o.common,o[t.method]),i&&F.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,_=0;if(!a){const e=[Oe.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);_<l;)u=u.then(e[_++],e[_++]);return u}l=s.length;let d=t;for(_=0;_<l;){const e=s[_++],t=s[_++];try{d=e(d)}catch(e){t.call(this,e);break}}try{u=Oe.call(this,d)}catch(e){return Promise.reject(e)}for(_=0,l=c.length;_<l;)u=u.then(c[_++],c[_++]);return u}getUri(e){return J(Ae((e=Te(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}F.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(e){ye.prototype[e]=function(t,n){return this.request(Te(n||{},{method:e,url:t,data:(n||{}).data}))}})),F.forEach([\"post\",\"put\",\"patch\"],(function(e){function t(t){return function(n,r,o){return this.request(Te(o||{},{method:e,headers:t?{\"Content-Type\":\"multipart/form-data\"}:{},url:n,data:r}))}}ye.prototype[e]=t(),ye.prototype[e+\"Form\"]=t(!0)}));var ge=ye;class ve{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 Ee(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 ve((function(t){e=t})),cancel:e}}}var Pe=ve;const Le={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(Le).forEach((([e,t])=>{Le[t]=e}));var be=Le;const Me=function e(t){const n=new ge(t),o=r(ge.prototype.request,n);return F.extend(o,ge.prototype,n,{allOwnKeys:!0}),F.extend(o,n,null,{allOwnKeys:!0}),o.create=function(n){return e(Te(t,n))},o}(re);Me.Axios=ge,Me.CanceledError=Ee,Me.CancelToken=Pe,Me.isCancel=de,Me.VERSION=\"1.4.0\",Me.toFormData=W,Me.AxiosError=B,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 F.isObject(e)&&!0===e.isAxiosError},Me.mergeConfig=Te,Me.AxiosHeaders=le,Me.formToJSON=e=>ee(F.isHTMLForm(e)?new FormData(e):e),Me.HttpStatusCode=be,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
|
|
|
@@ -3473,7 +3473,7 @@ eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElem
|
|
|
3473
3473
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3474
3474
|
|
|
3475
3475
|
"use strict";
|
|
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 baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\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\");\n// class style that applied only on certain pg (e.g: change bg color)\nlet extraClassList = [];\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(classes = [\"pw-bg-opacity-70\"]) {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\", ...classes);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\");\n // make the loading into center of height\n this.overlayContent.style.top = \"calc(50% - 2rem)\";\n const spinner = (0, components_1.createSpinner)(4, \"white\", 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 openLeavePageDialog() {\n const dialog = new baseDialog_1.default();\n dialog.render(this.mainScreenId, \"You have not submitted your documents. Do you want to leave without saving?\", \"Leave now\", () => {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"close:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n }, true);\n }\n renderContent(content, classList) {\n const screen = document.getElementById(this.mainScreenId);\n // allow to change the bg color in certain pg\n if (classList && classList.length > 0) {\n extraClassList = classList;\n classList.forEach((cls) => screen === null || screen === void 0 ? void 0 : screen.classList.add(cls));\n }\n screen === null || screen === void 0 ? void 0 : screen.appendChild(content);\n }\n clearScreen() {\n const screen = document.getElementById(this.mainScreenId);\n // remove the bg color whcich set when renderContent()\n if (extraClassList && extraClassList.length > 0) {\n extraClassList.forEach((cls) => screen === null || screen === void 0 ? void 0 : screen.classList.remove(cls));\n extraClassList = [];\n }\n screen === null || screen === void 0 ? void 0 : screen.replaceChildren();\n }\n onSuccessEkyc() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"success:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n }\n onFailedEkyc(error) {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"fail:ekyc\", { detail: error });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\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\", \"pw-flex\", \"pw-flex-col\", \"pw-overflow-y-hidden\", \"pw-h-full\");\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-flex\", \"pw-justify-end\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeIcon.classList.add(\"pw-m-5\");\n closeIcon.addEventListener(\"click\", () => {\n this.removeOverlayElement();\n });\n iconContainer.appendChild(closeIcon);\n this.overlayElement.appendChild(iconContainer);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-grow\", \"pw-overflow-y-auto\", \"pw-text-white\");\n const imageDiv = document.createElement(\"div\");\n imageDiv.classList.add(\"pw-relative\", \"pw-m-5\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\");\n imageDiv.style.minHeight = \"80%\";\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 }\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.
|
|
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\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\");\n// class style that applied only on certain pg (e.g: change bg color)\nlet extraClassList = [];\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(classes = [\"pw-bg-opacity-70\"]) {\n this.overlayElement = document.createElement(\"div\");\n this.overlayElement.classList.add(\"pw-bg-black\", \"pw-absolute\", \"pw-top-0\", \"pw-bottom-0\", \"pw-left-0\", \"pw-right-0\", \"pw-z-50\", ...classes);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-absolute\", \"pw-left-1/2\", \"-pw-translate-x-1/2\");\n // make the loading into center of height\n this.overlayContent.style.top = \"calc(50% - 2rem)\";\n const spinner = (0, components_1.createSpinner)(4, \"white\", 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 openLeavePageDialog() {\n const dialog = new baseDialog_1.default();\n dialog.render(this.mainScreenId, \"You have not submitted your documents. Do you want to leave without saving?\", \"Leave now\", () => {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"close:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n }, true);\n }\n renderContent(content, classList) {\n const screen = document.getElementById(this.mainScreenId);\n // allow to change the bg color in certain pg\n if (classList && classList.length > 0) {\n extraClassList = classList;\n classList.forEach((cls) => screen === null || screen === void 0 ? void 0 : screen.classList.add(cls));\n }\n screen === null || screen === void 0 ? void 0 : screen.appendChild(content);\n }\n clearScreen() {\n const screen = document.getElementById(this.mainScreenId);\n // remove the bg color whcich set when renderContent()\n if (extraClassList && extraClassList.length > 0) {\n extraClassList.forEach((cls) => screen === null || screen === void 0 ? void 0 : screen.classList.remove(cls));\n extraClassList = [];\n }\n screen === null || screen === void 0 ? void 0 : screen.replaceChildren();\n }\n onSuccessEkyc() {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"success:ekyc\");\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\n }\n onFailedEkyc(error) {\n const mainScreen = document.getElementById(this.mainScreenId);\n const event = new CustomEvent(\"fail:ekyc\", { detail: error });\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.dispatchEvent(event);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.remove();\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\", \"pw-flex\", \"pw-flex-col\", \"pw-overflow-y-hidden\", \"pw-h-full\");\n const iconContainer = document.createElement(\"div\");\n iconContainer.classList.add(\"pw-flex\", \"pw-justify-end\");\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeIcon.classList.add(\"pw-m-5\");\n closeIcon.addEventListener(\"click\", () => {\n this.removeOverlayElement();\n });\n iconContainer.appendChild(closeIcon);\n this.overlayElement.appendChild(iconContainer);\n this.overlayContent = document.createElement(\"div\");\n this.overlayContent.classList.add(\"pw-grow\", \"pw-overflow-y-auto\", \"pw-text-white\");\n const imageDiv = document.createElement(\"div\");\n imageDiv.classList.add(\"pw-relative\", \"pw-m-5\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\");\n imageDiv.style.minHeight = \"80%\";\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 }\n openErrorPage(err, 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\", () => {\n this.onFailedEkyc(err);\n });\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 || (0, translations_1.$t)(\"smtg_went_wrong\");\n errorContentDiv.appendChild(errorTitle);\n const errorDescription = document.createElement(\"div\");\n errorDescription.innerHTML = description || (0, translations_1.$t)(\"contact_support\");\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, __webpack_require__) => {
|
|
3496
3496
|
|
|
3497
3497
|
"use strict";
|
|
3498
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nclass BottomDialog {\n constructor(modalId) {\n this.modalId = modalId;\n }\n render() {\n const modalContainer = document.createElement(\"div\");\n modalContainer.setAttribute(\"id\", this.modalId);\n modalContainer.classList.add(\"pw-absolute\", \"pw-z-10\", \"pw-right-0\", \"pw-left-0\", \"pw-bottom-0\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-transition-all\", \"pw-duration-200\", \"pw-p-5\", \"pw-translate-y-full\");\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-flex\", \"pw-justify-between\", \"pw-items-center\");\n const helpDiv = document.createElement(\"div\");\n helpDiv.classList.add(\"pw-flex\", \"pw-items-center\");\n const helpIcon = document.createElement(\"span\");\n helpIcon.classList.add(\"material-icons\", \"pw-text-info\", \"material-symbols-outlined\");\n helpIcon.innerHTML = \"help\";\n helpIcon.classList.add(\"pw-pr-2\");\n helpDiv.appendChild(helpIcon);\n const helpText = document.createElement(\"div\");\n helpText.innerHTML = \"
|
|
3498
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nclass BottomDialog {\n constructor(modalId) {\n this.modalId = modalId;\n }\n render() {\n const modalContainer = document.createElement(\"div\");\n modalContainer.setAttribute(\"id\", this.modalId);\n modalContainer.classList.add(\"pw-absolute\", \"pw-z-10\", \"pw-right-0\", \"pw-left-0\", \"pw-bottom-0\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-transition-all\", \"pw-duration-200\", \"pw-p-5\", \"pw-translate-y-full\");\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-flex\", \"pw-justify-between\", \"pw-items-center\");\n const helpDiv = document.createElement(\"div\");\n helpDiv.classList.add(\"pw-flex\", \"pw-items-center\");\n const helpIcon = document.createElement(\"span\");\n helpIcon.classList.add(\"material-icons\", \"pw-text-info\", \"material-symbols-outlined\");\n helpIcon.innerHTML = \"help\";\n helpIcon.classList.add(\"pw-pr-2\");\n helpDiv.appendChild(helpIcon);\n const helpText = document.createElement(\"div\");\n helpText.innerHTML = (0, translations_1.$t)(\"tips\");\n helpDiv.appendChild(helpText);\n contentDiv.appendChild(helpDiv);\n const closeIcon = (0, getGoogleIcon_1.getGoogleIcon)(\"close\");\n closeIcon.addEventListener(\"click\", () => {\n this.closeDialog();\n });\n contentDiv.appendChild(closeIcon);\n modalContainer.appendChild(contentDiv);\n this.modalContainer = modalContainer;\n return modalContainer;\n }\n openDialog() {\n this.modalContainer.classList.remove(\"pw-translate-y-full\");\n }\n closeDialog() {\n this.modalContainer.classList.add(\"pw-translate-y-full\");\n }\n addContent(content) {\n this.modalContainer.appendChild(content);\n }\n}\nexports[\"default\"] = BottomDialog;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/bottomDialog.ts?");
|
|
3499
3499
|
|
|
3500
3500
|
/***/ }),
|
|
3501
3501
|
|
|
@@ -3506,7 +3506,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3506
3506
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3507
3507
|
|
|
3508
3508
|
"use strict";
|
|
3509
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CardDigitInputPayload = void 0;\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass CardDigitInputPayload {\n}\nexports.CardDigitInputPayload = CardDigitInputPayload;\nclass CardDigitInput {\n constructor(name, placeholder) {\n this.first6Value = \"\";\n this.last4Value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return {
|
|
3509
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CardDigitInputPayload = void 0;\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass CardDigitInputPayload {\n}\nexports.CardDigitInputPayload = CardDigitInputPayload;\nclass CardDigitInput {\n constructor(name, placeholder) {\n this.first6Value = \"\";\n this.last4Value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return {\n first6Value: this.first6Value,\n last4Value: this.last4Value,\n };\n }\n set val(payload) {\n this.first6Value = payload.first6Value || \"\";\n if (this.first6DigitsInput)\n this.first6DigitsInput.value = this.first6Value;\n this.last4Value = payload.last4Value || \"\";\n if (this.last4DigitsInput)\n this.last4DigitsInput.value = this.last4Value;\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n this.textInputDiv = document.createElement(\"div\");\n this.textInputDiv.classList.add(\"pw-relative\", \"pw-box-border\", \"pw-text-base\", \"pw-h-14\", \"pw-w-full\", \"pw-pt-3\", \"pw-px-3\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"pw-flex\", \"pw-justify-between\");\n // first 6 digits input field\n this.first6DigitsInput = document.createElement(\"input\");\n this.first6DigitsInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.first6DigitsInput.setAttribute(\"name\", this.name);\n this.first6DigitsInput.setAttribute(\"type\", \"number\");\n this.first6DigitsInput.setAttribute(\"placeholder\", \" \");\n this.first6DigitsInput.classList.add(\"pw-text-base\", \"pw-border-none\", \"pw-outline-none\");\n this.first6DigitsInput.style.maxWidth = \"calc((100% - 80px) / 3)\";\n // prevent invalid keys\n this.first6DigitsInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.first6DigitsInput.addEventListener(\"input\", (e) => {\n var _a;\n const val = e.target.value || \"\";\n let updatedVal = val;\n // check if the number typed is larger than 6\n if (val.length > 6) {\n (_a = this.last4DigitsInput) === null || _a === void 0 ? void 0 : _a.focus();\n updatedVal = this.first6Value;\n // reset the input value\n if (this.first6DigitsInput)\n this.first6DigitsInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ first6Value: updatedVal });\n });\n this.textInputDiv.appendChild(this.first6DigitsInput);\n // center xxxxx placeholder\n const placeholderContents = [\"-\", \"XXXXXX\", \"-\"];\n const placeholderDiv = document.createElement(\"div\");\n placeholderDiv.classList.add(\"pw-text-grey-6\", \"pw-flex\", \"pw-w-full\", \"pw-items-center\", \"pw-justify-between\");\n for (let i = 0; i < placeholderContents.length; i++) {\n const placeholderText = document.createElement(\"div\");\n placeholderText.innerHTML = placeholderContents[i];\n placeholderDiv.appendChild(placeholderText);\n }\n this.textInputDiv.appendChild(placeholderDiv);\n // last 4 digits input field\n this.last4DigitsInput = document.createElement(\"input\");\n this.last4DigitsInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.last4DigitsInput.setAttribute(\"name\", this.name);\n this.last4DigitsInput.setAttribute(\"type\", \"number\");\n this.last4DigitsInput.setAttribute(\"placeholder\", \" \");\n this.last4DigitsInput.classList.add(\"pw-text-base\", \"pw-text-right\", \"pw-border-none\", \"pw-outline-none\");\n this.last4DigitsInput.style.maxWidth = \"calc((100% - 80px) / 3)\";\n // prevent invalid keys\n this.last4DigitsInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.last4DigitsInput.addEventListener(\"input\", (e) => {\n const val = e.target.value || \"\";\n let updatedVal = val;\n // the number typed is larger than 4\n if (val.length > 4) {\n // reset the input value\n updatedVal = this.last4Value;\n if (this.last4DigitsInput)\n this.last4DigitsInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ last4Value: updatedVal });\n });\n this.textInputDiv.appendChild(this.last4DigitsInput);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\n inputLabel.classList.add(\"pw-absolute\", \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-1\", \"pw-text-xs\");\n inputLabel.innerHTML = this.placeholder;\n this.textInputDiv.appendChild(inputLabel);\n this.componentDiv.appendChild(this.textInputDiv);\n return this.componentDiv;\n }\n preventInvalidKey(e) {\n if ([\"-\", \"+\", \"e\"].includes(e.key))\n e.preventDefault();\n }\n addError(errorText = \"\") {\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 = `${validation_1.errorIconEl} ${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.textInputDiv) === 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 if (val.first6Value !== undefined)\n this.first6Value = val.first6Value || \"\";\n if (val.last4Value !== undefined)\n this.last4Value = val.last4Value || \"\";\n this.removeError();\n }\n removeError() {\n var _a, _b, _c, _d;\n if (!this.isError || !this.errorDiv)\n return;\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.textInputDiv) === 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}\nexports[\"default\"] = CardDigitInput;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/cardDigitInput.ts?");
|
|
3510
3510
|
|
|
3511
3511
|
/***/ }),
|
|
3512
3512
|
|
|
@@ -3514,21 +3514,21 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3514
3514
|
/*!**************************************!*\
|
|
3515
3515
|
!*** ./src/components/components.ts ***!
|
|
3516
3516
|
\**************************************/
|
|
3517
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
3517
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3518
3518
|
|
|
3519
3519
|
"use strict";
|
|
3520
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createCountdown = exports.hideFullLoading = exports.createFullLoading = exports.createSecondaryButton = 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\");\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-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 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 = \"
|
|
3520
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createCountdown = exports.hideFullLoading = exports.createFullLoading = exports.createSecondaryButton = exports.createPrimaryButton = exports.createSpinner = exports.createOutlineButton = void 0;\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\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\");\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-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 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 = (0, translations_1.$t)(\"loading_dots\");\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;\nfunction createCountdown(modalId, count = 3, cb) {\n const page = document.getElementById(modalId);\n if (!page)\n return;\n const countdownDiv = document.createElement(\"div\");\n countdownDiv.style.zIndex = \"8\";\n countdownDiv.style.top = \"1.25rem\";\n countdownDiv.style.left = \"1rem\";\n countdownDiv.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 let countdown = count;\n const countDownNumber = document.createElement(\"div\");\n countDownNumber.classList.add(\"pw-text-6xl\", \"pw-text-white\");\n countDownNumber.innerHTML = `${countdown}`;\n countdownDiv.appendChild(countDownNumber);\n page.appendChild(countdownDiv);\n const cd = setInterval(cdFunction, 1000);\n function cdFunction() {\n countdown--;\n if (!countdown) {\n clearInterval(cd);\n page === null || page === void 0 ? void 0 : page.removeChild(countdownDiv);\n cb();\n }\n else {\n countDownNumber.innerHTML = `${countdown}`;\n }\n }\n}\nexports.createCountdown = createCountdown;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/components.ts?");
|
|
3521
3521
|
|
|
3522
3522
|
/***/ }),
|
|
3523
3523
|
|
|
3524
|
-
/***/ "./src/components/
|
|
3525
|
-
|
|
3526
|
-
!*** ./src/components/
|
|
3527
|
-
|
|
3524
|
+
/***/ "./src/components/dateInput.ts":
|
|
3525
|
+
/*!*************************************!*\
|
|
3526
|
+
!*** ./src/components/dateInput.ts ***!
|
|
3527
|
+
\*************************************/
|
|
3528
3528
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3529
3529
|
|
|
3530
3530
|
"use strict";
|
|
3531
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst pikaday_1 = __importDefault(__webpack_require__(/*! pikaday */ \"./node_modules/pikaday/pikaday.js\"));\nconst moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass
|
|
3531
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst pikaday_1 = __importDefault(__webpack_require__(/*! pikaday */ \"./node_modules/pikaday/pikaday.js\"));\nconst moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass DateInput {\n constructor(name, placeholder) {\n this.value = \"\";\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return (0, moment_1.default)(this.value, verification_1.DISPLAY_DATE_FORMAT).format(verification_1.INPUT_DATE_FORMAT);\n }\n set val(value) {\n this.value = value;\n if (this.inputEl)\n this.inputEl.value = value;\n }\n render(payload) {\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.inputEl = document.createElement(\"input\");\n this.inputEl.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.inputEl.setAttribute(\"type\", \"text\");\n this.inputEl.setAttribute(\"id\", \"pikaday\");\n this.inputEl.setAttribute(\"placeholder\", \" \");\n this.inputEl.setAttribute(\"readonly\", \" \");\n this.inputEl.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\");\n this.inputEl.onchange = (e) => {\n const val = (e === null || e === void 0 ? void 0 : e.target).value || \"\";\n const date = (0, moment_1.default)(val, verification_1.DISPLAY_DATE_FORMAT).format(verification_1.INPUT_DATE_FORMAT);\n if (date !== \"Invalid date\") {\n this.onInputEvent(date);\n }\n };\n textInputDiv.appendChild(this.inputEl);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\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.componentDiv.appendChild(textInputDiv);\n this.createDatepicker(this.inputEl);\n return this.componentDiv;\n }\n createDatepicker(element) {\n const currentYear = new Date().getFullYear();\n const picker = new pikaday_1.default({\n field: element,\n format: \"DD MMM YYYY\",\n position: \"bottom left\",\n yearRange: [currentYear - 130, currentYear],\n onClose: () => {\n this.removeError();\n },\n });\n }\n onInputEvent(val) {\n this.value = val;\n this.removeError();\n }\n addError(errorText = \"\") {\n var _a, _b;\n if ((_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.querySelector(\"#error\"))\n return;\n const errorDiv = document.createElement(\"div\");\n errorDiv.id = \"error\";\n 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 errorDiv.innerHTML = `${validation_1.errorIconEl} ${errorText}`;\n if (this.componentDiv) {\n this.componentDiv.classList.remove(\"pw-mb-5\");\n this.componentDiv.classList.add(\"pw-mb-3\");\n (_b = this.inputEl) === null || _b === void 0 ? void 0 : _b.classList.add(\"pw-border-red-500\");\n this.componentDiv.appendChild(errorDiv);\n }\n }\n removeError() {\n var _a, _b;\n if (this.componentDiv) {\n this.componentDiv.classList.remove(\"pw-mb-3\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.classList.remove(\"pw-border-red-500\");\n const errorDiv = this.componentDiv.querySelector(\"#error\");\n if (errorDiv) {\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.removeChild(errorDiv);\n errorDiv.remove();\n }\n }\n }\n}\nexports[\"default\"] = DateInput;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/dateInput.ts?");
|
|
3532
3532
|
|
|
3533
3533
|
/***/ }),
|
|
3534
3534
|
|
|
@@ -3539,7 +3539,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3539
3539
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3540
3540
|
|
|
3541
3541
|
"use strict";
|
|
3542
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoeInputPayload = void 0;\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass DoeInputPayload {\n}\nexports.DoeInputPayload = DoeInputPayload;\nclass DoeInput {\n constructor(name, placeholder) {\n this.month = \"\";\n this.year = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return { month: this.month, year: this.year };\n }\n set val(payload) {\n this.month = payload.month || \"\";\n if (this.monthInput)\n this.monthInput.value = this.month;\n this.year = payload.year || \"\";\n if (this.yearInput)\n this.yearInput.value = this.year;\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n this.textInputDiv = document.createElement(\"div\");\n this.textInputDiv.style.display = \"inline-flex\";\n if (payload === null || payload === void 0 ? void 0 : payload.disabled)\n this.textInputDiv.classList.add(\"pw-bg-disabled\");\n this.textInputDiv.classList.add(\"pw-relative\", \"pw-box-border\", \"pw-text-base\", \"pw-h-14\", \"pw-pt-3\", \"pw-px-3\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"pw-items-center\");\n // month\n this.monthInput = document.createElement(\"input\");\n this.monthInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.monthInput.setAttribute(\"name\", this.name);\n this.monthInput.setAttribute(\"type\", \"number\");\n this.monthInput.setAttribute(\"placeholder\", \" \");\n this.monthInput.classList.add(\"pw-text-base\", \"pw-border-none\", \"pw-outline-none\");\n this.monthInput.style.maxWidth = \"35px\";\n // prevent invalid keys\n this.monthInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.monthInput.addEventListener(\"input\", (e) => {\n var _a;\n const val = e.target.value || \"\";\n let updatedVal = val;\n // check if the number typed is larger than 6\n if (val.length > 2) {\n (_a = this.yearInput) === null || _a === void 0 ? void 0 : _a.focus();\n updatedVal = this.month;\n // reset the input value\n if (this.monthInput)\n this.monthInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ month: updatedVal });\n });\n this.textInputDiv.appendChild(this.monthInput);\n // center / placeholder\n const slashPlaceholder = document.createElement(\"div\");\n slashPlaceholder.innerHTML = \"/\";\n this.textInputDiv.appendChild(slashPlaceholder);\n // year\n this.yearInput = document.createElement(\"input\");\n this.yearInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.yearInput.setAttribute(\"name\", this.name);\n this.yearInput.setAttribute(\"type\", \"number\");\n this.yearInput.setAttribute(\"placeholder\", \" \");\n this.yearInput.classList.add(\"pw-text-base\", \"pw-text-right\", \"pw-border-none\", \"pw-outline-none\", \"pw-text-right\");\n this.yearInput.style.maxWidth = \"35px\";\n // prevent invalid keys\n this.yearInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.yearInput.addEventListener(\"input\", (e) => {\n const val = e.target.value || \"\";\n let updatedVal = val;\n // the number typed is larger than 2\n if (val.length > 2) {\n // reset the input value\n updatedVal = this.year;\n if (this.yearInput)\n this.yearInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ year: updatedVal });\n });\n this.textInputDiv.appendChild(this.yearInput);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\n inputLabel.classList.add(\"pw-absolute\", \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-1\", \"pw-text-xs\");\n inputLabel.innerHTML = this.placeholder;\n this.textInputDiv.appendChild(inputLabel);\n this.componentDiv.appendChild(this.textInputDiv);\n return this.componentDiv;\n }\n preventInvalidKey(e) {\n if ([\"-\", \"+\", \"e\"].includes(e.key))\n e.preventDefault();\n }\n addError(errorText =
|
|
3542
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DoeInputPayload = void 0;\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass DoeInputPayload {\n}\nexports.DoeInputPayload = DoeInputPayload;\nclass DoeInput {\n constructor(name, placeholder) {\n this.month = \"\";\n this.year = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return { month: this.month, year: this.year };\n }\n set val(payload) {\n this.month = payload.month || \"\";\n if (this.monthInput)\n this.monthInput.value = this.month;\n this.year = payload.year || \"\";\n if (this.yearInput)\n this.yearInput.value = this.year;\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n this.textInputDiv = document.createElement(\"div\");\n this.textInputDiv.style.display = \"inline-flex\";\n if (payload === null || payload === void 0 ? void 0 : payload.disabled)\n this.textInputDiv.classList.add(\"pw-bg-disabled\");\n this.textInputDiv.classList.add(\"pw-relative\", \"pw-box-border\", \"pw-text-base\", \"pw-h-14\", \"pw-pt-3\", \"pw-px-3\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"pw-items-center\");\n // month\n this.monthInput = document.createElement(\"input\");\n this.monthInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.monthInput.setAttribute(\"name\", this.name);\n this.monthInput.setAttribute(\"type\", \"number\");\n this.monthInput.setAttribute(\"placeholder\", \" \");\n this.monthInput.classList.add(\"pw-text-base\", \"pw-border-none\", \"pw-outline-none\");\n this.monthInput.style.maxWidth = \"35px\";\n // prevent invalid keys\n this.monthInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.monthInput.addEventListener(\"input\", (e) => {\n var _a;\n const val = e.target.value || \"\";\n let updatedVal = val;\n // check if the number typed is larger than 6\n if (val.length > 2) {\n (_a = this.yearInput) === null || _a === void 0 ? void 0 : _a.focus();\n updatedVal = this.month;\n // reset the input value\n if (this.monthInput)\n this.monthInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ month: updatedVal });\n });\n this.textInputDiv.appendChild(this.monthInput);\n // center / placeholder\n const slashPlaceholder = document.createElement(\"div\");\n slashPlaceholder.innerHTML = \"/\";\n this.textInputDiv.appendChild(slashPlaceholder);\n // year\n this.yearInput = document.createElement(\"input\");\n this.yearInput.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.yearInput.setAttribute(\"name\", this.name);\n this.yearInput.setAttribute(\"type\", \"number\");\n this.yearInput.setAttribute(\"placeholder\", \" \");\n this.yearInput.classList.add(\"pw-text-base\", \"pw-text-right\", \"pw-border-none\", \"pw-outline-none\", \"pw-text-right\");\n this.yearInput.style.maxWidth = \"35px\";\n // prevent invalid keys\n this.yearInput.addEventListener(\"keydown\", this.preventInvalidKey);\n // input event listener\n this.yearInput.addEventListener(\"input\", (e) => {\n const val = e.target.value || \"\";\n let updatedVal = val;\n // the number typed is larger than 2\n if (val.length > 2) {\n // reset the input value\n updatedVal = this.year;\n if (this.yearInput)\n this.yearInput.value = updatedVal;\n }\n // clear error box\n this.onInputEvent({ year: updatedVal });\n });\n this.textInputDiv.appendChild(this.yearInput);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\n inputLabel.classList.add(\"pw-absolute\", \"pw-text-grey-7\", \"pw-left-4\", \"pw-top-1\", \"pw-text-xs\");\n inputLabel.innerHTML = this.placeholder;\n this.textInputDiv.appendChild(inputLabel);\n this.componentDiv.appendChild(this.textInputDiv);\n return this.componentDiv;\n }\n preventInvalidKey(e) {\n if ([\"-\", \"+\", \"e\"].includes(e.key))\n e.preventDefault();\n }\n addError(errorText = \"\") {\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 = `${validation_1.errorIconEl} ${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.textInputDiv) === 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 if (val.month !== undefined)\n this.month = val.month || \"\";\n if (val.year !== undefined)\n this.year = val.year || \"\";\n this.removeError();\n }\n removeError() {\n var _a, _b, _c, _d;\n if (!this.isError || !this.errorDiv)\n return;\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.textInputDiv) === 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 padDoe() {\n let payload;\n if (this.month) {\n const monthInputVal = this.month.padStart(2, \"0\");\n payload = { month: monthInputVal };\n }\n if (this.year) {\n const yearInputVal = this.year.padStart(2, \"0\");\n payload = Object.assign(Object.assign({}, payload), { year: yearInputVal });\n }\n if (payload)\n this.val = payload;\n }\n}\nexports[\"default\"] = DoeInput;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/doeInput.ts?");
|
|
3543
3543
|
|
|
3544
3544
|
/***/ }),
|
|
3545
3545
|
|
|
@@ -3561,7 +3561,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
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 searchInput_1 = __importDefault(__webpack_require__(/*! ./searchInput */ \"./src/components/searchInput.ts\"));\nclass DropdownMenu {\n constructor(modalId, title, options, value = \"\") {\n this.modalId = modalId;\n this.title = title;\n this.options = options;\n this.valueDef = value;\n }\n get value() {\n return this.valueDef;\n }\n set value(value) {\n this.valueDef = value;\n // update tick icon in dropdown options\n const dropdownModal = document.getElementById(this.modalId);\n const dropdownOptions = dropdownModal === null || dropdownModal === void 0 ? void 0 : dropdownModal.querySelectorAll(`[data-value]`);\n if (dropdownOptions) {\n // hide all the tick icon\n dropdownOptions.forEach((option) => {\n const checkIcon = option.querySelector(\"[data-value=icon]\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.add(\"pw-hidden\");\n });\n // show tick icon for selected option\n const selectedOption = dropdownModal === null || dropdownModal === void 0 ? void 0 : dropdownModal.querySelector(`[data-value=\"${value}\"]`);\n if (selectedOption) {\n const checkIcon = selectedOption.querySelector(\"[data-value=icon]\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.remove(\"pw-hidden\");\n }\n }\n }\n render(payload) {\n const modalContainer = document.createElement(\"div\");\n modalContainer.setAttribute(\"id\", this.modalId);\n modalContainer.classList.add(\"pw-absolute\", \"pw-z-40\", \"pw-top-0\", \"pw-left-[100%]\", \"pw-w-full\", \"pw-h-full\", \"pw-overflow-y\", \"pw-overflow-x-hidden\", \"pw-outline-none\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-transition-all\", \"pw-duration-200\");\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-h-full\");\n const navDiv = document.createElement(\"div\");\n navDiv.classList.add(\"pw-px-5\", \"pw-py-4\");\n // dialog back button\n const arrowBackContainer = document.createElement(\"div\");\n arrowBackContainer.classList.add(\"pw-mb-3\", \"pw-cursor-pointer\");\n const arrowBackSpan = document.createElement(\"span\");\n arrowBackSpan.classList.add(\"material-symbols-outlined\");\n arrowBackSpan.innerHTML = \"arrow_back_ios\";\n arrowBackContainer.appendChild(arrowBackSpan);\n arrowBackContainer.addEventListener(\"click\", () => this.closeDialog());\n navDiv.appendChild(arrowBackContainer);\n // dialog title\n const labelDiv = document.createElement(\"div\");\n labelDiv.classList.add(\"pw-text-3xl\", \"pw-mb-5\");\n labelDiv.innerHTML = this.title;\n navDiv.appendChild(labelDiv);\n // dropdown search input\n this.searchInput = new searchInput_1.default(\"
|
|
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst searchInput_1 = __importDefault(__webpack_require__(/*! ./searchInput */ \"./src/components/searchInput.ts\"));\nclass DropdownMenu {\n constructor(modalId, title, options, value = \"\") {\n this.modalId = modalId;\n this.title = title;\n this.options = options;\n this.valueDef = value;\n }\n get value() {\n return this.valueDef;\n }\n set value(value) {\n this.valueDef = value;\n // update tick icon in dropdown options\n const dropdownModal = document.getElementById(this.modalId);\n const dropdownOptions = dropdownModal === null || dropdownModal === void 0 ? void 0 : dropdownModal.querySelectorAll(`[data-value]`);\n if (dropdownOptions) {\n // hide all the tick icon\n dropdownOptions.forEach((option) => {\n const checkIcon = option.querySelector(\"[data-value=icon]\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.add(\"pw-hidden\");\n });\n // show tick icon for selected option\n const selectedOption = dropdownModal === null || dropdownModal === void 0 ? void 0 : dropdownModal.querySelector(`[data-value=\"${value}\"]`);\n if (selectedOption) {\n const checkIcon = selectedOption.querySelector(\"[data-value=icon]\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.remove(\"pw-hidden\");\n }\n }\n }\n render(payload) {\n const modalContainer = document.createElement(\"div\");\n modalContainer.setAttribute(\"id\", this.modalId);\n modalContainer.classList.add(\"pw-absolute\", \"pw-z-40\", \"pw-top-0\", \"pw-left-[100%]\", \"pw-w-full\", \"pw-h-full\", \"pw-overflow-y\", \"pw-overflow-x-hidden\", \"pw-outline-none\", \"pw-bg-white\", \"pw-rounded-lg\", \"pw-transition-all\", \"pw-duration-200\");\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-h-full\");\n const navDiv = document.createElement(\"div\");\n navDiv.classList.add(\"pw-px-5\", \"pw-py-4\");\n // dialog back button\n const arrowBackContainer = document.createElement(\"div\");\n arrowBackContainer.classList.add(\"pw-mb-3\", \"pw-cursor-pointer\");\n const arrowBackSpan = document.createElement(\"span\");\n arrowBackSpan.classList.add(\"material-symbols-outlined\");\n arrowBackSpan.innerHTML = \"arrow_back_ios\";\n arrowBackContainer.appendChild(arrowBackSpan);\n arrowBackContainer.addEventListener(\"click\", () => this.closeDialog());\n navDiv.appendChild(arrowBackContainer);\n // dialog title\n const labelDiv = document.createElement(\"div\");\n labelDiv.classList.add(\"pw-text-3xl\", \"pw-mb-5\");\n labelDiv.innerHTML = this.title;\n navDiv.appendChild(labelDiv);\n // dropdown search input\n this.searchInput = new searchInput_1.default((0, translations_1.$t)(\"search\"));\n navDiv.appendChild(this.searchInput.render(payload));\n // dropdown options\n const optionsDiv = this.createOptions(this.options);\n navDiv.appendChild(optionsDiv);\n modalContainer.appendChild(navDiv);\n // event listener\n // 1. when search input update\n this.searchInput.onUpdateQ = this.onUpdateQ.bind(this);\n return modalContainer;\n }\n createOptions(options) {\n const optionsDiv = document.createElement(\"div\");\n optionsDiv.setAttribute(\"id\", `${this.modalId}-options`);\n optionsDiv.classList.add(\"pw-grow\", \"pw-overflow-y-auto\", \"pw-my-2\");\n for (let i = 0; i < options.length; i++) {\n const dropdownOptions = this.createOption(options[i]);\n optionsDiv.appendChild(dropdownOptions);\n }\n return optionsDiv;\n }\n createOption(option) {\n const dropdownOptions = document.createElement(\"div\");\n dropdownOptions.classList.add(\"pw-flex\", \"pw-justify-between\", \"pw-items-center\", \"pw-px-4\", \"pw-py-3\", \"pw-cursor-pointer\");\n dropdownOptions.dataset.value = option.value;\n dropdownOptions.innerHTML = option.label;\n // purple tick icon for selected\n const checkContainer = document.createElement(\"div\");\n checkContainer.dataset.value = \"icon\";\n if (this.value !== option.value)\n checkContainer.classList.add(\"pw-hidden\");\n const checkIcon = document.createElement(\"span\");\n checkIcon.classList.add(\"material-icons\", \"pw-text-primary\", \"pw-cursor-pointer\");\n checkIcon.innerHTML = \"check\";\n checkContainer.appendChild(checkIcon);\n dropdownOptions.appendChild(checkContainer);\n // event listener - click the option\n dropdownOptions.addEventListener(\"click\", () => {\n this.value = option.value;\n if (this.onUpdateOption)\n this.onUpdateOption(option);\n this.closeDialog();\n });\n return dropdownOptions;\n }\n openDialog() {\n // reset search input and dropdwon list\n if (this.searchInput) {\n this.searchInput.q = \"\";\n this.onUpdateQ(\"\");\n }\n const modal = document.getElementById(this.modalId);\n modal === null || modal === void 0 ? void 0 : modal.classList.remove(\"pw-left-[100%]\");\n modal === null || modal === void 0 ? void 0 : modal.classList.add(\"pw-left-0\");\n }\n closeDialog() {\n const modal = document.getElementById(this.modalId);\n modal === null || modal === void 0 ? void 0 : modal.classList.remove(\"pw-left-0\");\n modal === null || modal === void 0 ? void 0 : modal.classList.add(\"pw-left-[100%]\");\n }\n onUpdateQ(value) {\n let filteredOptions;\n if (!value) {\n filteredOptions = this.createOptions(this.options);\n }\n else {\n const options = this.options.filter((option) => option.label.toLowerCase().startsWith(value.toLowerCase()));\n filteredOptions = this.createOptions(options);\n }\n // replace with new options\n const currentOptions = document.getElementById(`${this.modalId}-options`);\n if (currentOptions)\n currentOptions.replaceWith(filteredOptions);\n }\n}\nexports[\"default\"] = DropdownMenu;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/dropdownMenu.ts?");
|
|
3565
3565
|
|
|
3566
3566
|
/***/ }),
|
|
3567
3567
|
|
|
@@ -3572,18 +3572,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3572
3572
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3573
3573
|
|
|
3574
3574
|
"use strict";
|
|
3575
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst
|
|
3576
|
-
|
|
3577
|
-
/***/ }),
|
|
3578
|
-
|
|
3579
|
-
/***/ "./src/components/genderOptions.ts":
|
|
3580
|
-
/*!*****************************************!*\
|
|
3581
|
-
!*** ./src/components/genderOptions.ts ***!
|
|
3582
|
-
\*****************************************/
|
|
3583
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3584
|
-
|
|
3585
|
-
"use strict";
|
|
3586
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass GenderOptions {\n constructor(modalId, placeholder, options) {\n this.value = \"\";\n this.disabledValue = 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 var _a;\n if (value === this.value)\n return;\n this.value = value;\n this.removeError();\n const children = ((_a = this.optionsDiv) === null || _a === void 0 ? void 0 : _a.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n if (option.dataset.value === value)\n option.classList.add(\"pw-border-red-500\");\n else\n option.classList.remove(\"pw-border-red-500\");\n }\n }\n get disabled() {\n return this.disabledValue;\n }\n set disabled(value) {\n var _a;\n if (value === this.disabled)\n return;\n this.disabledValue = value;\n const children = ((_a = this.optionsDiv) === null || _a === void 0 ? void 0 : _a.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n if (value) {\n option.classList.add(\"pw-bg-disabled\");\n option.classList.remove(\"pw-cursor-pointer\");\n }\n else {\n option.classList.remove(\"pw-bg-disabled\");\n option.classList.add(\"pw-cursor-pointer\");\n }\n }\n }\n setOptions(options) {\n this.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 addError(errorText = validation_1.errorMessage.required) {\n var _a, _b, _c, _d, _e;\n if ((_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.querySelector(\"#error\"))\n return;\n // write error message at below\n const errorDiv = document.createElement(\"div\");\n errorDiv.id = \"error\";\n 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 errorDiv.innerHTML = `${validation_1.errorIconEl} ${errorText}`;\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.classList.remove(\"pw-mb-5\");\n (_c = this.componentDiv) === null || _c === void 0 ? void 0 : _c.classList.add(\"pw-mb-3\");\n (_d = this.componentDiv) === null || _d === void 0 ? void 0 : _d.appendChild(errorDiv);\n // draw red box\n const children = ((_e = this.optionsDiv) === null || _e === void 0 ? void 0 : _e.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n option.classList.add(\"pw-border-red-500\");\n }\n }\n removeError() {\n var _a, _b, _c, _d;\n const errorDiv = (_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.querySelector(\"#error\");\n // remove error message at below\n if (errorDiv) {\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.removeChild(errorDiv);\n errorDiv.remove();\n }\n (_c = this.componentDiv) === null || _c === void 0 ? void 0 : _c.classList.add(\"pw-mb-5\");\n (_d = this.componentDiv) === null || _d === void 0 ? void 0 : _d.classList.remove(\"pw-mb-3\");\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-w-full\", \"pw-mb-5\");\n const labelDiv = document.createElement(\"div\");\n labelDiv.classList.add(\"pw-text-grey-7\", \"pw-text-xs\", \"pw-mb-[0.3rem]\");\n labelDiv.innerHTML = this.placeholder;\n this.componentDiv.appendChild(labelDiv);\n this.optionsDiv = document.createElement(\"div\");\n this.optionsDiv.classList.add(\"pw-flex\", \"pw-full\", \"pw-gap-x-3\");\n for (let i = 0; i < this.options.length; i++) {\n const option = document.createElement(\"div\");\n option.dataset.value = this.options[i].value;\n option.classList.add(\"pw-box-border\", \"pw-h-12\", \"pw-py-3\", \"pw-px-4\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"pw-cursor-pointer\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\", \"pw-w-full\");\n option.style.setProperty(\"-webkit-tap-highlight-color\", \"transparent\");\n if (payload === null || payload === void 0 ? void 0 : payload.capitalize)\n option.classList.add(\"pw-capitalize\");\n const label = this.options[i].label;\n option.innerHTML = (payload === null || payload === void 0 ? void 0 : payload.capitalize) ? label.toLowerCase() : label;\n option.addEventListener(\"click\", () => {\n if (!this.disabled)\n this.val = this.options[i].value;\n });\n this.optionsDiv.appendChild(option);\n }\n this.componentDiv.appendChild(this.optionsDiv);\n this.disabled = (payload === null || payload === void 0 ? void 0 : payload.disabled) || false;\n return this.componentDiv;\n }\n}\nexports[\"default\"] = GenderOptions;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/genderOptions.ts?");
|
|
3575
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst logo_pw_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/logo-pw.svg */ \"./src/assets/icon/logo-pw.svg\"));\nclass Footer {\n constructor() { }\n render() {\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-flex\", \"pw-items-center\", \"pw-justify-center\", \"pw-relative\", \"pw-text-xs\", \"pw-gap-x-1\");\n const footerText = document.createElement(\"div\");\n footerText.classList.add(\"pw-text-grey-6\");\n footerText.innerHTML = \"Powered by\";\n footerDiv.appendChild(footerText);\n const footerImg = document.createElement(\"img\");\n footerImg.setAttribute(\"src\", logo_pw_svg_1.default);\n footerDiv.appendChild(footerImg);\n const earth = document.createElement(\"div\");\n earth.classList.add(\"pw-absolute\", \"pw-right-0\");\n earth.addEventListener(\"click\", () => {\n this.onClickEarth();\n });\n footerDiv.appendChild(earth);\n return footerDiv;\n }\n onClickEarth() { }\n}\nexports[\"default\"] = Footer;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/footer.ts?");
|
|
3587
3576
|
|
|
3588
3577
|
/***/ }),
|
|
3589
3578
|
|
|
@@ -3616,7 +3605,18 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nclas
|
|
|
3616
3605
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3617
3606
|
|
|
3618
3607
|
"use strict";
|
|
3619
|
-
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\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.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(payload) {\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.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\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\"
|
|
3608
|
+
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\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.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(payload) {\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.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\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\");\n if (!(payload === null || payload === void 0 ? void 0 : payload.disabled))\n this.inputE.classList.add(\"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 addError(errorText = \"\") {\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 = `${validation_1.errorIconEl} ${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.removeError();\n }\n }\n removeError() {\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?");
|
|
3609
|
+
|
|
3610
|
+
/***/ }),
|
|
3611
|
+
|
|
3612
|
+
/***/ "./src/components/selections.ts":
|
|
3613
|
+
/*!**************************************!*\
|
|
3614
|
+
!*** ./src/components/selections.ts ***!
|
|
3615
|
+
\**************************************/
|
|
3616
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3617
|
+
|
|
3618
|
+
"use strict";
|
|
3619
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass Selections {\n constructor(modalId, placeholder, options) {\n this.value = \"\";\n this.disabledValue = 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 var _a;\n if (value === this.value)\n return;\n this.value = value;\n this.removeError();\n const children = ((_a = this.optionsDiv) === null || _a === void 0 ? void 0 : _a.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n if (option.dataset.value === value) {\n option.classList.add(\"pw-border-red-500\", \"pw-text-red-500\");\n if (this.disabledValue)\n option.classList.remove(\"pw-bg-disabled\");\n }\n else {\n option.classList.remove(\"pw-border-red-500\", \"pw-text-red-500\");\n if (this.disabledValue)\n option.classList.add(\"pw-bg-disabled\");\n }\n }\n }\n get disabled() {\n return this.disabledValue;\n }\n set disabled(value) {\n var _a;\n if (value === this.disabled)\n return;\n this.disabledValue = value;\n const children = ((_a = this.optionsDiv) === null || _a === void 0 ? void 0 : _a.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n if (value) {\n option.classList.add(\"pw-bg-disabled\");\n option.classList.remove(\"pw-cursor-pointer\");\n }\n else {\n option.classList.remove(\"pw-bg-disabled\");\n option.classList.add(\"pw-cursor-pointer\");\n }\n }\n }\n setOptions(options) {\n this.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 addError(errorText = \"\") {\n var _a, _b, _c, _d, _e;\n if ((_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.querySelector(\"#error\"))\n return;\n // write error message at below\n const errorDiv = document.createElement(\"div\");\n errorDiv.id = \"error\";\n 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 errorDiv.innerHTML = `${validation_1.errorIconEl} ${errorText}`;\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.classList.remove(\"pw-mb-5\");\n (_c = this.componentDiv) === null || _c === void 0 ? void 0 : _c.classList.add(\"pw-mb-3\");\n (_d = this.componentDiv) === null || _d === void 0 ? void 0 : _d.appendChild(errorDiv);\n // draw red box\n const children = ((_e = this.optionsDiv) === null || _e === void 0 ? void 0 : _e.children) || [];\n for (let i = 0; i < children.length; i++) {\n const option = children[i];\n option.classList.add(\"pw-border-red-500\");\n }\n }\n removeError() {\n var _a, _b, _c, _d;\n const errorDiv = (_a = this.componentDiv) === null || _a === void 0 ? void 0 : _a.querySelector(\"#error\");\n // remove error message at below\n if (errorDiv) {\n (_b = this.componentDiv) === null || _b === void 0 ? void 0 : _b.removeChild(errorDiv);\n errorDiv.remove();\n }\n (_c = this.componentDiv) === null || _c === void 0 ? void 0 : _c.classList.add(\"pw-mb-5\");\n (_d = this.componentDiv) === null || _d === void 0 ? void 0 : _d.classList.remove(\"pw-mb-3\");\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-w-full\", \"pw-mb-5\");\n const labelDiv = document.createElement(\"div\");\n labelDiv.classList.add(\"pw-text-grey-7\", \"pw-text-xs\", \"pw-mb-[0.3rem]\");\n labelDiv.innerHTML = this.placeholder;\n this.componentDiv.appendChild(labelDiv);\n this.optionsDiv = document.createElement(\"div\");\n this.optionsDiv.classList.add(\"pw-flex\", \"pw-full\", \"pw-gap-x-3\");\n for (let i = 0; i < this.options.length; i++) {\n const option = document.createElement(\"div\");\n option.dataset.value = this.options[i].value;\n option.classList.add(\"pw-box-border\", \"pw-h-12\", \"pw-py-3\", \"pw-px-4\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\", \"pw-outline-none\", \"pw-cursor-pointer\", \"pw-flex\", \"pw-justify-center\", \"pw-items-center\", \"pw-w-full\");\n option.style.setProperty(\"-webkit-tap-highlight-color\", \"transparent\");\n const label = this.options[i].label;\n option.innerHTML = label;\n option.addEventListener(\"click\", () => {\n if (!this.disabled)\n this.val = this.options[i].value;\n });\n this.optionsDiv.appendChild(option);\n }\n this.componentDiv.appendChild(this.optionsDiv);\n this.disabled = (payload === null || payload === void 0 ? void 0 : payload.disabled) || false;\n return this.componentDiv;\n }\n}\nexports[\"default\"] = Selections;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/selections.ts?");
|
|
3620
3620
|
|
|
3621
3621
|
/***/ }),
|
|
3622
3622
|
|
|
@@ -3638,7 +3638,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nclas
|
|
|
3638
3638
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3639
3639
|
|
|
3640
3640
|
"use strict";
|
|
3641
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass TextArea {\n constructor(name, placeholder) {\n this.value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n }\n get val() {\n return this.value;\n }\n set val(value) {\n this.value = value;\n if (this.inputE)\n this.inputE.value = value;\n }\n render() {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n
|
|
3641
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass TextArea {\n constructor(name, placeholder, maxLength) {\n this.value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n this.maxLength = maxLength;\n }\n get val() {\n return this.value;\n }\n set val(value) {\n this.value = value;\n if (this.inputE)\n this.inputE.value = value;\n }\n render(payload) {\n this.componentDiv = document.createElement(\"div\");\n this.componentDiv.classList.add(\"pw-mb-5\");\n this.textInputDiv = document.createElement(\"div\");\n this.textInputDiv.classList.add(\"pw-relative\", \"pw-text-grey-5\", \"pw-box-border\", \"pw-px-4\", \"pw-pt-5\", \"pw-border-solid\", \"pw-border\", \"pw-border-grey-5\", \"pw-rounded-lg\");\n this.inputE = document.createElement(\"textarea\");\n this.inputE.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.inputE.setAttribute(\"type\", (payload === null || payload === void 0 ? void 0 : payload.type) || \"text\");\n this.inputE.setAttribute(\"placeholder\", \" \");\n if (this.maxLength)\n this.inputE.setAttribute(\"maxlength\", this.maxLength.toString());\n this.inputE.style.minHeight = \"100px\";\n this.inputE.style.maxHeight = \"100px\";\n this.inputE.style.border = \"none\";\n this.inputE.classList.add(\"pw-relative\", \"pw-font-['Roboto_Flex']\", \"pw-w-full\", \"pw-outline-none\", \"pw-resize-none\", \"pw-peer\", \"pw-text-base\", \"pw-transition-all\", \"pw-duration-100\");\n this.inputE.addEventListener(\"keyup\", (e) => {\n var _a;\n if (e.target) {\n const scrollHeight = ((_a = this.inputE) === null || _a === void 0 ? void 0 : _a.scrollHeight) || 0;\n if (scrollHeight > 58) {\n this.inputE.style.height = `${scrollHeight}px`;\n }\n else {\n this.inputE.style.height = `58px`;\n }\n }\n });\n this.inputE.addEventListener(\"input\", (e) => {\n const val = (e === null || e === void 0 ? void 0 : e.target).value || \"\";\n this.onInputEvent(val);\n });\n this.textInputDiv.appendChild(this.inputE);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\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 this.textInputDiv.appendChild(inputLabel);\n this.componentDiv.appendChild(this.textInputDiv);\n return this.componentDiv;\n }\n addError(errorText = \"\") {\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 = `${validation_1.errorIconEl} ${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.textInputDiv) === 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.value = val;\n if (this.isError && this.errorDiv) {\n this.removeError();\n }\n }\n removeError() {\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.textInputDiv) === 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\"] = TextArea;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/textArea.ts?");
|
|
3642
3642
|
|
|
3643
3643
|
/***/ }),
|
|
3644
3644
|
|
|
@@ -3649,7 +3649,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3649
3649
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3650
3650
|
|
|
3651
3651
|
"use strict";
|
|
3652
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass TextInput {\n constructor(name, placeholder, maxLength) {\n this.value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n this.maxLength = maxLength;\n }\n get val() {\n return this.value;\n }\n set val(value) {\n this.value = value;\n if (this.inputE)\n this.inputE.value = value;\n }\n render(payload) {\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.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.inputE.setAttribute(\"
|
|
3652
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nclass TextInput {\n constructor(name, placeholder, maxLength) {\n this.value = \"\";\n this.isError = false;\n this.name = name;\n this.placeholder = placeholder;\n this.maxLength = maxLength;\n }\n get val() {\n return this.value;\n }\n set val(value) {\n this.value = value;\n if (this.inputE)\n this.inputE.value = value;\n }\n render(payload) {\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.disabled = !!(payload === null || payload === void 0 ? void 0 : payload.disabled);\n this.inputE.setAttribute(\"type\", (payload === null || payload === void 0 ? void 0 : payload.type) || \"text\");\n this.inputE.setAttribute(\"placeholder\", \" \");\n if (this.maxLength)\n this.inputE.setAttribute(\"maxlength\", this.maxLength.toString());\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\");\n this.inputE.addEventListener(\"input\", (e) => {\n const val = (e === null || e === void 0 ? void 0 : e.target).value || \"\";\n this.onInputEvent(val);\n });\n textInputDiv.appendChild(this.inputE);\n const inputLabel = document.createElement(\"label\");\n inputLabel.setAttribute(\"for\", this.name);\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.componentDiv.appendChild(textInputDiv);\n return this.componentDiv;\n }\n addError(errorText = \"\") {\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 = `${validation_1.errorIconEl} ${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.value = val;\n if (this.isError && this.errorDiv) {\n this.removeError();\n }\n }\n removeError() {\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\"] = TextInput;\n\n\n//# sourceURL=webpack://PWUISDK/./src/components/textInput.ts?");
|
|
3653
3653
|
|
|
3654
3654
|
/***/ }),
|
|
3655
3655
|
|
|
@@ -3660,18 +3660,18 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\ncons
|
|
|
3660
3660
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3661
3661
|
|
|
3662
3662
|
"use strict";
|
|
3663
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.
|
|
3663
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CAMERA_INSTRUCTION = void 0;\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nexports.CAMERA_INSTRUCTION = {\n [camera_1.CARD_TYPES.ID]: {\n title: (0, translations_1.$t)(\"id_front_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n outlineText: (0, translations_1.$t)(\"id_front_outline\"),\n outlineImg: __webpack_require__(/*! ../assets/img/id-outline.webp */ \"./src/assets/img/id-outline.webp\"),\n },\n [camera_1.CARD_TYPES.ID_BACK]: {\n title: (0, translations_1.$t)(\"id_back_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n outlineText: (0, translations_1.$t)(\"id_back_outline\"),\n },\n [camera_1.CARD_TYPES.LICENSE]: {\n title: (0, translations_1.$t)(\"license_front_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n },\n [camera_1.CARD_TYPES.LICENSE_BACK]: {\n title: (0, translations_1.$t)(\"license_back_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n },\n [camera_1.CARD_TYPES.PASSPORT]: {\n title: (0, translations_1.$t)(\"passport_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n },\n [camera_1.CARD_TYPES.CC]: {\n title: (0, translations_1.$t)(\"cc_front_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n },\n [camera_1.CARD_TYPES.CC_BACK]: {\n title: (0, translations_1.$t)(\"cc_back_title\"),\n description: (0, translations_1.$t)(\"camera_desc\"),\n },\n};\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/camera-instruction.ts?");
|
|
3664
3664
|
|
|
3665
3665
|
/***/ }),
|
|
3666
3666
|
|
|
3667
|
-
/***/ "./src/constant/
|
|
3668
|
-
|
|
3669
|
-
!*** ./src/constant/
|
|
3670
|
-
|
|
3671
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
3667
|
+
/***/ "./src/constant/form.ts":
|
|
3668
|
+
/*!******************************!*\
|
|
3669
|
+
!*** ./src/constant/form.ts ***!
|
|
3670
|
+
\******************************/
|
|
3671
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3672
3672
|
|
|
3673
3673
|
"use strict";
|
|
3674
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.
|
|
3674
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.formHeaderMapping = void 0;\nconst verification_1 = __webpack_require__(/*! ./verification */ \"./src/constant/verification.ts\");\nexports.formHeaderMapping = {\n [verification_1.VERIFICATION_TYPE.IDENTITY_DOC]: {\n currentStep: 4,\n title: \"ID card details\",\n subTitle: \"Verify your card information.\",\n },\n [verification_1.VERIFICATION_TYPE.CREDIT_CARD]: {\n currentStep: 2,\n title: \"Card details\",\n subTitle: \"Verify your card information.\",\n },\n [verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS]: {\n currentStep: 3,\n title: \"Utility bill details\",\n subTitle: \"Verify your upload information.\",\n },\n};\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/form.ts?");
|
|
3675
3675
|
|
|
3676
3676
|
/***/ }),
|
|
3677
3677
|
|
|
@@ -3682,18 +3682,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3682
3682
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3683
3683
|
|
|
3684
3684
|
"use strict";
|
|
3685
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ID_CARD_RATIO = exports.ID_TYPE = exports.
|
|
3686
|
-
|
|
3687
|
-
/***/ }),
|
|
3688
|
-
|
|
3689
|
-
/***/ "./src/constant/poa.ts":
|
|
3690
|
-
/*!*****************************!*\
|
|
3691
|
-
!*** ./src/constant/poa.ts ***!
|
|
3692
|
-
\*****************************/
|
|
3693
|
-
/***/ ((__unused_webpack_module, exports) => {
|
|
3694
|
-
|
|
3695
|
-
"use strict";
|
|
3696
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.poaFormLabelMapping = exports.POA_FORM_FIELD = void 0;\nvar POA_FORM_FIELD;\n(function (POA_FORM_FIELD) {\n POA_FORM_FIELD[\"nameField\"] = \"receiver_name\";\n POA_FORM_FIELD[\"addressField\"] = \"receiver_address\";\n POA_FORM_FIELD[\"cityField\"] = \"receiver_city\";\n POA_FORM_FIELD[\"stateField\"] = \"receiver_state_iso\";\n POA_FORM_FIELD[\"zipField\"] = \"receiver_zip\";\n POA_FORM_FIELD[\"countryField\"] = \"receiver_country_iso2\";\n})(POA_FORM_FIELD || (exports.POA_FORM_FIELD = POA_FORM_FIELD = {}));\nexports.poaFormLabelMapping = {\n receiver_name: \"Full Name\",\n receiver_address: \"Address\",\n receiver_city: \"City\",\n receiver_state_iso: \"State/Region\",\n receiver_zip: \"Zip code\",\n receiver_country_iso2: \"Country\",\n};\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/poa.ts?");
|
|
3685
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ID_CARD_RATIO = exports.ID_TYPE = exports.idCardTypeMapping = void 0;\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nexports.idCardTypeMapping = {\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 ID_TYPE;\n(function (ID_TYPE) {\n ID_TYPE[\"PASSPORT\"] = \"passport\";\n ID_TYPE[\"NATIONAL_ID\"] = \"national_identity_document\";\n ID_TYPE[\"LICENSE\"] = \"driving_license\";\n})(ID_TYPE || (exports.ID_TYPE = ID_TYPE = {}));\nexports.ID_CARD_RATIO = {\n [camera_1.CARD_TYPES.PASSPORT]: 1.333,\n others: 1.586,\n};\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/id.ts?");
|
|
3697
3686
|
|
|
3698
3687
|
/***/ }),
|
|
3699
3688
|
|
|
@@ -3704,7 +3693,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3704
3693
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3705
3694
|
|
|
3706
3695
|
"use strict";
|
|
3707
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.errorIconEl = exports.
|
|
3696
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.errorIconEl = exports.SUBTYPE = exports.TYPE_FIELD = void 0;\nvar TYPE_FIELD;\n(function (TYPE_FIELD) {\n TYPE_FIELD[\"TEXT\"] = \"text\";\n TYPE_FIELD[\"TEXTAREA\"] = \"textarea\";\n TYPE_FIELD[\"DATE\"] = \"date\";\n TYPE_FIELD[\"SELECTION\"] = \"selection\";\n TYPE_FIELD[\"DROPDOWN\"] = \"dropdown\";\n TYPE_FIELD[\"CC_NO\"] = \"cc_num\";\n TYPE_FIELD[\"CC_DOE\"] = \"cc_doe\";\n})(TYPE_FIELD || (exports.TYPE_FIELD = TYPE_FIELD = {}));\nvar SUBTYPE;\n(function (SUBTYPE) {\n SUBTYPE[\"COUNTRY\"] = \"country\";\n SUBTYPE[\"STATE\"] = \"state\";\n SUBTYPE[\"CC_FIRST6\"] = \"cc_first6\";\n SUBTYPE[\"CC_LAST4\"] = \"cc_last4\";\n SUBTYPE[\"CC_MONTH\"] = \"cc_month\";\n SUBTYPE[\"CC_YEAR\"] = \"cc_year\";\n})(SUBTYPE || (exports.SUBTYPE = SUBTYPE = {}));\nexports.errorIconEl = '<span class=\"material-symbols-outlined\" style=\"font-size: 20px;\">error</span>';\n\n\n//# sourceURL=webpack://PWUISDK/./src/constant/validation.ts?");
|
|
3708
3697
|
|
|
3709
3698
|
/***/ }),
|
|
3710
3699
|
|
|
@@ -3741,6 +3730,17 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3741
3730
|
|
|
3742
3731
|
/***/ }),
|
|
3743
3732
|
|
|
3733
|
+
/***/ "./src/helper/form.ts":
|
|
3734
|
+
/*!****************************!*\
|
|
3735
|
+
!*** ./src/helper/form.ts ***!
|
|
3736
|
+
\****************************/
|
|
3737
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3738
|
+
|
|
3739
|
+
"use strict";
|
|
3740
|
+
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.validateField = exports.updateRegionState = exports.createField = exports.constructReqPayload = exports.constructForm = void 0;\nconst moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst textInput_1 = __importDefault(__webpack_require__(/*! ../components/textInput */ \"./src/components/textInput.ts\"));\nconst textArea_1 = __importDefault(__webpack_require__(/*! ../components/textArea */ \"./src/components/textArea.ts\"));\nconst dateInput_1 = __importDefault(__webpack_require__(/*! ../components/dateInput */ \"./src/components/dateInput.ts\"));\nconst selections_1 = __importDefault(__webpack_require__(/*! ../components/selections */ \"./src/components/selections.ts\"));\nconst selectDropdown_1 = __importDefault(__webpack_require__(/*! ../components/selectDropdown */ \"./src/components/selectDropdown.ts\"));\nconst doeInput_1 = __importDefault(__webpack_require__(/*! ../components/doeInput */ \"./src/components/doeInput.ts\"));\nconst cardDigitInput_1 = __importDefault(__webpack_require__(/*! ../components/cardDigitInput */ \"./src/components/cardDigitInput.ts\"));\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst validation_2 = __webpack_require__(/*! ./validation */ \"./src/helper/validation.ts\");\nconst constructForm = (apiForm) => {\n let form = {};\n for (const key of Object.keys(apiForm)) {\n const field = apiForm[key];\n // special handle for cc number\n if (field.type === validation_1.TYPE_FIELD.CC_NO) {\n const { CC_NO } = validation_1.TYPE_FIELD;\n const { CC_FIRST6, CC_LAST4 } = validation_1.SUBTYPE;\n // If cc_number is not in form, add it\n if (form[\"cc_number\"])\n continue;\n const isFirst6 = field.subtype === validation_1.SUBTYPE.CC_FIRST6;\n // Find first 6 and last 4 values\n const [first6Key, first6Field] = isFirst6\n ? [key, field]\n : Object.entries(apiForm).find(([k, f]) => f.type === CC_NO && f.subtype === CC_FIRST6) || [undefined, undefined];\n const [last4Key, last4Field] = isFirst6\n ? Object.entries(apiForm).find(([k, f]) => f.type === CC_NO && f.subtype === CC_LAST4) || [undefined, undefined]\n : [key, field];\n const first6Value = (first6Field === null || first6Field === void 0 ? void 0 : first6Field.value) || \"\";\n const last4Value = (last4Field === null || last4Field === void 0 ? void 0 : last4Field.value) || \"\";\n const cc_number = Object.assign(Object.assign({}, field), { type: validation_1.TYPE_FIELD.CC_NO, first6Key,\n last4Key, value: [first6Value, last4Value], subtype: null, label: (0, translations_1.$t)(\"label_cc_number\"), rules: { required: field.required, check_cc_num: true }, editable: field.editable });\n form = Object.assign(Object.assign({}, form), { cc_number });\n }\n // special handle for cc date\n else if (field.type === validation_1.TYPE_FIELD.CC_DOE) {\n const { CC_DOE } = validation_1.TYPE_FIELD;\n const { CC_MONTH, CC_YEAR } = validation_1.SUBTYPE;\n // If date_of_expiry is not in form, add it\n if (form[\"date_of_expiry\"])\n continue;\n const isMonth = field.subtype === validation_1.SUBTYPE.CC_MONTH;\n const [monthKey, monthField] = isMonth\n ? [key, field]\n : Object.entries(apiForm).find(([k, f]) => f.type === CC_DOE && f.subtype === CC_MONTH) || [undefined, undefined];\n const [yearKey, yearField] = isMonth\n ? Object.entries(apiForm).find(([k, f]) => f.type === CC_DOE && f.subtype === CC_YEAR) || [undefined, undefined]\n : [key, field];\n const month = (monthField === null || monthField === void 0 ? void 0 : monthField.value) || \"\";\n const year = (yearField === null || yearField === void 0 ? void 0 : yearField.value) || \"\";\n const date_of_expiry = Object.assign(Object.assign({}, field), { type: validation_1.TYPE_FIELD.CC_DOE, value: [month, year.slice(-2)], monthKey,\n yearKey, subtype: null, label: (0, translations_1.$t)(\"label_date_of_expiry\"), rules: { required: field.required, check_cc_doe: true }, editable: field.editable });\n form = Object.assign(Object.assign({}, form), { date_of_expiry });\n }\n // others\n else {\n const newField = Object.assign(Object.assign({}, field), { rules: {\n required: field.required,\n selectable_values: field.selectable_values || undefined,\n min_length: field.min_length,\n max_length: field.max_length,\n } });\n form = Object.assign(Object.assign({}, form), { [key]: newField });\n }\n }\n return form;\n};\nexports.constructForm = constructForm;\nconst constructReqPayload = (form, formElements) => {\n // pass payload to sdk\n const reqPayload = {};\n for (const key in formElements) {\n // special handle for cc number\n if (form[key].type === validation_1.TYPE_FIELD.CC_NO) {\n const formElement = formElements[key];\n const formField = form[key];\n if (formField.first6Key) {\n reqPayload[formField.first6Key] = formElement.val.first6Value || \"\";\n }\n if (formField.last4Key) {\n reqPayload[formField.last4Key] = formElement.val.last4Value || \"\";\n }\n }\n // special handle for cc date\n else if (form[key].type === validation_1.TYPE_FIELD.CC_DOE) {\n const formElement = formElements[key];\n const formField = form[key];\n if (formField.monthKey) {\n reqPayload[formField.monthKey] = formElement.val.month || \"\";\n }\n if (formField.yearKey) {\n reqPayload[formField.yearKey] =\n new Date().getFullYear().toString().slice(0, 2) +\n formElement.val.year || \"\";\n }\n }\n // others\n else\n reqPayload[key] = formElements[key].val;\n }\n return reqPayload;\n};\nexports.constructReqPayload = constructReqPayload;\nconst createField = (key, payload, form) => {\n const { type, label, value, editable, input_type } = payload;\n const { max_length } = payload.rules;\n if (type === validation_1.TYPE_FIELD.TEXT) {\n const field = new textInput_1.default(key, label, max_length);\n form.appendChild(field.render({ disabled: !editable, type: input_type }));\n field.val = value;\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.TEXTAREA) {\n const field = new textArea_1.default(key, label, max_length);\n form.appendChild(field.render({ disabled: !editable, type: input_type }));\n field.val = value || \"\";\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.DATE) {\n const { format = verification_1.INPUT_DATE_FORMAT } = payload;\n const field = new dateInput_1.default(key, label);\n form.appendChild(field.render({ disabled: !editable }));\n field.val = value\n ? (0, moment_1.default)(value, format).format(verification_1.DISPLAY_DATE_FORMAT)\n : \"\";\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.SELECTION) {\n const { selectable_values } = payload.rules;\n const options = selectable_values || [];\n const field = new selections_1.default(key, label, options);\n form.appendChild(field.render({ disabled: !editable }));\n field.val = value || \"\";\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.DROPDOWN) {\n const { selectable_values } = payload.rules;\n const field = new selectDropdown_1.default(key, label, selectable_values || []);\n form.appendChild(field.render({ disabled: !editable }));\n field.val = value || \"\";\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.CC_NO && Array.isArray(value)) {\n const field = new cardDigitInput_1.default(key, label);\n form.appendChild(field.render({ disabled: !editable }));\n field.val = {\n first6Value: value[0],\n last4Value: value[1],\n };\n return field;\n }\n else if (type === validation_1.TYPE_FIELD.CC_DOE && Array.isArray(value)) {\n const field = new doeInput_1.default(key, label);\n form.appendChild(field.render({ disabled: !editable }));\n field.val = { month: value[0], year: value[1] };\n return field;\n }\n else\n return undefined;\n};\nexports.createField = createField;\nconst updateRegionState = (stateDropdown, country, state) => __awaiter(void 0, void 0, void 0, function* () {\n try {\n stateDropdown.isLoading = true;\n // call api to get state list\n const states = yield uisdk_1.pwInstance.fetchStates(country || \"\");\n // update state dropdown\n const options = states.map((state) => {\n return { value: state.iso_code, label: state.name };\n });\n stateDropdown.setOption(options);\n // set selected state\n if (state && options.find((option) => option.value === state)) {\n stateDropdown.val = state;\n }\n else {\n stateDropdown.val = \"\";\n }\n return options;\n }\n finally {\n stateDropdown.isLoading = false;\n }\n});\nexports.updateRegionState = updateRegionState;\nconst validateField = (label, value, rules) => {\n for (const key in rules) {\n const args = rules[key];\n // required field\n if (key === \"required\" && !(0, validation_2.validateRequired)(value)) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_required\"),\n };\n }\n // min length validation\n else if (key === \"min_length\" &&\n !(0, validation_2.validateMinLength)(value, args)) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_min_char\", { n: args }),\n };\n }\n // max length validation\n else if (key === \"max_length\" &&\n !(0, validation_2.validateMaxLength)(value, args)) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_max_char\", { n: args }),\n };\n }\n // dropdown / selection validation\n else if (key === \"selectable_values\" && args) {\n const options = args || [];\n if (!options.find((option) => option.value === value)) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_field\", { field: label }),\n };\n }\n }\n // credit card number\n else if (key === \"check_cc_num\") {\n if (!Array.isArray(value))\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_field\", { field: label }),\n };\n const inputVal6 = value[0];\n const inputVal4 = value[1];\n if (!(0, validation_2.validateDigit)(inputVal6) || inputVal6.length !== 6) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_card\"),\n };\n }\n if (!(0, validation_2.validateDigit)(inputVal4) || inputVal4.length !== 4) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_card\"),\n };\n }\n }\n // credit card expiry date\n else if (key === \"check_cc_doe\") {\n if (!Array.isArray(value))\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_field\", { field: label }),\n };\n const monthInputVal = value[0] || \"\";\n const yearInputVal = value[1] || \"\";\n // Validate month\n const doeMonth = Number(monthInputVal);\n if (doeMonth < 1 || doeMonth > 12) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_invalid_month\"),\n };\n }\n // Check if the expiry date is today or after\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const currentMonth = currentDate.getMonth(); // 0-indexed\n const doeYear = Number(new Date().getFullYear().toString().slice(0, 2) + yearInputVal);\n if (doeYear < currentYear ||\n (doeYear === currentYear && doeMonth - 1 < currentMonth)) {\n return {\n isValid: false,\n message: (0, translations_1.$t)(\"error_expiry_date\"),\n };\n }\n }\n }\n return { isValid: true };\n};\nexports.validateField = validateField;\n\n\n//# sourceURL=webpack://PWUISDK/./src/helper/form.ts?");
|
|
3741
|
+
|
|
3742
|
+
/***/ }),
|
|
3743
|
+
|
|
3744
3744
|
/***/ "./src/helper/getGoogleIcon.ts":
|
|
3745
3745
|
/*!*************************************!*\
|
|
3746
3746
|
!*** ./src/helper/getGoogleIcon.ts ***!
|
|
@@ -3792,7 +3792,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3792
3792
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3793
3793
|
|
|
3794
3794
|
"use strict";
|
|
3795
|
-
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.redirectToCompletedPage = exports.createImageContainer = exports.createImageCard = exports.createFooter = exports.createHeading = exports.createHeader = exports.openFormErrorDialog = void 0;\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ./getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst CompletedPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/CompletedPage */ \"./src/pageClass/CompletedPage.ts\"));\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst openFormErrorDialog = (mainScreenId, fields) => {\n const errorDialog = new baseDialog_1.default();\n const dialogBody = document.createElement(\"div\");\n dialogBody.innerHTML =\n \"The information you modified does not align with your identification document:\";\n if (!fields || fields.length <= 0)\n dialogBody.classList.add(\"pw-mb-4\");\n else {\n const list = document.createElement(\"ul\");\n list.classList.add(\"pw-mb-4\", \"pw-px-4\");\n for (let i = 0; i < fields.length; i++) {\n const listItem = document.createElement(\"li\");\n listItem.classList.add(\"pw-mb-2\");\n listItem.innerHTML = fields[i];\n list.appendChild(listItem);\n }\n dialogBody.appendChild(list);\n }\n errorDialog.render(mainScreenId, \"\", \"
|
|
3795
|
+
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.redirectToCompletedPage = exports.createImageContainer = exports.createImageCard = exports.createFooter = exports.createHeading = exports.createHeader = exports.openFormErrorDialog = void 0;\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ./getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst CompletedPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/CompletedPage */ \"./src/pageClass/CompletedPage.ts\"));\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst stepper_1 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst openFormErrorDialog = (mainScreenId, fields) => {\n const errorDialog = new baseDialog_1.default();\n const dialogBody = document.createElement(\"div\");\n dialogBody.innerHTML =\n \"The information you modified does not align with your identification document:\";\n if (!fields || fields.length <= 0)\n dialogBody.classList.add(\"pw-mb-4\");\n else {\n const list = document.createElement(\"ul\");\n list.classList.add(\"pw-mb-4\", \"pw-px-4\");\n for (let i = 0; i < fields.length; i++) {\n const listItem = document.createElement(\"li\");\n listItem.classList.add(\"pw-mb-2\");\n listItem.innerHTML = fields[i];\n list.appendChild(listItem);\n }\n dialogBody.appendChild(list);\n }\n errorDialog.render(mainScreenId, \"\", (0, translations_1.$t)(\"btn_okay\"), undefined, false, dialogBody);\n};\nexports.openFormErrorDialog = openFormErrorDialog;\nconst createHeader = (currentStep, totalStep, onClose) => {\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-m-5\");\n const stepper = new stepper_1.default();\n const stepperElement = stepper.render(currentStep, totalStep);\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\", onClose);\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n return navigationDiv;\n};\nexports.createHeader = createHeader;\nconst createHeading = (title, description) => {\n const headerDiv = document.createElement(\"div\");\n headerDiv.classList.add(\"pw-m-5\");\n // title\n const wordingDiv = document.createElement(\"div\");\n wordingDiv.classList.add(\"pw-text-center\");\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-3\");\n titleDiv.innerHTML = title;\n wordingDiv.appendChild(titleDiv);\n headerDiv.appendChild(wordingDiv);\n // description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\");\n descriptionDiv.innerHTML = description;\n wordingDiv.appendChild(descriptionDiv);\n headerDiv.appendChild(wordingDiv);\n return headerDiv;\n};\nexports.createHeading = createHeading;\nconst createFooter = (onSubmit) => {\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-p-5\", \"pw-shadow-footer-shadow\");\n footerDiv.style.zIndex = \"1\";\n const btnText = \"Complete verification\";\n const submitButton = (0, components_1.createPrimaryButton)(btnText);\n submitButton.classList.add(\"pw-mb-3\");\n submitButton.addEventListener(\"click\", () => __awaiter(void 0, void 0, void 0, function* () {\n // onloading\n const loadingSpinner = (0, components_1.createSpinner)();\n submitButton.innerHTML = \"\";\n submitButton === null || submitButton === void 0 ? void 0 : submitButton.appendChild(loadingSpinner);\n try {\n yield onSubmit();\n }\n finally {\n // off loading\n if (loadingSpinner.hasChildNodes())\n submitButton === null || submitButton === void 0 ? void 0 : submitButton.removeChild(loadingSpinner);\n if (submitButton)\n submitButton.innerHTML = btnText;\n }\n }));\n footerDiv.appendChild(submitButton);\n const footer = new footer_1.default();\n const footerPw = footer.render();\n footerPw.classList.add(\"pw-text-grey-6\");\n footerDiv.appendChild(footerPw);\n return footerDiv;\n};\nexports.createFooter = createFooter;\nconst createImageCard = (image, watermark, onOpenImage) => {\n const imgSrc = image.src;\n if (!imgSrc)\n return;\n const card = document.createElement(\"div\");\n card.classList.add(\"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-py-4\", \"pw-px-5\", \"pw-rounded-2xl\", \"pw-mb-4\", \"pw-bg-white\");\n if (image.innerHTML) {\n const cardTitle = document.createElement(\"div\");\n cardTitle.classList.add(\"pw-text-center\", \"pw-mb-4\");\n cardTitle.innerHTML = image.innerHTML;\n card.appendChild(cardTitle);\n }\n const imgContainer = document.createElement(\"div\");\n imgContainer.classList.add(\"pw-mx-auto\", \"pw-w-full\", \"pw-rounded-lg\", \"pw-outline-grey-6\", \"pw-text-center\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-center\", \"pw-relative\", \"pw-overflow-hidden\");\n const imageEl = document.createElement(\"img\");\n imageEl.classList.add(\"pw-rounded-lg\", \"pw-cursor-pointer\");\n imageEl.setAttribute(\"src\", imgSrc);\n imageEl.setAttribute(\"alt\", image.alt || \"\");\n imageEl.addEventListener(\"click\", () => {\n onOpenImage(imgSrc, watermark);\n });\n imgContainer.appendChild(imageEl);\n if (watermark) {\n const frontImgWatermark = document.createElement(\"div\");\n frontImgWatermark.classList.add(\"pw-w-full\", \"pw-watermark\");\n frontImgWatermark.innerHTML = watermark;\n imgContainer.appendChild(frontImgWatermark);\n }\n card.appendChild(imgContainer);\n return card;\n};\nexports.createImageCard = createImageCard;\nconst createImageContainer = (images, watermark, onOpenImage) => {\n const imageContainerDiv = document.createElement(\"div\");\n imageContainerDiv.classList.add(\"pw-px-5\", \"pw-py-10\", \"pw-bg-grey-3\");\n for (let i = 0; i < images.length; i++) {\n const imageCard = (0, exports.createImageCard)(images[i], watermark, onOpenImage);\n if (imageCard)\n imageContainerDiv === null || imageContainerDiv === void 0 ? void 0 : imageContainerDiv.appendChild(imageCard);\n }\n return imageContainerDiv;\n};\nexports.createImageContainer = createImageContainer;\nconst redirectToCompletedPage = (mainStep, verificationTypes, mainScreenId, displayMode) => {\n if (mainStep < verificationTypes.length) {\n // redirect to start page to continue on another steps (e.g: selfie)\n const firstPage = new StartPage_1.default(mainScreenId, displayMode);\n firstPage.render(false);\n }\n else {\n // redirect to submisison has been received page\n const completedPage = new CompletedPage_1.default(mainScreenId, displayMode);\n completedPage.render();\n }\n};\nexports.redirectToCompletedPage = redirectToCompletedPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/helper/summary.ts?");
|
|
3796
3796
|
|
|
3797
3797
|
/***/ }),
|
|
3798
3798
|
|
|
@@ -3803,7 +3803,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3803
3803
|
/***/ ((__unused_webpack_module, exports) => {
|
|
3804
3804
|
|
|
3805
3805
|
"use strict";
|
|
3806
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hasStringVal = void 0;\nconst hasStringVal = (value) => {\n return typeof value === \"string\" && value.trim() !== \"\";\n};\nexports.hasStringVal = hasStringVal;\n\n\n//# sourceURL=webpack://PWUISDK/./src/helper/validation.ts?");
|
|
3806
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.hasStringVal = exports.validateUrl = exports.validateEmail = exports.validateAlphaNumDash = exports.validateAlphaDash = exports.validateAlphaSpace = exports.validateAlphaNum = exports.validateAlpha = exports.validateNumeric = exports.validateDigit = exports.validateInteger = exports.validateRegex = exports.validateGreaterThan = exports.validateLessThan = exports.validateMaxValue = exports.validateMinValue = exports.validateBetween = exports.validateMaxLength = exports.validateMinLength = exports.validateRequired = void 0;\nconst integerRegex = /^-?\\d+$/;\nconst digitRegex = /^\\d+$/;\nconst numericRegex = /^-?\\d*\\.?\\d+$/;\nconst alphaRegex = /^[a-zA-Z]+$/;\nconst alphaNumRegex = /^[a-zA-Z0-9]+$/;\nconst alphaSpaceRegex = /^[a-zA-Z ]+$/;\nconst alphaDashRegex = /^[a-zA-Z_-]+$/;\nconst alphaNumDashRegex = /^[a-zA-Z0-9_-]+$/;\nconst emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\nconst urlRegex = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\nconst isEmpty = (value) => value === null || value === undefined || value === \"\";\nconst validateRequired = (value) => {\n if (isEmpty(value))\n return false;\n if (Array.isArray(value))\n return value.length > 0 && value.some((v) => !!v);\n else if (typeof value === \"object\")\n return Object.keys(value).length > 0;\n return true;\n};\nexports.validateRequired = validateRequired;\nconst validateMinLength = (value, limit) => {\n if (isEmpty(value))\n return false;\n return String(value).length >= limit;\n};\nexports.validateMinLength = validateMinLength;\nconst validateMaxLength = (value, limit) => {\n if (isEmpty(value))\n return false;\n return String(value).length <= limit;\n};\nexports.validateMaxLength = validateMaxLength;\nconst validateBetween = (value, min, max) => {\n if (isEmpty(value))\n return false;\n return Number(value) >= min && Number(value) <= max;\n};\nexports.validateBetween = validateBetween;\nconst validateMinValue = (value, limit) => {\n if (isEmpty(value))\n return false;\n return Number(value) >= limit;\n};\nexports.validateMinValue = validateMinValue;\nconst validateMaxValue = (value, limit) => {\n if (isEmpty(value))\n return false;\n return Number(value) <= limit;\n};\nexports.validateMaxValue = validateMaxValue;\nconst validateLessThan = (value, limit) => {\n if (isEmpty(value))\n return false;\n return Number(value) < limit;\n};\nexports.validateLessThan = validateLessThan;\nconst validateGreaterThan = (value, limit) => {\n if (isEmpty(value))\n return false;\n return Number(value) > limit;\n};\nexports.validateGreaterThan = validateGreaterThan;\nconst validateRegex = (value, regex) => new RegExp(regex).test(String(value));\nexports.validateRegex = validateRegex;\nconst validateInteger = (value) => integerRegex.test(String(value));\nexports.validateInteger = validateInteger;\nconst validateDigit = (value) => digitRegex.test(String(value));\nexports.validateDigit = validateDigit;\nconst validateNumeric = (value) => numericRegex.test(String(value));\nexports.validateNumeric = validateNumeric;\nconst validateAlpha = (value) => alphaRegex.test(String(value));\nexports.validateAlpha = validateAlpha;\nconst validateAlphaNum = (value) => alphaNumRegex.test(String(value));\nexports.validateAlphaNum = validateAlphaNum;\nconst validateAlphaSpace = (value) => alphaSpaceRegex.test(String(value));\nexports.validateAlphaSpace = validateAlphaSpace;\nconst validateAlphaDash = (value) => alphaDashRegex.test(String(value));\nexports.validateAlphaDash = validateAlphaDash;\nconst validateAlphaNumDash = (value) => alphaNumDashRegex.test(String(value));\nexports.validateAlphaNumDash = validateAlphaNumDash;\nconst validateEmail = (value) => emailRegex.test(String(value).toLowerCase());\nexports.validateEmail = validateEmail;\nconst validateUrl = (value) => urlRegex.test(String(value));\nexports.validateUrl = validateUrl;\nconst hasStringVal = (value) => {\n return typeof value === \"string\" && value.trim() !== \"\";\n};\nexports.hasStringVal = hasStringVal;\n\n\n//# sourceURL=webpack://PWUISDK/./src/helper/validation.ts?");
|
|
3807
3807
|
|
|
3808
3808
|
/***/ }),
|
|
3809
3809
|
|
|
@@ -3836,7 +3836,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
|
|
|
3836
3836
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3837
3837
|
|
|
3838
3838
|
"use strict";
|
|
3839
|
-
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 uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst SummaryId_1 = __importDefault(__webpack_require__(/*! ./SummaryId */ \"./src/pageClass/SummaryId.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst CompletedPage_1 = __importDefault(__webpack_require__(/*! ./CompletedPage */ \"./src/pageClass/CompletedPage.ts\"));\nconst SummaryCc_1 = __importDefault(__webpack_require__(/*! ./SummaryCc */ \"./src/pageClass/SummaryCc.ts\"));\nconst SummaryPoa_1 = __importDefault(__webpack_require__(/*! ./SummaryPoa */ \"./src/pageClass/SummaryPoa.ts\"));\n// components\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\n// helper\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nclass AnalyzePage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(analyzeType = \"id\") {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n this.clearScreen();\n // 1. show loading screen\n const loadingPage = new LoadingPage_1.default(this.mainScreenId, this.displayMode);\n loadingPage.render(\"Analyzing the pictures\", \"Please do not close your browser, this may take a moment.\", true);\n // 2. get ekyc result\n // wait some time to call API\n yield new Promise((resolve) => setTimeout(resolve, 2000));\n // 3. Redirect to review page\n // show id review page\n if (analyzeType === \"id\") {\n const payload = yield uisdk_1.pwInstance.viewIdResult();\n return this.redirectToIdSummaryPage(payload);\n }\n // show cc review page\n else if (analyzeType === \"cc\") {\n const payload = yield uisdk_1.pwInstance.viewCcResult();\n return this.redirectToCcSummaryPage(payload);\n }\n // show poa review page\n else if (analyzeType === \"poa\") {\n const payload = yield uisdk_1.pwInstance.viewPoaResult();\n return this.redirectToPoaSummaryPage(payload);\n }\n // show submission has been received\n else {\n this.clearScreen();\n const completedPage = new CompletedPage_1.default(this.mainScreenId, this.displayMode);\n return completedPage.render();\n }\n }\n catch (err) {\n console.error(err);\n const maxAttemptErrors = [\n \"openApi/max-session-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/session-id-expired\",\n \"attempt-exceeded\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\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-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n ];\n // 1. when exceed max attempt, redirect to submission error page\n if (err.type && maxAttemptErrors.includes(err.type)) {\n return this.redirectToSubmissionLimitPage();\n }\n // 2. when view ekyc result fail due to doc upload not verified, pop up error dialog\n else if (err.type && invalidDocErrors.includes(err.type)) {\n return this.openErrorDialog();\n }\n // 3. redirect to unexpected error page\n this.clearScreen();\n this.openErrorPage();\n }\n });\n }\n redirectToCcSummaryPage(payload) {\n const { result } = payload;\n this.clearScreen();\n const summaryCc = new SummaryCc_1.default(this.mainScreenId, this.displayMode);\n summaryCc.render(result);\n }\n redirectToIdSummaryPage(payload) {\n const { id_type, result, filepaths } = payload;\n this.clearScreen();\n const summaryId = new SummaryId_1.default(this.mainScreenId, this.displayMode);\n summaryId.render({\n id_type,\n result,\n filepaths,\n });\n }\n redirectToPoaSummaryPage(payload) {\n const { result, filepaths } = payload;\n this.clearScreen();\n const summaryPoa = new SummaryPoa_1.default(this.mainScreenId, this.displayMode);\n summaryPoa.render({\n result,\n filepaths,\n });\n }\n redirectToSubmissionLimitPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n submissionLimit.render();\n }\n openErrorDialog(isRetriable) {\n const errorDialog = new baseDialog_1.default();\n const cb = () => {\n // redirect submision limit page\n if (!isRetriable)\n return this.redirectToSubmissionLimitPage();\n // redirect to first screen\n this.clearScreen();\n (0, stepper_1.resetMainStep)();\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode);\n firstPage.render();\n };\n errorDialog.render(this.mainScreenId, \"Unable to verify your documents. Please check your documents and resubmit again.\", \"Retake\", cb);\n }\n}\nexports[\"default\"] = AnalyzePage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/AnalyzePage.ts?");
|
|
3839
|
+
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 uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst LoadingPage_1 = __importDefault(__webpack_require__(/*! ./LoadingPage */ \"./src/pageClass/LoadingPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ./StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst CompletedPage_1 = __importDefault(__webpack_require__(/*! ./CompletedPage */ \"./src/pageClass/CompletedPage.ts\"));\nconst Summary_1 = __importDefault(__webpack_require__(/*! ./Summary */ \"./src/pageClass/Summary.ts\"));\n// components\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nclass AnalyzePage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(analyzeType = \"id\") {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n this.clearScreen();\n // 1. show loading screen\n const loadingPage = new LoadingPage_1.default(this.mainScreenId, this.displayMode);\n loadingPage.render((0, translations_1.$t)(\"analyze_title\"), (0, translations_1.$t)(\"analyze_desc\"), true);\n // 2. get ekyc result\n // wait some time to call API\n yield new Promise((resolve) => setTimeout(resolve, 2000));\n // 3. Redirect to review page\n // show id review page\n if (analyzeType === \"id\") {\n const payload = yield uisdk_1.pwInstance.viewIdResult();\n if ((_a = payload.filepaths) === null || _a === void 0 ? void 0 : _a.front_doc_key) {\n (0, imagesHelper_1.setFrontImg)({ croppedImage: payload.filepaths.front_doc_key });\n }\n if ((_b = payload.filepaths) === null || _b === void 0 ? void 0 : _b.back_doc_key) {\n (0, imagesHelper_1.setBackImg)({ croppedImage: payload.filepaths.back_doc_key });\n }\n return this.redirectToIdSummaryPage(payload);\n }\n // show cc review page\n else if (analyzeType === \"cc\") {\n const payload = yield uisdk_1.pwInstance.viewCcResult();\n if ((_c = payload.filepaths) === null || _c === void 0 ? void 0 : _c.front_doc_key) {\n (0, imagesHelper_1.setFrontImg)({ croppedImage: payload.filepaths.front_doc_key });\n }\n if ((_d = payload.filepaths) === null || _d === void 0 ? void 0 : _d.back_doc_key) {\n (0, imagesHelper_1.setBackImg)({ croppedImage: payload.filepaths.back_doc_key });\n }\n return this.redirectToCcSummaryPage(payload);\n }\n // show poa review page\n else if (analyzeType === \"poa\") {\n const payload = yield uisdk_1.pwInstance.viewPoaResult();\n return this.redirectToPoaSummaryPage(payload);\n }\n // show submission has been received\n else {\n this.clearScreen();\n const completedPage = new CompletedPage_1.default(this.mainScreenId, this.displayMode);\n return completedPage.render();\n }\n }\n catch (err) {\n console.error(err);\n const maxAttemptErrors = [\n \"openApi/max-session-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/session-id-expired\",\n \"attempt-exceeded\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\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-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n ];\n // 1. when exceed max attempt, redirect to submission error page\n if (err.type && maxAttemptErrors.includes(err.type)) {\n return this.redirectToSubmissionLimitPage();\n }\n // 2. when view ekyc result fail due to doc upload not verified, pop up error dialog\n else if (err.type && invalidDocErrors.includes(err.type)) {\n return this.openErrorDialog();\n }\n // 3. redirect to unexpected error page\n this.clearScreen();\n this.openErrorPage(err);\n }\n });\n }\n redirectToCcSummaryPage(payload) {\n var _a, _b, _c, _d, _e;\n const { result, is_retriable, is_expired } = payload;\n this.clearScreen();\n // images\n let images = [];\n if ((_a = payload === null || payload === void 0 ? void 0 : payload.filepaths) === null || _a === void 0 ? void 0 : _a.front_doc_key) {\n images.push({\n innerHTML: ((_b = payload === null || payload === void 0 ? void 0 : payload.filepaths) === null || _b === void 0 ? void 0 : _b.back_doc_key)\n ? (0, translations_1.$t)(\"img_label_first\")\n : \"\",\n alt: \"Image1\",\n src: (_c = payload === null || payload === void 0 ? void 0 : payload.filepaths) === null || _c === void 0 ? void 0 : _c.front_doc_key,\n });\n }\n if ((_d = payload === null || payload === void 0 ? void 0 : payload.filepaths) === null || _d === void 0 ? void 0 : _d.back_doc_key) {\n images.push({\n innerHTML: (0, translations_1.$t)(\"img_label_second\"),\n alt: \"Image2\",\n src: (_e = payload === null || payload === void 0 ? void 0 : payload.filepaths) === null || _e === void 0 ? void 0 : _e.back_doc_key,\n });\n }\n const summaryCc = new Summary_1.default(this.mainScreenId, this.displayMode);\n summaryCc.render({\n type: verification_1.VERIFICATION_TYPE.CREDIT_CARD,\n result,\n images,\n status: {\n expired: is_expired,\n retriable: is_retriable,\n },\n });\n }\n redirectToIdSummaryPage(payload) {\n const { id_type, result, filepaths } = payload;\n let images = [];\n if (filepaths === null || filepaths === void 0 ? void 0 : filepaths.front_doc_key) {\n images.push({\n innerHTML: (0, translations_1.$t)(\"img_label_front\"),\n alt: \"Front Image\",\n src: filepaths.front_doc_key,\n });\n }\n if (filepaths === null || filepaths === void 0 ? void 0 : filepaths.back_doc_key) {\n images.push({\n innerHTML: (0, translations_1.$t)(\"img_label_back\"),\n alt: \"Back Image\",\n src: filepaths.back_doc_key,\n });\n }\n this.clearScreen();\n const summaryId = new Summary_1.default(this.mainScreenId, this.displayMode);\n summaryId.render({\n type: verification_1.VERIFICATION_TYPE.IDENTITY_DOC,\n id_type,\n result,\n images,\n });\n }\n redirectToPoaSummaryPage(payload) {\n const { result, filepaths } = payload;\n let images = [];\n if (filepaths && filepaths.length) {\n images = filepaths.map((filepath) => {\n return { src: filepath, alt: \"Image\" };\n });\n }\n this.clearScreen();\n const summaryPoa = new Summary_1.default(this.mainScreenId, this.displayMode);\n summaryPoa.render({\n type: verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS,\n result,\n images,\n });\n }\n redirectToSubmissionLimitPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n submissionLimit.render();\n }\n openErrorDialog(isRetriable) {\n const errorDialog = new baseDialog_1.default();\n const cb = () => {\n // redirect submision limit page\n if (!isRetriable)\n return this.redirectToSubmissionLimitPage();\n // redirect to first screen\n this.clearScreen();\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode);\n firstPage.render();\n };\n errorDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_analyze\"), (0, translations_1.$t)(\"btn_retake\"), cb);\n }\n}\nexports[\"default\"] = AnalyzePage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/AnalyzePage.ts?");
|
|
3840
3840
|
|
|
3841
3841
|
/***/ }),
|
|
3842
3842
|
|
|
@@ -3847,7 +3847,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3847
3847
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3848
3848
|
|
|
3849
3849
|
"use strict";
|
|
3850
|
-
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 components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst card_masking_1 = __importDefault(__webpack_require__(/*! ../plugins/card-masking */ \"./src/plugins/card-masking.ts\"));\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\nclass CardMasking extends MainPage_1.default {\n constructor(mainScreenId, displayMode, canvasSize = {}) {\n super(mainScreenId, displayMode);\n // element ids\n this.cardMaskingPageId = \"pw-masking-page-container\";\n this.cardMaskingContentId = \"pw-masking-content-container\";\n this.tabsId = \"pw-tabs-id\";\n // masked image details\n this.canvasSize = {}; // img size\n this.images = [];\n this.cardMaskingPlugins = [];\n // selected tabs\n this.selectedTab = 0;\n this.constructButton = (iconName, handler, isHidden = false) => {\n const button = document.createElement(\"div\");\n button.style.border = \"1px solid #FFFFFF\";\n button.style.borderRadius = \"50%\";\n button.classList.add(\"pw-p-2\");\n if (isHidden)\n button.classList.add(\"pw-hidden\");\n button.appendChild((0, getGoogleIcon_1.getGoogleIcon)(iconName));\n button.addEventListener(\"click\", handler);\n return button;\n };\n this.canvasSize = canvasSize;\n // declaration: get the image details from share variables\n const backImg = (0, imagesHelper_1.getBackImg)();\n const frontImg = (0, imagesHelper_1.getFrontImg)();\n this.images =\n backImg && (backImg === null || backImg === void 0 ? void 0 : backImg.croppedImage) ? [frontImg, backImg] : [frontImg];\n }\n render(backBtnCb) {\n return __awaiter(this, void 0, void 0, function* () {\n // div page\n const pageDiv = document.createElement(\"div\");\n pageDiv.setAttribute(\"id\", this.cardMaskingPageId);\n pageDiv.classList.add(\"camera-bg\", \"pw-overflow-y-hidden\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n // 1. header section\n const header = document.createElement(\"div\");\n header.classList.add(\"pw-z-[2]\", \"pw-text-white\");\n // back button in header\n const navigationDiv = new navigationBar_1.default().render(() => {\n this.close();\n if (backBtnCb)\n backBtnCb();\n });\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // title in the header\n titleDiv.innerHTML = \"Hide your info\";\n header.appendChild(titleDiv);\n // title's desc in the header\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.innerHTML =\n \"Cover the middle digits (Showing only first 6 and last 4 digits.) and CVV.\";\n header.appendChild(descriptionDiv);\n // append header section into page\n pageDiv.appendChild(header);\n // 2. body section\n const body = document.createElement(\"div\");\n body.classList.add(\"pw-overflow-auto\");\n // image masking area\n const maskingBody = document.createElement(\"div\");\n maskingBody.setAttribute(\"id\", this.cardMaskingContentId);\n body.appendChild(maskingBody);\n // switch masking area tabs\n const cardSlides = this.createCardSlides(this.images.length);\n body.appendChild(cardSlides);\n // delete / add button for masked area\n const iconContainerDiv = this.createAddDeleteBtn(pageDiv);\n body.appendChild(iconContainerDiv);\n // append body section into page\n pageDiv.appendChild(body);\n // 3. footer section\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-flew\", \"pw-flex-col\", \"pw-p-5\");\n // done button\n const doneBtn = (0, components_1.createPrimaryButton)(\"Done\");\n doneBtn.classList.add(\"pw-mb-5\");\n doneBtn.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n const downloadedImages = [];\n for (let i = 0; i < this.cardMaskingPlugins.length; i++) {\n const croppedImage = yield this.cardMaskingPlugins[i].downloadImage();\n const fullImage = yield this.cardMaskingPlugins[i].downloadImage(this.images[i].fullImage);\n const imagePayload = {\n fullImage,\n croppedImage,\n };\n downloadedImages.push(imagePayload);\n }\n this.images = downloadedImages;\n (0, imagesHelper_1.setFrontImg)(downloadedImages[0]);\n if (downloadedImages[1])\n (0, imagesHelper_1.setBackImg)(downloadedImages[1]);\n // redirect to loading page\n const analyzeCc = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n return analyzeCc.render(\"cc\");\n }));\n footerDiv.appendChild(doneBtn);\n // powered by\n const poweredBy = new footer_1.default().render();\n footerDiv.appendChild(poweredBy);\n // append footer section into page\n pageDiv.appendChild(footerDiv);\n // apply all div into page\n const mainBody = document.getElementById(this.mainScreenId);\n if (!mainBody)\n return;\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(pageDiv);\n // append the masking image and function\n // (need to assign after body has append into the page)\n for (let i = 0; i < this.images.length; i++) {\n yield this.createMaskingSection(maskingBody, this.images.length, i);\n }\n // select the first tab\n this.updateSelectedCardSlide(0);\n });\n }\n createMaskingSection(mainBody, total, index = 0) {\n return __awaiter(this, void 0, void 0, function* () {\n // create masking section\n const body = document.createElement(\"div\");\n body.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-items-center\");\n // 1. header\n const header = document.createElement(\"div\");\n header.classList.add(\"pw-flex\", \"pw-items-center\", \"pw-gap-x-1\", \"pw-pb-[16px]\", \"pw-text-white\", \"pw-text-xs\");\n // back button\n if (index > 0) {\n const backArrow = (0, getGoogleIcon_1.getGoogleIcon)(\"arrow_back_ios\");\n backArrow.classList.add(\"pw-cursor-pointer\");\n backArrow.style.fontSize = \"12px\";\n backArrow.addEventListener(\"click\", () => {\n this.updateSelectedCardSlide(index - 1);\n });\n header.append(backArrow);\n }\n // title\n const title = document.createElement(\"div\");\n title.innerHTML = `Capture ${index + 1}`;\n header.append(title);\n // next button\n if (index < total - 1) {\n const nextArrow = (0, getGoogleIcon_1.getGoogleIcon)(\"arrow_forward_ios\");\n nextArrow.classList.add(\"pw-cursor-pointer\", \"pw-text-xs\");\n nextArrow.addEventListener(\"click\", () => {\n this.updateSelectedCardSlide(index + 1);\n });\n header.append(nextArrow);\n }\n body.append(header);\n // 2. image\n const imageContainer = document.createElement(\"div\");\n // create canvas\n const canvasElement = document.createElement(\"canvas\");\n const ctx = canvasElement.getContext(\"2d\");\n canvasElement.style.setProperty(\"border-radius\", \"15px\");\n canvasElement.width = this.canvasSize.width || 0;\n canvasElement.height = this.canvasSize.height || 0;\n // create image\n const img = new Image();\n img.src = this.images[index].croppedImage || \"\";\n // load image\n yield new Promise(function (resolve) {\n img.onload = () => {\n ctx.drawImage(img, 0, 0, canvasElement.width, canvasElement.height);\n resolve();\n };\n img.onerror = () => {\n resolve();\n };\n });\n imageContainer.appendChild(canvasElement);\n body.appendChild(imageContainer);\n // append body into main body\n mainBody.append(body);\n // init plugin\n // create masking plugin\n const cardMaskingPlugin = new card_masking_1.default(this.cardMaskingPageId);\n this.cardMaskingPlugins.splice(index, 0, cardMaskingPlugin);\n this.cardMaskingPlugins[index].initCard(canvasElement, img, this.images[index].masked_coordinates);\n });\n }\n updateSelectedCardSlide(selected = 0) {\n const tabsDiv = document.getElementById(this.tabsId);\n // update tab\n if (tabsDiv) {\n const selectedTabClass = [\"pw-border-primary\", \"pw-bg-primary\"];\n const nonSelectedTabClass = [\"pw-border-white\", \"pw-bg-white\"];\n for (let i = 0; i < tabsDiv.children.length; i++) {\n const elClassList = tabsDiv.children[i].classList;\n if (i === selected) {\n elClassList.add(...selectedTabClass);\n elClassList.remove(...nonSelectedTabClass);\n }\n else {\n elClassList.remove(...selectedTabClass);\n elClassList.add(...nonSelectedTabClass);\n }\n }\n }\n // update image\n const maskingContent = document.getElementById(this.cardMaskingContentId);\n if (maskingContent) {\n for (let i = 0; i < maskingContent.children.length; i++) {\n const elClassList = maskingContent.children[i].classList;\n if (i === selected)\n elClassList.remove(\"pw-hidden\");\n else\n elClassList.add(\"pw-hidden\");\n }\n }\n // reset btn\n this.cardMaskingPlugins[selected].resetSelectedArea();\n this.selectedTab = selected;\n }\n createCardSlides(total) {\n const tabsDiv = document.createElement(\"div\");\n tabsDiv.id = this.tabsId;\n tabsDiv.classList.add(\"pw-flex\", \"pw-justify-center\", \"pw-gap-x-1\", \"pw-mt-4\");\n for (let i = 0; i < total; i++) {\n const tabDiv = document.createElement(\"div\");\n tabDiv.classList.add(\"pw-box-border\", \"pw-text-center\", \"pw-border-solid\", \"pw-relative\", \"pw-rounded-full\", \"pw-text-grey-6\", \"pw-cursor-pointer\", \"pw-w-[25px]\", \"pw-h-[5px]\");\n tabDiv.addEventListener(\"click\", () => {\n this.updateSelectedCardSlide(i);\n });\n tabsDiv.appendChild(tabDiv);\n }\n return tabsDiv;\n }\n createAddDeleteBtn(mainBody) {\n const iconContainerDiv = document.createElement(\"div\");\n iconContainerDiv.classList.add(\"pw-flex\", \"pw-items-center\", \"pw-justify-center\", \"pw-pt-8\");\n const btnHandler = () => {\n var _a;\n (_a = this.cardMaskingPlugins[this.selectedTab]) === null || _a === void 0 ? void 0 : _a.createRectangle();\n };\n // add btn\n const addButton = this.constructButton(\"add\", btnHandler);\n iconContainerDiv.appendChild(addButton);\n // delete btn\n const deleteButton = this.constructButton(\"delete\", btnHandler, true);\n iconContainerDiv.appendChild(deleteButton);\n mainBody.addEventListener(\"updateSelectedArea\", (event) => {\n const customEvent = event;\n const selectedMaskedArea = customEvent.detail.val;\n if (selectedMaskedArea < 0) {\n addButton.classList.remove(\"pw-hidden\");\n deleteButton.classList.add(\"pw-hidden\");\n }\n else {\n addButton.classList.add(\"pw-hidden\");\n deleteButton.classList.remove(\"pw-hidden\");\n }\n });\n return iconContainerDiv;\n }\n close() {\n const maskingDiv = document.getElementById(this.cardMaskingPageId);\n maskingDiv === null || maskingDiv === void 0 ? void 0 : maskingDiv.remove();\n }\n}\nexports[\"default\"] = CardMasking;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/CardMasking.ts?");
|
|
3850
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst card_masking_1 = __importDefault(__webpack_require__(/*! ../plugins/card-masking */ \"./src/plugins/card-masking.ts\"));\nclass CardMasking extends MainPage_1.default {\n constructor(mainScreenId, displayMode, image) {\n super(mainScreenId, displayMode);\n // element id\n this.cardMaskingPageId = \"pw-masking-page-container\";\n // masked image details\n this.image = {};\n this.cardMaskingPlugin = undefined;\n this.constructButton = (iconName, handler, isHidden = false) => {\n const button = document.createElement(\"div\");\n button.style.border = \"1px solid #FFFFFF\";\n button.style.borderRadius = \"50%\";\n button.classList.add(\"pw-p-2\");\n if (isHidden)\n button.classList.add(\"pw-hidden\");\n button.appendChild((0, getGoogleIcon_1.getGoogleIcon)(iconName));\n button.addEventListener(\"click\", handler);\n return button;\n };\n this.image = image;\n }\n render(canvasSize = {}, completeBtnCb, backBtnCb) {\n return __awaiter(this, void 0, void 0, function* () {\n // div page\n const pageDiv = document.createElement(\"div\");\n pageDiv.setAttribute(\"id\", this.cardMaskingPageId);\n pageDiv.classList.add(\"camera-bg\", \"pw-overflow-y-hidden\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n // 1. header section\n const header = document.createElement(\"div\");\n header.classList.add(\"pw-z-[2]\", \"pw-text-white\");\n // back button in header\n const navigationDiv = new navigationBar_1.default().render(() => __awaiter(this, void 0, void 0, function* () {\n this.close();\n if (backBtnCb)\n backBtnCb(); // resume video\n }));\n header.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-text-center\", \"pw-mb-4\", \"pw-px-5\");\n // title in the header\n titleDiv.innerHTML = (0, translations_1.$t)(\"card_masking_title\");\n header.appendChild(titleDiv);\n // title's desc in the header\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-px-5\");\n descriptionDiv.innerHTML = (0, translations_1.$t)(\"card_masking_desc\");\n header.appendChild(descriptionDiv);\n // append header section into page\n pageDiv.appendChild(header);\n // 2. body section\n const body = document.createElement(\"div\");\n body.classList.add(\"pw-overflow-auto\");\n // image masking area\n const maskingBody = document.createElement(\"div\");\n body.appendChild(maskingBody);\n // delete / add button for masked area\n const iconContainerDiv = this.createAddDeleteBtn(pageDiv);\n body.appendChild(iconContainerDiv);\n // append body section into page\n pageDiv.appendChild(body);\n // 3. footer section\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-flew\", \"pw-flex-col\", \"pw-p-5\");\n // done button\n const doneBtn = (0, components_1.createPrimaryButton)((0, translations_1.$t)(\"btn_done\"));\n doneBtn.classList.add(\"pw-mb-5\");\n doneBtn.addEventListener(\"click\", () => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const croppedImage = yield ((_a = this.cardMaskingPlugin) === null || _a === void 0 ? void 0 : _a.downloadImage());\n const fullImage = yield ((_b = this.cardMaskingPlugin) === null || _b === void 0 ? void 0 : _b.downloadImage(this.image.fullImage));\n const maskedImage = {\n fullImage,\n croppedImage,\n };\n if (completeBtnCb)\n yield completeBtnCb(maskedImage, this.close);\n }));\n footerDiv.appendChild(doneBtn);\n // powered by\n const poweredBy = new footer_1.default().render();\n footerDiv.appendChild(poweredBy);\n // append footer section into page\n pageDiv.appendChild(footerDiv);\n // apply all div into page\n const mainBody = document.getElementById(this.mainScreenId);\n if (!mainBody)\n return;\n mainBody === null || mainBody === void 0 ? void 0 : mainBody.appendChild(pageDiv);\n // append the masking image and function\n // (need to assign after body has append into the page)\n yield this.createMaskingSection(maskingBody, canvasSize);\n });\n }\n createMaskingSection(mainBody, canvasSize = {}) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n // create masking section\n const body = document.createElement(\"div\");\n body.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-items-center\");\n const imageContainer = document.createElement(\"div\");\n // create canvas\n const canvasElement = document.createElement(\"canvas\");\n const ctx = canvasElement.getContext(\"2d\");\n canvasElement.style.setProperty(\"border-radius\", \"15px\");\n canvasElement.width = canvasSize.width || 0;\n canvasElement.height = canvasSize.height || 0;\n // create image\n const img = new Image();\n img.src = this.image.croppedImage || \"\";\n // load image\n yield new Promise(function (resolve) {\n img.onload = () => {\n ctx.drawImage(img, 0, 0, canvasElement.width, canvasElement.height);\n resolve();\n };\n img.onerror = () => {\n resolve();\n };\n });\n imageContainer.appendChild(canvasElement);\n body.appendChild(imageContainer);\n // append body into main body\n mainBody.append(body);\n // init plugin\n // create masking plugin\n this.cardMaskingPlugin = new card_masking_1.default(this.cardMaskingPageId);\n this.cardMaskingPlugin.initCard(canvasElement, img);\n // create rectangle\n (_a = this.cardMaskingPlugin) === null || _a === void 0 ? void 0 : _a.createRectangle();\n });\n }\n createAddDeleteBtn(mainBody) {\n const iconContainerDiv = document.createElement(\"div\");\n iconContainerDiv.classList.add(\"pw-flex\", \"pw-items-center\", \"pw-justify-center\", \"pw-pt-8\");\n // add btn\n const addButton = this.constructButton(\"add\", () => {\n var _a;\n (_a = this.cardMaskingPlugin) === null || _a === void 0 ? void 0 : _a.createRectangle();\n });\n iconContainerDiv.appendChild(addButton);\n // delete btn\n const deleteButton = this.constructButton(\"delete\", () => {\n var _a;\n (_a = this.cardMaskingPlugin) === null || _a === void 0 ? void 0 : _a.removeRectangle();\n }, true);\n iconContainerDiv.appendChild(deleteButton);\n mainBody.addEventListener(\"updateSelectedArea\", (event) => {\n const customEvent = event;\n const selectedMaskedArea = customEvent.detail.val;\n if (selectedMaskedArea < 0) {\n addButton.classList.remove(\"pw-hidden\");\n deleteButton.classList.add(\"pw-hidden\");\n }\n else {\n addButton.classList.add(\"pw-hidden\");\n deleteButton.classList.remove(\"pw-hidden\");\n }\n });\n return iconContainerDiv;\n }\n close() {\n const maskingDiv = document.getElementById(\"pw-masking-page-container\");\n maskingDiv === null || maskingDiv === void 0 ? void 0 : maskingDiv.remove();\n }\n}\nexports[\"default\"] = CardMasking;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/CardMasking.ts?");
|
|
3851
3851
|
|
|
3852
3852
|
/***/ }),
|
|
3853
3853
|
|
|
@@ -3858,7 +3858,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3858
3858
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3859
3859
|
|
|
3860
3860
|
"use strict";
|
|
3861
|
-
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 }));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\n// assets\nconst circle_check_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/circle_check.svg */ \"./src/assets/icon/circle_check.svg\"));\nclass CompletedPage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage();\n this.renderContent(element);\n });\n }\n
|
|
3861
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\n// assets\nconst circle_check_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/circle_check.svg */ \"./src/assets/icon/circle_check.svg\"));\nclass CompletedPage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render() {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage();\n this.renderContent(element);\n });\n }\n createContentHeader() {\n const headerDiv = document.createElement(\"div\");\n headerDiv.classList.add(\"pw-p-5\");\n // icon\n const iconDiv = document.createElement(\"div\");\n iconDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n const iconImg = document.createElement(\"img\");\n iconImg.setAttribute(\"src\", circle_check_svg_1.default);\n iconDiv.appendChild(iconImg);\n headerDiv.appendChild(iconDiv);\n // title\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-3\");\n titleDiv.innerHTML = (0, translations_1.$t)(\"submission_received\");\n wordingDiv.appendChild(titleDiv);\n headerDiv.appendChild(wordingDiv);\n // description\n let countdownTimer = 5;\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n descriptionDiv.innerHTML = (0, translations_1.$t)(\"count_down_message\", {\n seconds: countdownTimer,\n });\n wordingDiv.appendChild(descriptionDiv);\n headerDiv.appendChild(wordingDiv);\n // Update the seconds every second\n this.intervalId = setInterval(() => {\n countdownTimer--;\n descriptionDiv.innerHTML = (0, translations_1.$t)(\"count_down_message\", {\n seconds: countdownTimer,\n });\n // Stop the interval when the counter reaches 0\n if (countdownTimer <= 0) {\n clearInterval(this.intervalId);\n this.onSuccessEkyc();\n }\n }, 1000);\n return headerDiv;\n }\n createPage() {\n return __awaiter(this, void 0, void 0, function* () {\n const completedPageDiv = document.createElement(\"div\");\n completedPageDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n // content\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-overflow-auto\");\n const contentDetailsDiv = this.createContentHeader();\n contentDetailsDiv.style.paddingTop = \"25%\";\n contentDiv.appendChild(contentDetailsDiv);\n completedPageDiv.appendChild(contentDiv);\n // footer\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-p-5\", \"pw-shadow-footer-shadow\");\n const confirmButton = (0, components_1.createPrimaryButton)((0, translations_1.$t)(\"back_to_merchant\"));\n confirmButton.classList.add(\"pw-mb-3\");\n confirmButton.addEventListener(\"click\", () => {\n if (this.intervalId)\n clearInterval(this.intervalId);\n this.onSuccessEkyc();\n });\n footerDiv.appendChild(confirmButton);\n const footer = new footer_1.default();\n const footerPw = footer.render();\n footerPw.classList.add(\"pw-text-grey-6\");\n footerDiv.appendChild(footerPw);\n completedPageDiv.appendChild(footerDiv);\n return completedPageDiv;\n });\n }\n}\nexports[\"default\"] = CompletedPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/CompletedPage.ts?");
|
|
3862
3862
|
|
|
3863
3863
|
/***/ }),
|
|
3864
3864
|
|
|
@@ -3880,7 +3880,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3880
3880
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3881
3881
|
|
|
3882
3882
|
"use strict";
|
|
3883
|
-
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst StartSelfie_1 = __importDefault(__webpack_require__(/*! ./StartSelfie */ \"./src/pageClass/StartSelfie.ts\"));\nconst stepper_2 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst VerifyCc_1 = __importDefault(__webpack_require__(/*! ./VerifyCc */ \"./src/pageClass/VerifyCc.ts\"));\nconst VerifyId_1 = __importDefault(__webpack_require__(/*! ./VerifyId */ \"./src/pageClass/VerifyId.ts\"));\nconst VerifyPoa_1 = __importDefault(__webpack_require__(/*! ./VerifyPoa */ \"./src/pageClass/VerifyPoa.ts\"));\nclass StartPage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.verificationTypeMap = {\n [verification_1.VERIFICATION_TYPE.IDENTITY_DOC]: {\n title: \"
|
|
3883
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst StartSelfie_1 = __importDefault(__webpack_require__(/*! ./StartSelfie */ \"./src/pageClass/StartSelfie.ts\"));\nconst stepper_2 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst VerifyCc_1 = __importDefault(__webpack_require__(/*! ./VerifyCc */ \"./src/pageClass/VerifyCc.ts\"));\nconst VerifyId_1 = __importDefault(__webpack_require__(/*! ./VerifyId */ \"./src/pageClass/VerifyId.ts\"));\nconst VerifyPoa_1 = __importDefault(__webpack_require__(/*! ./VerifyPoa */ \"./src/pageClass/VerifyPoa.ts\"));\nclass StartPage extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.verificationTypeMap = {\n [verification_1.VERIFICATION_TYPE.IDENTITY_DOC]: {\n title: (0, translations_1.$t)(\"national_identity_document_title\"),\n description: (0, translations_1.$t)(\"national_identity_document_desc\"),\n icon: __webpack_require__(/*! ../assets/img/firstPageVerificationIcon/id-card.webp */ \"./src/assets/img/firstPageVerificationIcon/id-card.webp\"),\n },\n [verification_1.VERIFICATION_TYPE.SELFIE]: {\n title: (0, translations_1.$t)(\"selfie_title\"),\n description: (0, translations_1.$t)(\"selfie_desc\"),\n icon: __webpack_require__(/*! ../assets/img/firstPageVerificationIcon/selfie.webp */ \"./src/assets/img/firstPageVerificationIcon/selfie.webp\"),\n },\n [verification_1.VERIFICATION_TYPE.CREDIT_CARD]: {\n title: (0, translations_1.$t)(\"cc_title\"),\n description: (0, translations_1.$t)(\"cc_desc\"),\n icon: __webpack_require__(/*! ../assets/img/firstPageVerificationIcon/credit-card.webp */ \"./src/assets/img/firstPageVerificationIcon/credit-card.webp\"),\n },\n [verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS]: {\n title: (0, translations_1.$t)(\"poa_title\"),\n description: (0, translations_1.$t)(\"poa_desc\"),\n icon: __webpack_require__(/*! ../assets/img/firstPageVerificationIcon/poa.webp */ \"./src/assets/img/firstPageVerificationIcon/poa.webp\"),\n },\n };\n }\n render(isReset = true) {\n if (isReset)\n (0, stepper_1.resetMainStep)();\n this.renderContent(this.createPage());\n }\n createPage() {\n const verificationType = uisdk_1.pwInstance.verificationTypes[stepper_1.mainStep];\n (0, stepper_1.incrementStep)();\n const { title, description, icon: vIcon, } = this.verificationTypeMap[verificationType];\n const firstPageDiv = document.createElement(\"div\");\n firstPageDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-h-full\");\n const contentDiv = document.createElement(\"div\");\n firstPageDiv.appendChild(contentDiv);\n // navigation\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-16\");\n // - stepper\n const stepperNum = (0, stepper_1.getStepByType)(verificationType);\n if (stepperNum > 1) {\n const startingNum = verificationType === verification_1.VERIFICATION_TYPE.SELFIE ? 3 : 1;\n const stepper = new stepper_2.default();\n const stepperElement = stepper.render(startingNum, stepperNum);\n navigationDiv.classList.add(\"pw-pt-3\");\n navigationDiv.appendChild(stepperElement);\n }\n // - close btn\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.openLeavePageDialog());\n navigationDiv.appendChild(closeButton);\n contentDiv.appendChild(navigationDiv);\n // body content\n // - image\n const iconContainerDiv = document.createElement(\"div\");\n iconContainerDiv.classList.add(\"pw-flex\", \"pw-justify-center\", \"pw-mb-9\");\n const iconDiv = document.createElement(\"div\");\n iconDiv.style.boxShadow = \"0px -10px 15px 0px #0000001A\";\n iconDiv.style.borderRadius = \"20px 20px 0px 0px\";\n iconDiv.classList.add(\"pw-text-center\", \"pw-px-9\", \"pw-pt-9\", \"pw-pb-3\");\n const icon = document.createElement(\"img\");\n icon.setAttribute(\"src\", vIcon);\n icon.setAttribute(\"alt\", \"eKYC Verification\");\n iconDiv.appendChild(icon);\n iconContainerDiv.appendChild(iconDiv);\n contentDiv.appendChild(iconContainerDiv);\n // - header description\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 = title;\n wordingDiv.appendChild(titleDiv);\n // - description\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.innerHTML = description;\n wordingDiv.appendChild(descriptionDiv);\n contentDiv.appendChild(wordingDiv);\n // footer\n const footerDiv = document.createElement(\"div\");\n // - button\n const startNowButton = (0, components_1.createPrimaryButton)((0, translations_1.$t)(\"btn_start_now\"));\n startNowButton.classList.add(\"pw-mb-5\");\n startNowButton.addEventListener(\"click\", () => this.onStartNow(verificationType));\n footerDiv.appendChild(startNowButton);\n firstPageDiv.appendChild(footerDiv);\n // - powered by\n const footer = new footer_1.default().render();\n footerDiv.appendChild(footer);\n return firstPageDiv;\n }\n onStartNow(verificationType) {\n switch (verificationType) {\n case verification_1.VERIFICATION_TYPE.IDENTITY_DOC: {\n this.clearScreen();\n const verifyId = new VerifyId_1.default(this.mainScreenId, this.displayMode);\n verifyId.render();\n break;\n }\n case verification_1.VERIFICATION_TYPE.SELFIE: {\n const startSelfie = new StartSelfie_1.default(this.mainScreenId, this.displayMode);\n startSelfie.render();\n break;\n }\n case verification_1.VERIFICATION_TYPE.CREDIT_CARD: {\n const verifyCc = new VerifyCc_1.default(this.mainScreenId, this.displayMode);\n verifyCc.render();\n break;\n }\n case verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS: {\n this.clearScreen();\n const verifyPoa = new VerifyPoa_1.default(this.mainScreenId, this.displayMode);\n verifyPoa.render();\n }\n }\n }\n}\nexports[\"default\"] = StartPage;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/StartPage.ts?");
|
|
3884
3884
|
|
|
3885
3885
|
/***/ }),
|
|
3886
3886
|
|
|
@@ -3891,7 +3891,7 @@ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3891
3891
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3892
3892
|
|
|
3893
3893
|
"use strict";
|
|
3894
|
-
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\");\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.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 // create div\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 // start camera init\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 // redirect to loading page\n const analyzePage = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n return analyzePage.render();\n }\n catch (err) {\n // 1. when exceed max attempt, redirect to submission error 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 faceCamera.stopVideoStream();\n this.redirectToSubmissionLimitPage();\n return;\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 this.openImageBlurDialog(isRetake, faceCamera);\n return;\n }\n // 3. redirect to unexpected error page\n else {\n faceCamera.stopVideoStream();\n this.clearScreen();\n this.openErrorPage();\n }\n }\n }));\n }\n openImageBlurDialog(isRetake, faceCamera) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId,
|
|
3894
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.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 // create div\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 // start camera init\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 // redirect to loading page\n const analyzePage = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n return analyzePage.render();\n }\n catch (err) {\n // 1. when exceed max attempt, redirect to submission error 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 faceCamera.stopVideoStream();\n this.redirectToSubmissionLimitPage();\n return;\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 this.openImageBlurDialog(isRetake, faceCamera);\n return;\n }\n // 3. redirect to unexpected error page\n else {\n faceCamera.stopVideoStream();\n this.clearScreen();\n this.openErrorPage(err);\n }\n }\n }));\n }\n openImageBlurDialog(isRetake, faceCamera) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_selfie\"), isRetake ? (0, translations_1.$t)(\"btn_retake\") : (0, translations_1.$t)(\"btn_proceed\"), () => {\n if (isRetake)\n faceCamera.resumeSmileFace();\n else\n this.redirectToSubmissionLimitPage();\n });\n }\n redirectToSubmissionLimitPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\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.croppedImage,\n selfie_base64_full: image.fullImage,\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}\nexports[\"default\"] = StartSelfie;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/StartSelfie.ts?");
|
|
3895
3895
|
|
|
3896
3896
|
/***/ }),
|
|
3897
3897
|
|
|
@@ -3902,40 +3902,18 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3902
3902
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3903
3903
|
|
|
3904
3904
|
"use strict";
|
|
3905
|
-
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\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\n// assets\nconst circle_info_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/circle_info.svg */ \"./src/assets/icon/circle_info.svg\"));\nclass SubmissionLimit extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(error) {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage(error);\n this.renderContent(element);\n });\n }\n createContentHeader(title, description) {\n const headerDiv = document.createElement(\"div\");\n headerDiv.classList.add(\"pw-p-5\");\n // icon\n const iconDiv = document.createElement(\"div\");\n iconDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n const iconImg = document.createElement(\"img\");\n iconImg.setAttribute(\"src\", circle_info_svg_1.default);\n iconDiv.appendChild(iconImg);\n headerDiv.appendChild(iconDiv);\n // title\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-3\");\n titleDiv.innerHTML = title;\n wordingDiv.appendChild(titleDiv);\n headerDiv.appendChild(wordingDiv);\n // description\n if (description) {\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n descriptionDiv.innerHTML = description;\n wordingDiv.appendChild(descriptionDiv);\n headerDiv.appendChild(wordingDiv);\n }\n return headerDiv;\n }\n createPage(error) {\n return __awaiter(this, void 0, void 0, function* () {\n const submissionLimitDiv = document.createElement(\"div\");\n submissionLimitDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n // content\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-overflow-auto\");\n const contentDetailsDiv = this.createContentHeader(\"
|
|
3906
|
-
|
|
3907
|
-
/***/ }),
|
|
3908
|
-
|
|
3909
|
-
/***/ "./src/pageClass/SummaryCc.ts":
|
|
3910
|
-
/*!************************************!*\
|
|
3911
|
-
!*** ./src/pageClass/SummaryCc.ts ***!
|
|
3912
|
-
\************************************/
|
|
3913
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3914
|
-
|
|
3915
|
-
"use strict";
|
|
3916
|
-
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 uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\n// components\nconst textInput_1 = __importDefault(__webpack_require__(/*! ../components/textInput */ \"./src/components/textInput.ts\"));\nconst cardDigitInput_1 = __importDefault(__webpack_require__(/*! ../components/cardDigitInput */ \"./src/components/cardDigitInput.ts\"));\nconst doeInput_1 = __importDefault(__webpack_require__(/*! ../components/doeInput */ \"./src/components/doeInput.ts\"));\n// constant\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst cc_1 = __webpack_require__(/*! ../constant/cc */ \"./src/constant/cc.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\n// classes\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// helpers\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst summary_1 = __webpack_require__(/*! ../helper/summary */ \"./src/helper/summary.ts\");\nclass SummaryCc extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.originResult = {};\n this.formDetail = {};\n this.MAX_LENGTHS = {\n [cc_1.CC_FORM_FIELD.fullNameField]: 160,\n };\n }\n render(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n this.originResult = payload || {};\n const element = yield this.createPage();\n this.renderContent(element);\n });\n }\n createPage() {\n return __awaiter(this, void 0, void 0, function* () {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n const pageContentDiv = document.createElement(\"div\");\n pageContentDiv.classList.add(\"pw-overflow-auto\");\n pageDiv.appendChild(pageContentDiv);\n // header\n const headerDiv = (0, summary_1.createHeader)(2, (0, stepper_1.getStepByType)(verification_1.VERIFICATION_TYPE.CREDIT_CARD), this.openLeavePageDialog.bind(this));\n pageContentDiv.appendChild(headerDiv);\n // body - header\n const headingDiv = (0, summary_1.createHeading)(\"Card details\", \"Verify your card information.\");\n pageContentDiv.appendChild(headingDiv);\n // body - content\n const body = yield this.createBody(this.originResult);\n if (body)\n pageContentDiv.appendChild(body);\n // footer\n const footerDiv = (0, summary_1.createFooter)(this.onClickSubmit.bind(this));\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n });\n }\n pushFormDetail(formDetail) {\n this.formDetail = Object.assign(this.formDetail, formDetail);\n }\n createForm(payload) {\n var _a;\n const form = document.createElement(\"form\");\n form.classList.add(\"pw-m-5\", \"pw-mb-10\");\n // full_name\n const nameField = new textInput_1.default(\"name\", cc_1.ccFormLabelMapping[cc_1.CC_FORM_FIELD.fullNameField], this.MAX_LENGTHS[cc_1.CC_FORM_FIELD.fullNameField]);\n form.appendChild(nameField.render());\n nameField.val = payload.full_name || \"\";\n this.pushFormDetail({ [cc_1.CC_FORM_FIELD.fullNameField]: nameField });\n // card no field\n const cardDigitInput = new cardDigitInput_1.default(\"cardNo\", cc_1.ccFormLabelMapping[cc_1.CC_FORM_FIELD.first6NumberField]);\n form.appendChild(cardDigitInput.render());\n cardDigitInput.val = {\n first6Value: payload.cc_number_first_6,\n last4Value: payload.cc_number_last_4,\n };\n this.pushFormDetail({ [cc_1.CC_FORM_FIELD.first6NumberField]: cardDigitInput });\n this.pushFormDetail({ [cc_1.CC_FORM_FIELD.last4NumberField]: cardDigitInput });\n // expiry date\n const expiryDateField = new doeInput_1.default(\"expiry\", cc_1.ccFormLabelMapping[cc_1.CC_FORM_FIELD.doeMonthField]);\n form.appendChild(expiryDateField.render({\n disabled: !!payload.doe_month && !!payload.doe_year,\n }));\n expiryDateField.val = {\n month: payload.doe_month,\n year: (_a = payload.doe_year) === null || _a === void 0 ? void 0 : _a.slice(-2),\n };\n this.pushFormDetail({ [cc_1.CC_FORM_FIELD.doeMonthField]: expiryDateField });\n this.pushFormDetail({ [cc_1.CC_FORM_FIELD.doeYearField]: expiryDateField });\n return form;\n }\n createBody(payload) {\n var _a;\n const bodyDiv = document.createElement(\"div\");\n const form = this.createForm(payload);\n bodyDiv.appendChild(form);\n // images\n const frontImgSrc = (0, imagesHelper_1.getFrontImg)().croppedImage;\n const backImageSrc = (0, imagesHelper_1.getBackImg)().croppedImage;\n const merchantName = ((_a = uisdk_1.pwInstance.merchantDetail) === null || _a === void 0 ? void 0 : _a.biz_name) || \"merchant\";\n const watermarkText = (0, imagesHelper_1.getWatermarkText)(merchantName);\n if (frontImgSrc || backImageSrc) {\n const images = [\n { innerHTML: \"Front\", alt: \"Front Image\", src: frontImgSrc },\n { innerHTML: \"Back\", alt: \"Back Image\", src: backImageSrc },\n ];\n const imageContainerDiv = (0, summary_1.createImageContainer)(images, watermarkText, this.openImageFullScreen.bind(this));\n bodyDiv.appendChild(imageContainerDiv);\n }\n return bodyDiv;\n }\n validateField(key, inputDetail) {\n // full name\n if (key === cc_1.CC_FORM_FIELD.fullNameField) {\n const inputVal = inputDetail.val;\n if (inputVal.length < 1) {\n inputDetail.addError();\n return false;\n }\n if (inputVal.length > this.MAX_LENGTHS[cc_1.CC_FORM_FIELD.fullNameField]) {\n inputDetail.addError(validation_1.errorMessage.maxChar(160));\n return false;\n }\n }\n // first 6 cc\n const ccErrorMessage = \"This field requires first 6 and last 4 digits.\";\n if (key === cc_1.CC_FORM_FIELD.first6NumberField) {\n const inputVal = inputDetail.val.first6Value || \"\";\n if (!inputVal || inputVal.length !== 6) {\n inputDetail.addError(ccErrorMessage);\n return false;\n }\n }\n // last 4 cc\n if (key === cc_1.CC_FORM_FIELD.last4NumberField) {\n const inputVal = inputDetail.val.last4Value || \"\";\n if (!inputVal || inputVal.length !== 4) {\n inputDetail.addError(ccErrorMessage);\n return false;\n }\n }\n // doe month\n // Check if the expiry date is today or after\n if ([cc_1.CC_FORM_FIELD.doeMonthField, cc_1.CC_FORM_FIELD.doeYearField].includes(key)) {\n const monthInputVal = inputDetail.val.month || \"\";\n const yearInputVal = inputDetail.val.year || \"\";\n if (monthInputVal.length < 1 || yearInputVal.length < 1) {\n inputDetail.addError();\n return false;\n }\n // Validate month\n const doeMonth = Number(monthInputVal);\n if (doeMonth < 1 || doeMonth > 12) {\n inputDetail.addError(validation_1.errorMessage.invalidMonth);\n return false;\n }\n // Check if the expiry date is today or after\n const currentDate = new Date();\n const doeYear = Number(new Date().getFullYear().toString().slice(0, 2) + yearInputVal);\n const expiryDate = new Date(doeYear, doeMonth - 1); // Month is 0-indexed in Date\n if (expiryDate < currentDate) {\n inputDetail.addError(validation_1.errorMessage.expiryDate);\n return false;\n }\n }\n return true;\n }\n onClickSubmit() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let hasError = false;\n // pad date of expiry\n const doeInput = this.formDetail[cc_1.CC_FORM_FIELD.doeMonthField];\n doeInput.padDoe();\n // do form validation\n for (const k in this.formDetail) {\n const key = k;\n const inputDetail = this.formDetail[key];\n const isValidated = this.validateField(key, inputDetail);\n if (!hasError)\n hasError = !isValidated;\n }\n // will show error in respective field\n if (hasError)\n return;\n // pass payload to sdk\n let reqPayload = {};\n for (const [k, value] of Object.entries(this.formDetail)) {\n const key = k;\n switch (key) {\n case \"cc_number_first_6\":\n reqPayload[key] = value.val.first6Value || \"\";\n break;\n case \"cc_number_last_4\":\n reqPayload[key] = value.val.last4Value || \"\";\n break;\n case \"doe_month\":\n reqPayload[key] = value.val.month || \"\";\n break;\n case \"doe_year\":\n reqPayload[key] =\n new Date().getFullYear().toString().slice(0, 2) +\n value.val.year || \"\";\n break;\n default:\n reqPayload[key] = value.val;\n }\n }\n let feedbackImages = {};\n const frontImgSrc = (0, imagesHelper_1.getFrontImg)();\n const backImageSrc = (0, imagesHelper_1.getBackImg)();\n if (frontImgSrc.croppedImage) {\n feedbackImages = {\n front_doc_base64: frontImgSrc.croppedImage,\n front_doc_base64_full: frontImgSrc.fullImage,\n };\n }\n if (backImageSrc.croppedImage) {\n feedbackImages = Object.assign(Object.assign({}, feedbackImages), { back_doc_base64: backImageSrc.croppedImage, back_doc_base64_full: backImageSrc.fullImage });\n }\n yield uisdk_1.pwInstance.updateCcForm(reqPayload, feedbackImages);\n // redirect to completed page / start page\n this.clearScreen();\n (0, summary_1.redirectToCompletedPage)(stepper_1.mainStep, uisdk_1.pwInstance.verificationTypes, this.mainScreenId, this.displayMode);\n }\n catch (err) {\n // redirect to interval server error page\n if (![\"PwError\", \"PwReqError\"].includes(err.name)) {\n this.openErrorPage();\n return;\n }\n const payload = err.response.data.messages;\n let fields = [];\n if (Array.isArray(payload) && payload.length > 0) {\n const params = payload[0].params;\n if (params) {\n const invalidFields = params.invalidated_fields;\n const keys = invalidFields ? Object.keys(invalidFields) : [];\n const uniqueFields = new Set();\n keys.forEach((key) => {\n const fieldLabel = cc_1.ccFormLabelMapping[key] || key;\n uniqueFields.add(fieldLabel);\n });\n fields = Array.from(uniqueFields);\n }\n }\n (0, summary_1.openFormErrorDialog)(this.mainScreenId, fields);\n }\n });\n }\n}\nexports[\"default\"] = SummaryCc;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/SummaryCc.ts?");
|
|
3917
|
-
|
|
3918
|
-
/***/ }),
|
|
3919
|
-
|
|
3920
|
-
/***/ "./src/pageClass/SummaryId.ts":
|
|
3921
|
-
/*!************************************!*\
|
|
3922
|
-
!*** ./src/pageClass/SummaryId.ts ***!
|
|
3923
|
-
\************************************/
|
|
3924
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3925
|
-
|
|
3926
|
-
"use strict";
|
|
3927
|
-
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 moment_1 = __importDefault(__webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\"));\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// helper\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst validation_1 = __webpack_require__(/*! ../helper/validation */ \"./src/helper/validation.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst summary_1 = __webpack_require__(/*! ../helper/summary */ \"./src/helper/summary.ts\");\n// constant\nconst id_1 = __webpack_require__(/*! ../constant/id */ \"./src/constant/id.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\n// components\nconst textInput_1 = __importDefault(__webpack_require__(/*! ../components/textInput */ \"./src/components/textInput.ts\"));\nconst dobInput_1 = __importDefault(__webpack_require__(/*! ../components/dobInput */ \"./src/components/dobInput.ts\"));\nconst selectDropdown_1 = __importDefault(__webpack_require__(/*! ../components/selectDropdown */ \"./src/components/selectDropdown.ts\"));\nconst textArea_1 = __importDefault(__webpack_require__(/*! ../components/textArea */ \"./src/components/textArea.ts\"));\nconst genderOptions_1 = __importDefault(__webpack_require__(/*! ../components/genderOptions */ \"./src/components/genderOptions.ts\"));\n// page\nconst CompletedPage_1 = __importDefault(__webpack_require__(/*! ./CompletedPage */ \"./src/pageClass/CompletedPage.ts\"));\n// TODO: need to enhance this:\n// should validate dob, gender... with valid type, instead of length\nconst formCharacterValidation = {\n full_name: { min: 1, max: 160 },\n given_name: { min: 1, max: 70 },\n surname: { min: 1, max: 70 },\n id_number: { min: 1, max: 40 },\n date_of_birth: { min: 1, max: 10 },\n gender: { min: 1, max: 6 },\n line1: { min: 1, max: 350 },\n city: { min: 1, max: 70 },\n state_iso: { min: 1, max: 9 },\n zip: { min: 1, max: 40 },\n country_iso2: { min: 2, max: 2 },\n};\nclass SummaryId extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.formDetail = {};\n }\n render(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage(payload);\n this.renderContent(element);\n });\n }\n updateRegionState(country) {\n return __awaiter(this, void 0, void 0, function* () {\n const state = this.formDetail.state_iso;\n if (!state)\n return;\n state.val = \"\";\n state.isLoading = true;\n const states = yield uisdk_1.pwInstance.fetchStates(country || \"\");\n const options = states.map((state) => {\n return { value: state.iso_code, label: state.name };\n });\n state.setOption(options);\n state.isLoading = false;\n });\n }\n onClickSubmit() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let hasError = false;\n for (const key in this.formDetail) {\n if (Object.prototype.hasOwnProperty.call(this.formDetail, key)) {\n const { min, max } = formCharacterValidation[key];\n const inputDetail = this.formDetail[key];\n if (inputDetail.val.length < min || inputDetail.val.length > max) {\n hasError = true;\n inputDetail.addError();\n }\n }\n }\n if (hasError)\n return; // will show error in respective field\n // pass payload to sdk\n const reqPayload = Object.entries(this.formDetail).reduce((result, [k, value]) => {\n const key = k;\n if (key === id_1.ID_FORM_FIELD.countryField) {\n result[key] = value.val;\n }\n else if (key === id_1.ID_FORM_FIELD.genderField) {\n result[key] = value.val;\n }\n else\n result[key] = value.val;\n return result;\n }, {});\n yield uisdk_1.pwInstance.updateIdForm(reqPayload);\n // redirect to submisison has been received page\n this.clearScreen();\n const completedPage = new CompletedPage_1.default(this.mainScreenId, this.displayMode);\n completedPage.render();\n }\n catch (err) {\n // redirect to interval server error page\n if (![\"PwError\", \"PwReqError\"].includes(err.name)) {\n this.openErrorPage();\n return;\n }\n const payload = err.response.data.messages;\n let fields = [];\n if (Array.isArray(payload) && payload.length > 0) {\n const params = payload[0].params;\n if (params) {\n const invalidFields = params.invalidated_fields;\n const keys = invalidFields ? Object.keys(invalidFields) : [];\n fields = keys.map((key) => {\n return id_1.idFormLabelMapping[key] || key;\n });\n }\n }\n (0, summary_1.openFormErrorDialog)(this.mainScreenId, fields);\n }\n });\n }\n pushFormDetail(formDetail) {\n this.formDetail = Object.assign(this.formDetail, formDetail);\n }\n createForm(payload) {\n var _a;\n const form = document.createElement(\"form\");\n form.classList.add(\"pw-m-5\", \"pw-mb-10\");\n // full_name, given_name, surname fields\n if ((payload === null || payload === void 0 ? void 0 : payload.full_name) !== undefined) {\n const field = new textInput_1.default(\"name\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.fullNameField], formCharacterValidation.full_name.max);\n form.appendChild(field.render());\n field.val = payload.full_name || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.fullNameField]: field });\n }\n if ((payload === null || payload === void 0 ? void 0 : payload.full_name) === undefined) {\n const field = new textInput_1.default(\"name\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.givenNameField], formCharacterValidation.given_name.max);\n form.appendChild(field.render());\n field.val = (payload === null || payload === void 0 ? void 0 : payload.given_name) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.givenNameField]: field });\n }\n if ((payload === null || payload === void 0 ? void 0 : payload.full_name) === undefined) {\n const field = new textInput_1.default(\"name\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.surnameField], formCharacterValidation.surname.max);\n form.appendChild(field.render());\n field.val = (payload === null || payload === void 0 ? void 0 : payload.surname) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.surnameField]: field });\n }\n // id field\n const idNumberField = new textInput_1.default(\"id\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.idNumberField], formCharacterValidation.id_number.max);\n const isIdNumberDisabled = (0, validation_1.hasStringVal)(payload === null || payload === void 0 ? void 0 : payload.id_number);\n form.appendChild(idNumberField.render({ disabled: isIdNumberDisabled }));\n idNumberField.val = (payload === null || payload === void 0 ? void 0 : payload.id_number) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.idNumberField]: idNumberField });\n // dob field\n const dobField = new dobInput_1.default();\n const isDobDisabled = (0, validation_1.hasStringVal)(payload === null || payload === void 0 ? void 0 : payload.date_of_birth);\n form.appendChild(dobField.render({ disabled: isDobDisabled }));\n dobField.val = (payload === null || payload === void 0 ? void 0 : payload.date_of_birth)\n ? (0, moment_1.default)(payload.date_of_birth, verification_1.INPUT_DATE_FORMAT).format(verification_1.DISPLAY_DATE_FORMAT)\n : \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.dobField]: dobField });\n // - gender\n const genderOptions = Object.entries(id_1.genderTypeMapping).map(([key, value]) => {\n return { value: key, label: value };\n });\n const isGenderDisabled = (0, validation_1.hasStringVal)(payload === null || payload === void 0 ? void 0 : payload.gender);\n const genderField = new genderOptions_1.default(\"gender\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.genderField], genderOptions);\n form.appendChild(genderField.render({ capitalize: true, disabled: isGenderDisabled }));\n genderField.val = (payload === null || payload === void 0 ? void 0 : payload.gender) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.genderField]: genderField });\n // address fields - address, city, state, zip, country\n const addressField = new textArea_1.default(\"address\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.addressField]);\n form.appendChild(addressField.render());\n addressField.val = (payload === null || payload === void 0 ? void 0 : payload.line1) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.addressField]: addressField });\n // - city\n const cityField = new textInput_1.default(\"city\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.cityField]);\n form.appendChild(cityField.render());\n cityField.val = (payload === null || payload === void 0 ? void 0 : payload.city) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.cityField]: cityField });\n // - state\n const stateValue = (payload === null || payload === void 0 ? void 0 : payload.state_iso) || (payload === null || payload === void 0 ? void 0 : payload.state_name) || \"\";\n const stateLabel = (payload === null || payload === void 0 ? void 0 : payload.state_name) || (payload === null || payload === void 0 ? void 0 : payload.state_iso) || \"\";\n // Create the state dropdown option if there's state information\n const stateOptions = stateValue\n ? [{ value: stateValue, label: stateLabel }]\n : [];\n const stateField = new selectDropdown_1.default(\"state\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.stateField], stateOptions);\n form.appendChild(stateField.render());\n stateField.val = (payload === null || payload === void 0 ? void 0 : payload.state_iso) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.stateField]: stateField });\n // - zip\n const zipField = new textInput_1.default(\"zip\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.zipField]);\n form.appendChild(zipField.render());\n zipField.val = ((_a = payload === null || payload === void 0 ? void 0 : payload.zip) === null || _a === void 0 ? void 0 : _a.toString()) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.zipField]: zipField });\n // - country\n const countries = uisdk_1.pwInstance.countries.map((country) => {\n return { value: country.iso_code, label: country.name };\n });\n const countryField = new selectDropdown_1.default(\"country\", id_1.idFormLabelMapping[id_1.ID_FORM_FIELD.countryField], countries);\n countryField.onUpdateValue = () => __awaiter(this, void 0, void 0, function* () {\n // reset state dropdown when country value is changed\n yield this.updateRegionState(countryField.val);\n });\n form.appendChild(countryField.render());\n countryField.val = (payload === null || payload === void 0 ? void 0 : payload.country_iso2) || \"\";\n this.pushFormDetail({ [id_1.ID_FORM_FIELD.countryField]: countryField });\n // initial country value\n if (payload === null || payload === void 0 ? void 0 : payload.country_iso2) {\n // run in bg no need await here\n this.updateRegionState(payload.country_iso2);\n stateField.val = payload.state_iso || \"\";\n }\n return form;\n }\n createBody(payload) {\n var _a;\n const { result, filepaths } = payload;\n const bodyDiv = document.createElement(\"div\");\n const form = this.createForm(result);\n bodyDiv.appendChild(form);\n // images\n // use image from api\n // const frontImgSrc = filepaths?.front_doc_key;\n // const backImgSrc = filepaths?.back_doc_key;\n // temp - use image from FE\n const frontImgSrc = (0, imagesHelper_1.getFrontImg)().croppedImage;\n const backImgSrc = (0, imagesHelper_1.getBackImg)().croppedImage;\n const merchantName = ((_a = uisdk_1.pwInstance.merchantDetail) === null || _a === void 0 ? void 0 : _a.biz_name) || \"merchant\";\n const watermarkTxt = (0, imagesHelper_1.getWatermarkText)(merchantName);\n if (frontImgSrc || backImgSrc) {\n const images = [\n { innerHTML: \"Front\", alt: \"Front Image\", src: frontImgSrc },\n { innerHTML: \"Back\", alt: \"Back Image\", src: backImgSrc },\n ];\n const imageContainerDiv = (0, summary_1.createImageContainer)(images, watermarkTxt, this.openImageFullScreen.bind(this));\n bodyDiv.appendChild(imageContainerDiv);\n }\n return bodyDiv;\n }\n createPage(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n const pageContentDiv = document.createElement(\"div\");\n pageContentDiv.classList.add(\"pw-overflow-auto\");\n pageDiv.appendChild(pageContentDiv);\n // header\n const headerDiv = (0, summary_1.createHeader)(4, (0, stepper_1.getStepByType)(verification_1.VERIFICATION_TYPE.IDENTITY_DOC), this.openLeavePageDialog.bind(this));\n pageContentDiv.appendChild(headerDiv);\n // body - header\n const headingDiv = (0, summary_1.createHeading)(\"ID card details\", \"Verify your card information.\");\n pageContentDiv.appendChild(headingDiv);\n // content - body\n const body = this.createBody(payload);\n if (body)\n pageContentDiv.appendChild(body);\n // footer\n const footerDiv = (0, summary_1.createFooter)(this.onClickSubmit.bind(this));\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n });\n }\n}\nexports[\"default\"] = SummaryId;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/SummaryId.ts?");
|
|
3905
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// components\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\n// assets\nconst circle_info_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/circle_info.svg */ \"./src/assets/icon/circle_info.svg\"));\nclass SubmissionLimit extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n }\n render(error) {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage(error);\n this.renderContent(element);\n });\n }\n createContentHeader(title, description) {\n const headerDiv = document.createElement(\"div\");\n headerDiv.classList.add(\"pw-p-5\");\n // icon\n const iconDiv = document.createElement(\"div\");\n iconDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n const iconImg = document.createElement(\"img\");\n iconImg.setAttribute(\"src\", circle_info_svg_1.default);\n iconDiv.appendChild(iconImg);\n headerDiv.appendChild(iconDiv);\n // title\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-3\");\n titleDiv.innerHTML = title;\n wordingDiv.appendChild(titleDiv);\n headerDiv.appendChild(wordingDiv);\n // description\n if (description) {\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-text-center\", \"pw-mb-3\");\n descriptionDiv.innerHTML = description;\n wordingDiv.appendChild(descriptionDiv);\n headerDiv.appendChild(wordingDiv);\n }\n return headerDiv;\n }\n createPage(error) {\n return __awaiter(this, void 0, void 0, function* () {\n const submissionLimitDiv = document.createElement(\"div\");\n submissionLimitDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n // content\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-overflow-auto\");\n const contentDetailsDiv = this.createContentHeader((0, translations_1.$t)(\"submission_limit_title\"), (0, translations_1.$t)(\"submission_limit_desc\"));\n contentDetailsDiv.style.paddingTop = \"25%\";\n contentDiv.appendChild(contentDetailsDiv);\n submissionLimitDiv.appendChild(contentDiv);\n // footer\n const footerDiv = document.createElement(\"div\");\n footerDiv.classList.add(\"pw-p-5\", \"pw-shadow-footer-shadow\");\n const confirmButton = (0, components_1.createPrimaryButton)((0, translations_1.$t)(\"btn_okay\"));\n confirmButton.classList.add(\"pw-mb-3\");\n confirmButton.addEventListener(\"click\", () => {\n this.onFailedEkyc(error);\n });\n footerDiv.appendChild(confirmButton);\n const footer = new footer_1.default();\n const footerPw = footer.render();\n footerPw.classList.add(\"pw-text-grey-6\");\n footerDiv.appendChild(footerPw);\n submissionLimitDiv.appendChild(footerDiv);\n return submissionLimitDiv;\n });\n }\n}\nexports[\"default\"] = SubmissionLimit;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/SubmissionLimit.ts?");
|
|
3928
3906
|
|
|
3929
3907
|
/***/ }),
|
|
3930
3908
|
|
|
3931
|
-
/***/ "./src/pageClass/
|
|
3932
|
-
|
|
3933
|
-
!*** ./src/pageClass/
|
|
3934
|
-
|
|
3909
|
+
/***/ "./src/pageClass/Summary.ts":
|
|
3910
|
+
/*!**********************************!*\
|
|
3911
|
+
!*** ./src/pageClass/Summary.ts ***!
|
|
3912
|
+
\**********************************/
|
|
3935
3913
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3936
3914
|
|
|
3937
3915
|
"use strict";
|
|
3938
|
-
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 summary_1 = __webpack_require__(/*! ../helper/summary */ \"./src/helper/summary.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst poa_1 = __webpack_require__(/*! ../constant/poa */ \"./src/constant/poa.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst pdfRender_1 = __webpack_require__(/*! ../helper/pdfRender */ \"./src/helper/pdfRender.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst selectDropdown_1 = __importDefault(__webpack_require__(/*! ../components/selectDropdown */ \"./src/components/selectDropdown.ts\"));\nconst textArea_1 = __importDefault(__webpack_require__(/*! ../components/textArea */ \"./src/components/textArea.ts\"));\nconst textInput_1 = __importDefault(__webpack_require__(/*! ../components/textInput */ \"./src/components/textInput.ts\"));\nclass SummaryPoa extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.formDetail = {};\n this.MAX_LENGTHS = {\n [poa_1.POA_FORM_FIELD.nameField]: 160,\n [poa_1.POA_FORM_FIELD.addressField]: 350,\n [poa_1.POA_FORM_FIELD.cityField]: 70,\n [poa_1.POA_FORM_FIELD.zipField]: 40,\n };\n }\n render(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const element = yield this.createPage(payload);\n this.renderContent(element);\n });\n }\n createPage(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n const pageContentDiv = document.createElement(\"div\");\n pageContentDiv.classList.add(\"pw-overflow-auto\");\n pageDiv.appendChild(pageContentDiv);\n // header\n const headerDiv = (0, summary_1.createHeader)(3, (0, stepper_1.getStepByType)(verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS), this.openLeavePageDialog.bind(this));\n pageContentDiv.appendChild(headerDiv);\n // body - header\n const headingDiv = (0, summary_1.createHeading)(\"Utility bill details\", \"Verify your upload information.\");\n pageContentDiv.appendChild(headingDiv);\n // body - content\n const body = yield this.createBody(payload);\n if (body)\n pageContentDiv.appendChild(body);\n // footer\n const footerDiv = (0, summary_1.createFooter)(this.onClickSubmit.bind(this));\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n });\n }\n validateField(key) {\n return __awaiter(this, void 0, void 0, function* () {\n const inputDetail = this.formDetail[key];\n // check required fields\n if (!inputDetail.val || inputDetail.val.length < 1) {\n inputDetail.addError();\n return false;\n }\n // check max length validation\n const maxLength = this.MAX_LENGTHS[key];\n if (maxLength && inputDetail.val.length > maxLength) {\n inputDetail.addError(validation_1.errorMessage.maxChar(maxLength));\n return false;\n }\n // check country and state\n if (key === poa_1.POA_FORM_FIELD.countryField) {\n const stateField = this.formDetail[poa_1.POA_FORM_FIELD.stateField];\n const countryField = this.formDetail[poa_1.POA_FORM_FIELD.countryField];\n const countries = uisdk_1.pwInstance.countries.map((c) => c.iso_code);\n // check country\n const isCountryExist = countries.find((c) => c === inputDetail.val);\n if (!isCountryExist) {\n inputDetail.addError(validation_1.errorMessage.invalidField(\"country\"));\n return false;\n }\n // if country exist, then check state\n if (stateField === null || stateField === void 0 ? void 0 : stateField.val) {\n const statesOptions = yield uisdk_1.pwInstance.fetchStates(countryField.val);\n const states = statesOptions.map((s) => s.iso_code);\n const isStateExist = states.find((s) => s === stateField.val);\n if (!isStateExist) {\n inputDetail.addError(validation_1.errorMessage.invalidField(\"state/region\"));\n return false;\n }\n }\n }\n return true;\n });\n }\n onClickSubmit() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let hasError = false;\n for (const key in this.formDetail) {\n const isValid = yield this.validateField(key);\n if (!isValid && !hasError)\n hasError = true;\n }\n // do ntg when has error\n if (hasError)\n return;\n // construct payload\n let result = {};\n for (const k in this.formDetail) {\n const key = k;\n const value = this.formDetail[k];\n if (key === poa_1.POA_FORM_FIELD.countryField) {\n result[key] = value.val;\n }\n else if (key === poa_1.POA_FORM_FIELD.stateField) {\n result[key] = value.val;\n }\n else\n result[key] = value.val;\n }\n yield uisdk_1.pwInstance.updatePoaForm(result);\n // redirect to completed page / start page\n this.clearScreen();\n (0, summary_1.redirectToCompletedPage)(stepper_1.mainStep, uisdk_1.pwInstance.verificationTypes, this.mainScreenId, this.displayMode);\n }\n catch (err) {\n if ([\"PwError\", \"PwReqError\"].includes(err.name)) {\n const payload = err.response.data.messages;\n let fields = [];\n if (Array.isArray(payload) && payload.length > 0) {\n const params = payload[0].params;\n if (params) {\n const invalidFields = params.invalidated_fields;\n const keys = invalidFields ? Object.keys(invalidFields) : [];\n const uniqueFields = new Set();\n keys.forEach((key) => {\n const fieldLabel = poa_1.poaFormLabelMapping[key] || key;\n uniqueFields.add(fieldLabel);\n });\n fields = Array.from(uniqueFields);\n }\n }\n (0, summary_1.openFormErrorDialog)(this.mainScreenId, fields);\n }\n else {\n // redirect to interval server error page\n console.error(\"Unexpected error:\", err);\n this.openErrorPage();\n }\n }\n });\n }\n handlePdfFile(fileSrc) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield new Promise((resolve) => {\n const reader = new FileReader();\n reader.onload = function (e) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const arrayBuffer = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;\n if (!arrayBuffer)\n return resolve([]);\n // Convert pdf to images\n const images = (yield (0, pdfRender_1.renderPDF)(arrayBuffer));\n resolve(images);\n }\n catch (err) {\n resolve([]);\n }\n });\n };\n reader.onerror = () => resolve([]);\n reader.readAsArrayBuffer(fileSrc);\n });\n });\n }\n createImagePreview(fileSrc) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (!fileSrc)\n return undefined;\n let images = [];\n if (fileSrc.type.startsWith(\"image/\")) {\n images.push({\n alt: \"Image\",\n src: URL.createObjectURL(fileSrc),\n });\n }\n else if (fileSrc.type.startsWith(\"application/pdf\")) {\n images = (yield this.handlePdfFile(fileSrc)).map((value, index) => {\n return {\n alt: `Image${index}`,\n src: value,\n };\n });\n }\n if (images.length < 1)\n return;\n const merchantName = ((_a = uisdk_1.pwInstance.merchantDetail) === null || _a === void 0 ? void 0 : _a.biz_name) || \"merchant\";\n const watermarkText = (0, imagesHelper_1.getWatermarkText)(merchantName);\n return (0, summary_1.createImageContainer)(images, watermarkText, this.openImageFullScreen.bind(this));\n });\n }\n pushFormDetail(formDetail) {\n this.formDetail = Object.assign(this.formDetail, formDetail);\n }\n updateRegionState(country) {\n return __awaiter(this, void 0, void 0, function* () {\n const state = this.formDetail.receiver_state_iso;\n if (!state)\n return;\n state.val = \"\";\n state.isLoading = true;\n const states = yield uisdk_1.pwInstance.fetchStates(country || \"\");\n const options = states.map((state) => {\n return { value: state.iso_code, label: state.name };\n });\n state.setOption(options);\n state.isLoading = false;\n });\n }\n createForm(payload) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const form = document.createElement(\"form\");\n form.classList.add(\"pw-m-5\", \"pw-mb-10\");\n // full_name\n const nameField = new textInput_1.default(\"name\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.nameField], this.MAX_LENGTHS[poa_1.POA_FORM_FIELD.nameField]);\n form.appendChild(nameField.render());\n nameField.val =\n (payload === null || payload === void 0 ? void 0 : payload.receiver_name) || (payload === null || payload === void 0 ? void 0 : payload.second_receiver_name) || \"\";\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.nameField]: nameField });\n // address\n const addressField = new textArea_1.default(\"address\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.addressField]);\n form.appendChild(addressField.render());\n addressField.val = (payload === null || payload === void 0 ? void 0 : payload.receiver_address) || \"\";\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.addressField]: addressField });\n // city\n const cityField = new textInput_1.default(\"city\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.cityField]);\n form.appendChild(cityField.render());\n cityField.val = (payload === null || payload === void 0 ? void 0 : payload.receiver_city) || \"\";\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.cityField]: cityField });\n // state\n const stateField = new selectDropdown_1.default(\"state\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.stateField], []);\n form.appendChild(stateField.render());\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.stateField]: stateField });\n // - zip\n const zipField = new textInput_1.default(\"zip\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.zipField]);\n form.appendChild(zipField.render());\n zipField.val = ((_a = payload === null || payload === void 0 ? void 0 : payload.receiver_zip) === null || _a === void 0 ? void 0 : _a.toString()) || \"\";\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.zipField]: zipField });\n // - country\n const countries = uisdk_1.pwInstance.countries.map((country) => {\n return { value: country.iso_code, label: country.name };\n });\n const countryField = new selectDropdown_1.default(\"country\", poa_1.poaFormLabelMapping[poa_1.POA_FORM_FIELD.countryField], countries);\n countryField.onUpdateValue = () => __awaiter(this, void 0, void 0, function* () {\n // reset state dropdown when country value is changed\n yield this.updateRegionState(countryField.val);\n });\n form.appendChild(countryField.render());\n countryField.val = (payload === null || payload === void 0 ? void 0 : payload.receiver_country_iso2) || \"\";\n this.pushFormDetail({ [poa_1.POA_FORM_FIELD.countryField]: countryField });\n // initial country value\n if (payload === null || payload === void 0 ? void 0 : payload.receiver_country_iso2) {\n // run in bg no need await here\n this.updateRegionState(payload.receiver_country_iso2);\n stateField.val = payload.receiver_state_iso || \"\";\n }\n return form;\n });\n }\n createBody(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const bodyDiv = document.createElement(\"div\");\n const form = yield this.createForm(payload === null || payload === void 0 ? void 0 : payload.result);\n if (form)\n bodyDiv.appendChild(form);\n // images preview\n const fileSrc = (0, imagesHelper_1.getPoaFile)();\n const imageContainerDiv = yield this.createImagePreview(fileSrc);\n if (imageContainerDiv)\n bodyDiv.appendChild(imageContainerDiv);\n return bodyDiv;\n });\n }\n}\nexports[\"default\"] = SummaryPoa;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/SummaryPoa.ts?");
|
|
3916
|
+
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 uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\n// helper\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst summary_1 = __webpack_require__(/*! ../helper/summary */ \"./src/helper/summary.ts\");\nconst form_1 = __webpack_require__(/*! ../helper/form */ \"./src/helper/form.ts\");\n// constant\nconst form_2 = __webpack_require__(/*! ../constant/form */ \"./src/constant/form.ts\");\nconst validation_1 = __webpack_require__(/*! ../constant/validation */ \"./src/constant/validation.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\n// pages\nconst VerifyCc_1 = __importDefault(__webpack_require__(/*! ../pageClass/VerifyCc */ \"./src/pageClass/VerifyCc.ts\"));\nclass Summary extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.formType = \"\";\n this.originalForm = {};\n this.formElements = {};\n }\n render(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n // set form type and original form (use for validation)\n this.formType = payload.type;\n // create page el\n const element = yield this.createPage(payload);\n this.renderContent(element);\n // open expired dialog when cc expired\n if (payload.status && payload.status.expired)\n this.openExpiredDialog(payload.status.retriable);\n });\n }\n createPage(payload) {\n return __awaiter(this, void 0, void 0, function* () {\n const pageDiv = document.createElement(\"div\");\n pageDiv.classList.add(\"pw-absolute\", \"pw-top-0\", \"pw-left-0\", \"pw-right-0\", \"pw-bottom-0\", \"pw-flex\", \"pw-flex-col\", \"pw-justify-between\", \"pw-overflow-y-hidden\");\n const pageContentDiv = document.createElement(\"div\");\n pageContentDiv.classList.add(\"pw-overflow-auto\");\n pageDiv.appendChild(pageContentDiv);\n // header\n const headerPayload = form_2.formHeaderMapping[payload.type];\n const headerDiv = (0, summary_1.createHeader)(headerPayload.currentStep, (0, stepper_1.getStepByType)(payload.type), this.openLeavePageDialog.bind(this));\n pageContentDiv.appendChild(headerDiv);\n // body - header\n const headingDiv = (0, summary_1.createHeading)(headerPayload.title, headerPayload.subTitle);\n pageContentDiv.appendChild(headingDiv);\n // body - content\n const body = this.createBody(payload);\n if (body)\n pageContentDiv.appendChild(body);\n // footer\n const footerDiv = (0, summary_1.createFooter)(this.onClickSubmit.bind(this));\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n });\n }\n updateFormApi() {\n return __awaiter(this, void 0, void 0, function* () {\n // convert form elements to payload\n const reqPayload = (0, form_1.constructReqPayload)(this.originalForm, this.formElements);\n const { IDENTITY_DOC, CREDIT_CARD, PROOF_OF_ADDRESS } = verification_1.VERIFICATION_TYPE;\n // update form\n if (this.formType === IDENTITY_DOC) {\n yield uisdk_1.pwInstance.updateIdForm(reqPayload);\n }\n else if (this.formType === CREDIT_CARD) {\n yield uisdk_1.pwInstance.updateCcForm(reqPayload);\n }\n else if (this.formType === PROOF_OF_ADDRESS) {\n yield uisdk_1.pwInstance.updatePoaForm(reqPayload);\n }\n });\n }\n onClickSubmit() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n let hasError = false;\n for (const key in this.formElements) {\n const { type, rules, label } = this.originalForm[key];\n const formEl = this.formElements[key];\n if (type === validation_1.TYPE_FIELD.CC_DOE) {\n formEl.padDoe();\n }\n let value;\n if (type === validation_1.TYPE_FIELD.CC_DOE && formEl.val) {\n const el = formEl;\n value = [el.val.month || \"\", el.val.year || \"\"];\n }\n else if (type === validation_1.TYPE_FIELD.CC_NO && formEl.val) {\n const el = formEl;\n value = [el.val.first6Value || \"\", el.val.last4Value || \"\"];\n }\n else {\n value = formEl.val;\n }\n const validate = (0, form_1.validateField)(label, value, rules);\n if (!(validate === null || validate === void 0 ? void 0 : validate.isValid)) {\n hasError = true;\n formEl.addError(validate === null || validate === void 0 ? void 0 : validate.message);\n }\n }\n // will show error in respective field\n if (hasError)\n return;\n // construct payload to sdk\n yield this.updateFormApi();\n // redirect to completed page / start page\n this.clearScreen();\n (0, summary_1.redirectToCompletedPage)(stepper_1.mainStep, uisdk_1.pwInstance.verificationTypes, this.mainScreenId, this.displayMode);\n }\n catch (err) {\n // redirect to interval server error page\n if (![\"PwError\", \"PwReqError\"].includes(err.name)) {\n console.error(\"Unexpected error:\", err);\n this.openErrorPage(err);\n return;\n }\n const payload = err.response.data.messages;\n let fields = [];\n if (Array.isArray(payload) && payload.length > 0) {\n const params = payload[0].params;\n if (params) {\n const invalidFields = params.invalidated_fields;\n const keys = invalidFields ? Object.keys(invalidFields) : [];\n const uniqueFields = new Set();\n keys.forEach((key) => {\n const fieldLabel = (0, translations_1.$t)(`label_${key}`) || key;\n uniqueFields.add(fieldLabel);\n });\n fields = Array.from(uniqueFields);\n }\n }\n (0, summary_1.openFormErrorDialog)(this.mainScreenId, fields);\n }\n });\n }\n pushFormElement(formElement) {\n this.formElements = Object.assign(this.formElements, formElement);\n }\n createForm(payload) {\n if (!payload)\n return;\n const formEl = document.createElement(\"form\");\n formEl.classList.add(\"pw-m-5\", \"pw-mb-10\");\n this.originalForm = (0, form_1.constructForm)(payload);\n for (const key in this.originalForm) {\n const field = (0, form_1.createField)(key, this.originalForm[key], formEl);\n // country field\n if (field && this.originalForm[key].subtype === validation_1.SUBTYPE.COUNTRY) {\n const dropdownField = field;\n // initial country\n const countries = uisdk_1.pwInstance.countries.map((country) => {\n return { value: country.iso_code, label: country.name };\n }) || [];\n dropdownField.setOption(countries);\n dropdownField.val = this.originalForm[key].value || \"\";\n // reset validation\n this.originalForm[key].rules.selectable_values = countries;\n }\n // state field\n else if (field && this.originalForm[key].subtype === validation_1.SUBTYPE.STATE) {\n // create dropdown field\n const dropdownField = field;\n // initial state list when there is country value\n const countryPayload = Object.entries(payload).find(([key, value]) => value.subtype === validation_1.SUBTYPE.COUNTRY);\n const country = countryPayload\n ? countryPayload[1].value\n : undefined;\n if (country) {\n const stateValue = this.originalForm[key].value || \"\";\n (0, form_1.updateRegionState)(dropdownField, country, stateValue).then((states) => {\n // reset validation\n this.originalForm[key].rules.selectable_values = states;\n });\n }\n else {\n dropdownField.setOption([]);\n dropdownField.val = \"\";\n }\n }\n if (field)\n this.pushFormElement({ [key]: field });\n }\n // check if got both country and state element in the form\n // if yes: reset state dropdown when country value is changed\n const countryPayload = Object.entries(payload).find(([key, value]) => value.subtype === validation_1.SUBTYPE.COUNTRY);\n const statePayload = Object.entries(payload).find(([key, value]) => value.subtype === validation_1.SUBTYPE.STATE);\n const countryKey = countryPayload ? countryPayload[0] : undefined;\n const stateKey = statePayload ? statePayload[0] : undefined;\n if (stateKey &&\n this.formElements[stateKey] &&\n countryKey &&\n this.formElements[countryKey]) {\n const countryDropdown = this.formElements[countryKey];\n const stateDropdown = this.formElements[stateKey];\n countryDropdown.onUpdateValue = (countryVal) => __awaiter(this, void 0, void 0, function* () {\n (0, form_1.updateRegionState)(stateDropdown, countryVal, \"\").then((states) => {\n // reset validation\n this.originalForm[stateKey].rules.selectable_values = states;\n });\n });\n }\n return formEl;\n }\n createBody(payload) {\n const bodyDiv = document.createElement(\"div\");\n // form preview\n const form = this.createForm(payload === null || payload === void 0 ? void 0 : payload.result);\n if (form)\n bodyDiv.appendChild(form);\n // images preview\n if ((payload === null || payload === void 0 ? void 0 : payload.images) && (payload === null || payload === void 0 ? void 0 : payload.images.length)) {\n const imageContainerDiv = (0, summary_1.createImageContainer)(payload === null || payload === void 0 ? void 0 : payload.images, \"\", this.openImageFullScreen.bind(this));\n if (imageContainerDiv)\n bodyDiv.appendChild(imageContainerDiv);\n }\n return bodyDiv;\n }\n openExpiredDialog(isRetriable) {\n const errorDialog = new baseDialog_1.default();\n const labelText = isRetriable\n ? (0, translations_1.$t)(\"cc_expired_with_retry\")\n : (0, translations_1.$t)(\"cc_expired_without_retry\");\n errorDialog.render(this.mainScreenId, labelText, isRetriable ? (0, translations_1.$t)(\"btn_retake\") : (0, translations_1.$t)(\"btn_proceed\"), () => {\n if (isRetriable) {\n this.clearScreen();\n const verifyCc = new VerifyCc_1.default(this.mainScreenId, this.displayMode);\n verifyCc.render();\n }\n });\n }\n}\nexports[\"default\"] = Summary;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/Summary.ts?");
|
|
3939
3917
|
|
|
3940
3918
|
/***/ }),
|
|
3941
3919
|
|
|
@@ -3946,7 +3924,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3946
3924
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3947
3925
|
|
|
3948
3926
|
"use strict";
|
|
3949
|
-
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 camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst card_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/card-camera */ \"./src/plugins/card-camera.ts\"));\nconst CardMasking_1 = __importDefault(__webpack_require__(/*! ./CardMasking */ \"./src/pageClass/CardMasking.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nclass VerifyCc extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.cameraId = \"pw-camera-container\";\n }\n render() {\n // create div\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, camera_1.CARD_TYPES.CC, this.mainScreenId);\n idCam.init();\n idCam.listenToCardCapture((payload) => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const { type, image } = payload.detail;\n try {\n // start loading\n this.renderLoadingScreen();\n // pause video\n idCam.pauseVideoStream();\n // check is front or back card image\n const isFrontCard = type === camera_1.CARD_TYPES.CC;\n // construct req payload to call api\n let reqPayload;\n if (isFrontCard) {\n (0, imagesHelper_1.setFrontImg)(image);\n reqPayload = {\n front_doc_base64: image.croppedImage,\n front_doc_base64_full: image.fullImage,\n };\n }\n else {\n (0, imagesHelper_1.setBackImg)(image);\n reqPayload = {\n back_doc_base64: image.croppedImage,\n back_doc_base64_full: image.fullImage,\n };\n }\n // call api\n const { missing_fields = [], masked_coordinates, is_retriable, } = yield uisdk_1.pwInstance.uploadCc(reqPayload);\n // set masked coordinates\n if (isFrontCard)\n (0, imagesHelper_1.setFrontImg)(Object.assign(Object.assign({}, image), { masked_coordinates }));\n else\n (0, imagesHelper_1.setBackImg)(Object.assign(Object.assign({}, image), { masked_coordinates }));\n // pop up missing fields dialog, and ask user to recapture\n if (isFrontCard && missing_fields && missing_fields.length > 0) {\n const btnLabel = is_retriable ? \"Capture now\" : \"Proceed\";\n this.openFieldMissingDailog(btnLabel, missing_fields, () => {\n if (is_retriable)\n idCam.resumeVideoStream(camera_1.CARD_TYPES.CC_BACK);\n else\n this.redirectToSubmissionErrorPage();\n });\n return;\n }\n // redirect to masking page\n idCam.stopVideoStream();\n const { displaySize } = image;\n const cardMasking = new CardMasking_1.default(this.mainScreenId, this.displayMode, displaySize);\n cardMasking.render();\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\n \"openApi/verification-type-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n // open image blur dialog\n if (invalidDocErrors.includes(err.type)) {\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 const isRetake = !!(pwErrorPayload === null || pwErrorPayload === void 0 ? void 0 : pwErrorPayload.is_retriable);\n this.openImageBlurDialog(isRetake, () => {\n idCam.resumeVideoStream(type);\n });\n return;\n }\n // redirect to submission error page\n if (maxAttemptErrors.includes(err.type)) {\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n idCam.stopVideoStream();\n this.openErrorPage();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n }));\n }\n openImageBlurDialog(isRetake, resumeVideoStream) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, \"The image has glare issues, please take a clear photo in a well-lit area.\", isRetake ? \"Retake\" : \"Proceed\", () => {\n if (isRetake)\n resumeVideoStream();\n else\n this.redirectToSubmissionErrorPage();\n });\n }\n openFieldMissingDailog(btnLabel, missingFields, cb) {\n const errorDialog = new baseDialog_1.default();\n const dialogContent = document.createElement(\"div\");\n dialogContent.classList.add(\"pw-text-center\", \"pw-mb-6\");\n const content1 = document.createElement(\"div\");\n content1.innerHTML = \"Missing card info.\";\n dialogContent.appendChild(content1);\n const content2 = document.createElement(\"div\");\n content2.innerHTML = \"Capture the side of the card with:\";\n dialogContent.appendChild(content2);\n const contentList = document.createElement(\"ul\");\n contentList.classList.add(\"pw-px-5\");\n for (let i = 0; i < missingFields.length; i++) {\n const item = document.createElement(\"div\");\n const textMapped = {\n full_name: \"Card owner’s name\",\n cc_number: \"Card number\",\n cc_number_first_6: \"First 6 digits of card number\",\n cc_number_last_4: \"Last 4 digits of card number\",\n date_of_expiry: \"Expiry date\",\n };\n item.innerHTML = \"• \" + textMapped[missingFields[i]] || 0;\n contentList.appendChild(item);\n }\n dialogContent.appendChild(contentList);\n errorDialog.render(this.mainScreenId, \"\", btnLabel, cb, false, dialogContent);\n }\n redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n}\nexports[\"default\"] = VerifyCc;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyCc.ts?");
|
|
3927
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst card_camera_1 = __importDefault(__webpack_require__(/*! ../plugins/card-camera */ \"./src/plugins/card-camera.ts\"));\nconst CardMasking_1 = __importDefault(__webpack_require__(/*! ./CardMasking */ \"./src/pageClass/CardMasking.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nclass VerifyCc extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.cameraId = \"pw-camera-container\";\n }\n render() {\n // create div\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, camera_1.CARD_TYPES.CC, this.mainScreenId);\n idCam.init();\n idCam.listenToCardCapture((payload) => __awaiter(this, void 0, void 0, function* () {\n const { type, image: originalImg } = payload.detail;\n const completeBtnCb = (image, closeCardMasking) => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n try {\n // start loading\n this.renderLoadingScreen();\n // check is front or back card image\n const isFrontCard = type === camera_1.CARD_TYPES.CC;\n // construct req payload to call api\n let reqPayload;\n if (isFrontCard) {\n reqPayload = {\n front_doc_base64: image.croppedImage,\n front_doc_base64_full: image.fullImage,\n };\n }\n else {\n reqPayload = {\n back_doc_base64: image.croppedImage,\n back_doc_base64_full: image.fullImage,\n };\n }\n // call api\n const { missing_fields = [], is_retriable } = yield uisdk_1.pwInstance.uploadCc(reqPayload);\n // update to masked image\n if (isFrontCard)\n (0, imagesHelper_1.setFrontImg)(image);\n else\n (0, imagesHelper_1.setBackImg)(image);\n // pop up missing fields dialog, and ask user to recapture\n if (isFrontCard && missing_fields && missing_fields.length > 0) {\n const btnLabel = is_retriable ? \"Capture now\" : \"Proceed\";\n this.openFieldMissingDailog(btnLabel, missing_fields, () => {\n if (is_retriable) {\n idCam.resumeVideoStream(camera_1.CARD_TYPES.CC_BACK);\n closeCardMasking();\n }\n else {\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n }\n });\n return;\n }\n idCam.stopVideoStream();\n // redirect to loading page\n const analyzeCc = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n analyzeCc.render(\"cc\");\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\n \"openApi/verification-type-invalid\",\n \"openApi/doc-type-invalid\",\n \"openApi/doc-unpair\",\n \"openApi/doc-empty\",\n \"openApi/doc-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n // open image blur dialog\n if (invalidDocErrors.includes(err.type)) {\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 const isRetake = !!(pwErrorPayload === null || pwErrorPayload === void 0 ? void 0 : pwErrorPayload.is_retriable);\n // open image blur dailog\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_cc\"), isRetake ? (0, translations_1.$t)(\"btn_retake\") : (0, translations_1.$t)(\"btn_proceed\"), () => {\n if (isRetake) {\n idCam.resumeVideoStream(type);\n closeCardMasking();\n }\n else {\n // redirect to submission error page\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n }\n });\n return;\n }\n // redirect to submission error page\n if (maxAttemptErrors.includes(err.type)) {\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n idCam.stopVideoStream();\n this.openErrorPage(err);\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n // pause video\n idCam.pauseVideoStream();\n // redirect to masking page\n const cardMasking = new CardMasking_1.default(this.mainScreenId, this.displayMode, originalImg);\n cardMasking.render(originalImg.displaySize, completeBtnCb, () => {\n idCam.resumeVideoStream(type);\n });\n }));\n }\n openFieldMissingDailog(btnLabel, missingFields, cb) {\n const errorDialog = new baseDialog_1.default();\n const dialogContent = document.createElement(\"div\");\n dialogContent.classList.add(\"pw-text-center\", \"pw-mb-6\");\n const content1 = document.createElement(\"div\");\n content1.innerHTML = (0, translations_1.$t)(\"cc_missing_info_title\");\n dialogContent.appendChild(content1);\n const content2 = document.createElement(\"div\");\n content2.innerHTML = (0, translations_1.$t)(\"cc_missing_info_desc\");\n dialogContent.appendChild(content2);\n const contentList = document.createElement(\"ul\");\n contentList.classList.add(\"pw-px-5\");\n for (let i = 0; i < missingFields.length; i++) {\n const item = document.createElement(\"div\");\n item.innerHTML =\n \"- \" + (0, translations_1.$t)(`cc_missing_content_${missingFields[i]}`) || 0;\n contentList.appendChild(item);\n }\n dialogContent.appendChild(contentList);\n errorDialog.render(this.mainScreenId, \"\", btnLabel, cb, false, dialogContent);\n }\n redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n}\nexports[\"default\"] = VerifyCc;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyCc.ts?");
|
|
3950
3928
|
|
|
3951
3929
|
/***/ }),
|
|
3952
3930
|
|
|
@@ -3957,7 +3935,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3957
3935
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3958
3936
|
|
|
3959
3937
|
"use strict";
|
|
3960
|
-
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 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\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\n// assets\nconst id_card_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/id-card.svg */ \"./src/assets/icon/id-card.svg\"));\nconst passport_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/passport.svg */ \"./src/assets/icon/passport.svg\"));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ../pageClass/SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\n// helper\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_2 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\n// constant\nconst id_1 = __webpack_require__(/*! ../constant/id */ \"./src/constant/id.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nclass VerifyId 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 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, (0, stepper_2.getStepByType)(verification_1.VERIFICATION_TYPE.IDENTITY_DOC));\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.openLeavePageDialog());\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 = \"Select ID type\";\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 // verification type\n const { excludedDocTypes = [] } = uisdk_1.pwInstance.tokenDetails;\n const supportedDocTypes = [\n id_1.ID_TYPE.NATIONAL_ID,\n id_1.ID_TYPE.LICENSE,\n id_1.ID_TYPE.PASSPORT,\n ];\n const isAllDocTypeExcluded = supportedDocTypes.every((docType) => excludedDocTypes.includes(docType));\n if (isAllDocTypeExcluded) {\n return this.openErrorPage(\"Something went wrong\", \"We could not locate a suitable verification type for you. Please contact customer support for assistance.\");\n }\n else {\n // ID card\n if (!excludedDocTypes.includes(id_1.ID_TYPE.NATIONAL_ID)) {\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\", id_card_svg_1.default);\n idButton.classList.add(\"pw-mb-3\");\n // ID card button click event\n idButton.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.NATIONAL_ID;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(idButton);\n }\n if (!excludedDocTypes.includes(id_1.ID_TYPE.LICENSE)) {\n // License button click event\n const driverLicense = (0, components_1.createOutlineButton)(\"Driver's License\", id_card_svg_1.default);\n driverLicense.classList.add(\"pw-mb-3\");\n driverLicense.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.LICENSE;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(driverLicense);\n }\n if (!excludedDocTypes.includes(id_1.ID_TYPE.PASSPORT)) {\n // Passport button click event\n const passport = (0, components_1.createOutlineButton)(\"Passport\", passport_svg_1.default);\n passport.classList.add(\"pw-mb-3\");\n passport.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.PASSPORT;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(passport);\n }\n }\n return verifyIdDiv;\n }\n openCameraPage() {\n const idType = this.selectedIdType;\n if (!idType)\n return;\n // create div\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 // start camera init\n const typeMapping = id_1.idCardTypeMapping[idType];\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 (0, imagesHelper_1.setFrontImg)(image);\n idCam.pauseVideoStream();\n this.uploadDoc(idType, idCam);\n }\n // need both front and back img\n else if (type === typeMapping.front) {\n (0, imagesHelper_1.setFrontImg)(image);\n // show loading page a few milisecond\n this.renderLoadingScreen();\n setTimeout(() => {\n // show filp icon\n this.updateOverlayContent(this.swapSideDisplay());\n }, 200);\n setTimeout(() => {\n this.removeOverlayElement();\n idCam.updateType(typeMapping.back);\n }, 2000);\n }\n // after done front and back img\n else if (type === typeMapping.back) {\n (0, imagesHelper_1.setBackImg)(image);\n idCam.pauseVideoStream();\n this.uploadDoc(idType, idCam);\n }\n });\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 redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n openImageBlurDailog(isRetake, resumeVideoStream) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, \"The image has glare issues, please take a clear photo in a well-lit area.\", isRetake ? \"Retake\" : \"Proceed\", () => {\n if (isRetake)\n resumeVideoStream();\n else\n this.redirectToSubmissionErrorPage();\n });\n }\n uploadDoc(docType, idCam) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen();\n // get the image from camera\n let frontImg = (0, imagesHelper_1.getFrontImg)();\n let backImg = (0, imagesHelper_1.getBackImg)();\n // construct req payload to call api\n const req = Object.assign(Object.assign({ front_doc_base64: frontImg.croppedImage, front_doc_base64_full: frontImg.fullImage }, (backImg && {\n back_doc_base64: backImg.croppedImage,\n back_doc_base64_full: backImg.fullImage,\n })), { doc_type: docType, issuing_country: this.defaultCountry });\n // call api\n yield uisdk_1.pwInstance.uploadId(req);\n idCam.stopVideoStream();\n // redirect to start page to continue on another steps (e.g: selfie)\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode);\n this.clearScreen();\n firstPage.render();\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\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-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n if (invalidDocErrors.includes(err.type)) {\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 this.openImageBlurDailog(isRetake, () => {\n const idType = this.selectedIdType;\n if (!idType)\n return;\n const typeMapping = id_1.idCardTypeMapping[idType];\n idCam.resumeVideoStream(typeMapping.front);\n });\n return;\n }\n if (maxAttemptErrors.includes(err.type)) {\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n idCam.stopVideoStream();\n this.openErrorPage();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n}\nexports[\"default\"] = VerifyId;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyId.ts?");
|
|
3938
|
+
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 uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.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\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\n// assets\nconst id_card_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/id-card.svg */ \"./src/assets/icon/id-card.svg\"));\nconst passport_svg_1 = __importDefault(__webpack_require__(/*! ../assets/icon/passport.svg */ \"./src/assets/icon/passport.svg\"));\n// pages\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst StartPage_1 = __importDefault(__webpack_require__(/*! ../pageClass/StartPage */ \"./src/pageClass/StartPage.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ../pageClass/SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\n// helper\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_2 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\n// constant\nconst id_1 = __webpack_require__(/*! ../constant/id */ \"./src/constant/id.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nclass VerifyId 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 var _a;\n const verifyIdDiv = document.createElement(\"div\");\n verifyIdDiv.classList.add(\"pw-flex\", \"pw-flex-col\", \"pw-h-full\");\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, (0, stepper_2.getStepByType)(verification_1.VERIFICATION_TYPE.IDENTITY_DOC));\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.openLeavePageDialog());\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n verifyIdDiv.appendChild(navigationDiv);\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-center\", \"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-6\");\n titleDiv.innerHTML = (0, translations_1.$t)(\"select_id_type\");\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 = (0, translations_1.$t)(\"issuing_country\");\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 // verification type\n const { excludedDocTypes = [] } = uisdk_1.pwInstance.tokenDetails;\n const supportedDocTypes = [\n id_1.ID_TYPE.NATIONAL_ID,\n id_1.ID_TYPE.LICENSE,\n id_1.ID_TYPE.PASSPORT,\n ];\n const isAllDocTypeExcluded = supportedDocTypes.every((docType) => excludedDocTypes.includes(docType));\n if (isAllDocTypeExcluded) {\n return this.openErrorPage(null, (0, translations_1.$t)(\"smtg_went_wrong\"), (0, translations_1.$t)(\"fail_to_locate_verification\"));\n }\n else {\n // ID card\n if (!excludedDocTypes.includes(id_1.ID_TYPE.NATIONAL_ID)) {\n const documentTypeDiv = document.createElement(\"div\");\n documentTypeDiv.classList.add(\"pw-mb-3\");\n documentTypeDiv.innerHTML = (0, translations_1.$t)(\"document_type\");\n verifyIdDiv.appendChild(documentTypeDiv);\n const idButton = (0, components_1.createOutlineButton)((0, translations_1.$t)(\"id_card\"), id_card_svg_1.default);\n idButton.classList.add(\"pw-mb-3\");\n // ID card button click event\n idButton.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.NATIONAL_ID;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(idButton);\n }\n if (!excludedDocTypes.includes(id_1.ID_TYPE.LICENSE)) {\n // License button click event\n const driverLicense = (0, components_1.createOutlineButton)((0, translations_1.$t)(\"driver_license\"), id_card_svg_1.default);\n driverLicense.classList.add(\"pw-mb-3\");\n driverLicense.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.LICENSE;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(driverLicense);\n }\n if (!excludedDocTypes.includes(id_1.ID_TYPE.PASSPORT)) {\n // Passport button click event\n const passport = (0, components_1.createOutlineButton)((0, translations_1.$t)(\"passport\"), passport_svg_1.default);\n passport.classList.add(\"pw-mb-3\");\n passport.addEventListener(\"click\", () => {\n this.selectedIdType = id_1.ID_TYPE.PASSPORT;\n this.openCameraPage();\n });\n verifyIdDiv.appendChild(passport);\n }\n }\n // footer\n const footerDiv = document.createElement(\"div\");\n footerDiv.style.marginTop = \"auto\";\n // - powered by\n const footer = new footer_1.default().render();\n footerDiv.appendChild(footer);\n verifyIdDiv.appendChild(footerDiv);\n return verifyIdDiv;\n }\n openCameraPage() {\n const idType = this.selectedIdType;\n if (!idType)\n return;\n // create div\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 // start camera init\n const typeMapping = id_1.idCardTypeMapping[idType];\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 (0, imagesHelper_1.setFrontImg)(image);\n idCam.pauseVideoStream();\n this.uploadDoc(idType, idCam);\n }\n // need both front and back img\n else if (type === typeMapping.front) {\n (0, imagesHelper_1.setFrontImg)(image);\n // show loading page a few milisecond\n this.renderLoadingScreen();\n setTimeout(() => {\n // show filp icon\n this.updateOverlayContent(this.swapSideDisplay());\n }, 200);\n setTimeout(() => {\n this.removeOverlayElement();\n idCam.updateType(typeMapping.back);\n }, 2000);\n }\n // after done front and back img\n else if (type === typeMapping.back) {\n (0, imagesHelper_1.setBackImg)(image);\n idCam.pauseVideoStream();\n this.uploadDoc(idType, idCam);\n }\n });\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 = (0, translations_1.$t)(\"flip_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 redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n uploadDoc(docType, idCam) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen();\n // get the image from camera\n let frontImg = (0, imagesHelper_1.getFrontImg)();\n let backImg = (0, imagesHelper_1.getBackImg)();\n // construct req payload to call api\n const req = Object.assign(Object.assign({ front_doc_base64: frontImg.croppedImage, front_doc_base64_full: frontImg.fullImage }, (backImg && {\n back_doc_base64: backImg.croppedImage,\n back_doc_base64_full: backImg.fullImage,\n })), { doc_type: docType, issuing_country: this.defaultCountry });\n // call api\n yield uisdk_1.pwInstance.uploadId(req);\n idCam.stopVideoStream();\n // redirect to start page to continue on another steps (e.g: selfie)\n const firstPage = new StartPage_1.default(this.mainScreenId, this.displayMode);\n this.clearScreen();\n firstPage.render(false);\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidDocErrors = [\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-blur\",\n \"openApi/doc-front-back-img-unsimilar\",\n \"openApi/doc-not-positioned-proper\",\n \"openApi/img-exposed\",\n ];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n if (invalidDocErrors.includes(err.type)) {\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 // open image blur dailog\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_id\"), isRetake ? (0, translations_1.$t)(\"btn_retake\") : (0, translations_1.$t)(\"btn_proceed\"), () => {\n // recapture\n if (isRetake) {\n const idType = this.selectedIdType;\n if (!idType)\n return;\n const typeMapping = id_1.idCardTypeMapping[idType];\n idCam.resumeVideoStream(typeMapping.front);\n return;\n }\n // redirect to submission error page\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n });\n return;\n }\n if (maxAttemptErrors.includes(err.type)) {\n idCam.stopVideoStream();\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n idCam.stopVideoStream();\n this.openErrorPage();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n}\nexports[\"default\"] = VerifyId;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyId.ts?");
|
|
3961
3939
|
|
|
3962
3940
|
/***/ }),
|
|
3963
3941
|
|
|
@@ -3968,7 +3946,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3968
3946
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3969
3947
|
|
|
3970
3948
|
"use strict";
|
|
3971
|
-
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 components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst fileSelector_1 = __webpack_require__(/*! ../helper/fileSelector */ \"./src/helper/fileSelector.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst camera_instruction_1 = __webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst stepper_2 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nclass VerifyPoa extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.idleLimit = 30 * 60 * 1000;\n this.maxFileSize = 2; // MB\n this.preSignedUrl = \"\";\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-overflow-y-hidden\", \"pw-h-full\");\n // stepper with close button\n const navigationDiv = this.createHeaderNavigation();\n pageDiv.appendChild(navigationDiv);\n // content\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-grow\");\n // - title and description\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-3\", \"pw-text-center\");\n titleDiv.innerHTML = \"Upload utility bill\";\n contentDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-mb-6\", \"pw-text-center\");\n descriptionDiv.innerHTML = \"Please upload your utility bill\";\n contentDiv.appendChild(descriptionDiv);\n // - image body\n const uploadImageSection = this.createUploadSection();\n contentDiv.appendChild(uploadImageSection);\n // - image description\n const imageFormatDiv = document.createElement(\"div\");\n imageFormatDiv.classList.add(\"pw-mt-6\", \"pw-text-center\");\n imageFormatDiv.innerHTML = `Format: PNG, JPG, JPEG or PDF (${this.maxFileSize}MB max)`;\n contentDiv.appendChild(imageFormatDiv);\n pageDiv.appendChild(contentDiv);\n // footer\n const footerDiv = this.createFooterButton();\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n }\n createHeaderNavigation() {\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-6\");\n const stepper = new stepper_2.default();\n const stepperElement = stepper.render(2, (0, stepper_1.getStepByType)(verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS));\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.openLeavePageDialog());\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n return navigationDiv;\n }\n createFooterButton() {\n // footer\n const footerDiv = document.createElement(\"div\");\n // - button\n const submitButton = (0, components_1.createPrimaryButton)(\"Submit\");\n submitButton.classList.add(\"pw-mb-5\");\n submitButton.addEventListener(\"click\", this.submitFile.bind(this));\n footerDiv.appendChild(submitButton);\n // - powered by\n const footer = new footer_1.default().render();\n footerDiv.appendChild(footer);\n return footerDiv;\n }\n createUploadButton() {\n const uploadBtn = document.createElement(\"div\");\n uploadBtn.style.borderRadius = \"50%\";\n uploadBtn.classList.add(\"pw-p-2\", \"pw-bg-grey-6\", \"pw-text-grey-2\", \"pw-mb-3\");\n const addIcon = document.createElement(\"span\");\n addIcon.classList.add(\"material-icons\", \"pw-cursor-pointer\", \"material-symbols-outlined\");\n addIcon.innerHTML = \"add\";\n uploadBtn.appendChild(addIcon);\n return uploadBtn;\n }\n createUploadSection() {\n const uploadImageSection = document.createElement(\"div\");\n uploadImageSection.classList.add(\"pw-cursor-pointer\", \"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-mx-2\", \"pw-rounded-2xl\", \"pw-bg-grey-2\", \"pw-flex\", \"pw-flex-col\", \"pw-items-center\", \"pw-justify-center\", \"pw-drag-drop\", \"pw-p-5\");\n uploadImageSection.id = \"upload-image-section\";\n uploadImageSection.style.aspectRatio = \"1.45\";\n const uploadBtn = this.createUploadButton();\n uploadImageSection.appendChild(uploadBtn);\n const uploadText = document.createElement(\"div\");\n uploadText.innerHTML = \"Click to take photo\";\n uploadImageSection.appendChild(uploadText);\n // hidden file input\n this.fileInput = document.createElement(\"input\");\n this.fileInput.type = \"file\";\n this.fileInput.accept = \".png, .jpg, .jpeg, .pdf\";\n this.fileInput.style.display = \"none\";\n uploadImageSection.appendChild(this.fileInput);\n (0, fileSelector_1.dragDropArea)(uploadImageSection, this.uploadFile.bind(this));\n this.fileInput.addEventListener(\"change\", () => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const file = (_b = (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b[0];\n if (file)\n yield this.uploadFile(file);\n }));\n // Add event listener to the button to trigger the file input click\n uploadImageSection.addEventListener(\"click\", () => {\n var _a;\n (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click();\n });\n return uploadImageSection;\n }\n openFileMissingDialog() {\n const invalidDialog = new baseDialog_1.default();\n invalidDialog.render(this.mainScreenId, \"Please upload your utility bill to continue.\", \"Okay\");\n }\n openFileInvalidDialog() {\n const fileInvalid = new baseDialog_1.default();\n fileInvalid.render(this.mainScreenId, `Only files in this extensions are allowed to be upload: PNG, JPG, JPEG or PDF (${this.maxFileSize}MB max)`, \"Try again\");\n }\n openFileUriInvalidDialog() {\n const uriInvalidDialog = new baseDialog_1.default();\n uriInvalidDialog.render(this.mainScreenId, \"The uploaded file is invalid due to you have been idle for too long.\", \"Retake\", this.removeFile.bind(this));\n }\n openFileExposedDialog(isRetake) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, \"The file has exposure issues, please take a clear photo in a well-lit area.\", isRetake ? \"Retake\" : \"Proceed\", () => {\n this.removeFile();\n if (!isRetake)\n this.redirectToSubmissionErrorPage();\n });\n }\n openErrorDialog() {\n const fileInvalid = new baseDialog_1.default();\n fileInvalid.render(this.mainScreenId, \"Something went wrong. Please contact customer support for assistance or retry.\", \"Try again\", this.removeFile.bind(this));\n }\n validateFile(file) {\n const validFormats = [\n \"image/png\",\n \"image/jpg\",\n \"image/jpeg\",\n \"application/pdf\",\n ];\n const maxFileSize = this.maxFileSize * 1024 * 1024; // MB\n return validFormats.includes(file.type) && file.size <= maxFileSize;\n }\n uploadFile(file) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen([\"pw-bg-opacity-20\"]);\n if (!this.validateFile(file)) {\n if (this.fileInput)\n this.fileInput.value = \"\";\n return this.openFileInvalidDialog();\n }\n // 1. get presigned url\n // this.preSignedUrl =\n // \"https://s3-dev-ekyc-data-warehouse.s3.us-west-2.amazonaws.com/api-testing/poa/CA/1000072315.pdf?response-content-disposition=inline&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEDwaCXVzLXdlc3QtMiJGMEQCIHYaHcoCOFmDOkcLgl9%2BFQ%2F663QqTO9OMR%2B8bYMcocgRAiABFimR1f82KFhaz0xeYZLml7j%2Fd%2FDuTSeRHUc0t4p5air%2FAgglEAMaDDQ5NjI2MTg1MTg5MyIM%2FinQ8nH8myQGRV%2BKKtwCaRWJTwDrFj3zkR60x3IkBrhYAk1MSCTG40W3YfJ%2B4JU3UlOfcUuRejdccJeAN1lDeRGTVGof%2FdfRAOv3ER%2FXR3jHRm2RuBKpuaPbwVNPMlhEAtrJKGzL0ZA4FxVFPDvq%2BYUNYehllG3ZN0oC%2BzwB%2BNUYALDWYeRULj0QS1qq0OHCQ27V%2FqsoZxu8tt5DDDvkee7z3jl4GmpmEfxzedxcX8rjko8sdIhAcXfntnOG7DaRS2mXQ7zlAzze1tAyBWIokhj5%2BrKZrCGDQlNnqoxNo%2FxXVC%2BKXJLlwpbhMSn9r0n2z%2Bwybebwrhyvk9PcXPJtzeAiUas6mZ%2BuBEBznzduV1sIlBmL9BBpShPsdK0IGLBt4aKoIvFv97qD8RqdynMd1K4PgTN%2FdRgP6Ak5uGYo9%2BCuRdFqoKnJuRJWzSN1T7tccfkI4oVjATRP7oOODM%2FrAaGN73ZOTvQy4AxbMN%2BknLUGOrQCa%2BwVVT2V2ptazs%2BjcI9kkU94v9VYwIaLQKyVf9uvcJC%2FbNcBvhzy%2FF67u2ibq7y17KYeLnVuZaUrlkp3UyQ1NPrewOC4ck8D7pHZytudq6ypb%2FpAioeLfSF%2Bw1oAUcHFFIlnAhf2k%2Bt%2FbYSeOmv3fPGIWdL1S55CMEWGPkmMW76hbs8C6ZEqA5N1rSvTtEqMgYCwc1SGejv1YYRYAKtUYBNRThA2zuH0qXdwe07c58QFFUX1EQljv51a8ug32L8b38xVTvkYsIWRGvxmO3OLcWeWaPK0eBwITHqCkNNG2LzkzcitynyVja2jP9GF7JEZeLpM2MNDq%2FDvw%2FIJMkTraFcYFH3PYz5MWqEeUkM2h2GKiPhQSarYoflpdbXxIQyC9KU1veoHDsvR5JWwtGlQCP1DE4I%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240729T043136Z&X-Amz-SignedHeaders=host&X-Amz-Expires=43200&X-Amz-Credential=ASIAXHC4C5L263N3JMWF%2F20240729%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=016730ab6a19feac6346a7c6ebaf78cab0667f00317204a396207af74c312d46\";\n this.preSignedUrl = yield uisdk_1.pwInstance.uploadFile(file.name, file);\n this.selectedFile = file;\n const imageSection = document.getElementById(\"upload-image-section\");\n yield (0, fileSelector_1.previewFile)(file, imageSection || undefined, this.removeFile.bind(this));\n this.resetIdleTimeout();\n }\n catch (err) {\n this.openErrorDialog();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n removeFile() {\n return __awaiter(this, void 0, void 0, function* () {\n this.selectedFile = undefined;\n if (this.fileInput)\n this.fileInput.value = \"\";\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n const uploadImageSection = document.getElementById(\"upload-image-section\");\n if (uploadImageSection) {\n uploadImageSection.innerHTML = \"\";\n uploadImageSection.style.aspectRatio = \"1.45\";\n const uploadBtn = this.createUploadButton();\n uploadImageSection.appendChild(uploadBtn);\n }\n });\n }\n submitFile() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen([\"pw-bg-opacity-20\"]);\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n if (!this.selectedFile)\n return this.openFileMissingDialog();\n // submit the poa\n yield uisdk_1.pwInstance.uploadPoa({ poa_uri: this.preSignedUrl });\n (0, imagesHelper_1.setPoaFile)(this.selectedFile);\n // Redirect to Analyze Page\n const analyzePoa = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n analyzePoa.render(\"poa\");\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidFileErrors = [\n \"openApi/doc-empty\",\n \"openApi/doc-blur\",\n \"openApi/img-exposed\",\n ];\n const invalidUriErrors = [\"invalid-arguments\", \"invalid-argument-range\"];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n // open uri expired dialog\n if (invalidUriErrors.includes(err.type)) {\n this.openFileUriInvalidDialog();\n return;\n }\n // open image exposed dialog\n if (invalidFileErrors.includes(err.type)) {\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 const isRetake = !!(pwErrorPayload === null || pwErrorPayload === void 0 ? void 0 : pwErrorPayload.is_retriable);\n this.openFileExposedDialog(isRetake);\n return;\n }\n // redirect to submission error page\n if (maxAttemptErrors.includes(err.type)) {\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n this.openErrorPage();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n resetIdleTimeout() {\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n this.idleTimeout = setTimeout(() => {\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, camera_instruction_1.IDLE_MESSAGE, \"Okay\", this.removeFile.bind(this));\n }, this.idleLimit);\n }\n}\nexports[\"default\"] = VerifyPoa;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyPoa.ts?");
|
|
3949
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst fileSelector_1 = __webpack_require__(/*! ../helper/fileSelector */ \"./src/helper/fileSelector.ts\");\nconst getGoogleIcon_1 = __webpack_require__(/*! ../helper/getGoogleIcon */ \"./src/helper/getGoogleIcon.ts\");\nconst stepper_1 = __webpack_require__(/*! ../helper/stepper */ \"./src/helper/stepper.ts\");\nconst uisdk_1 = __webpack_require__(/*! ../uisdk */ \"./src/uisdk.ts\");\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst verification_1 = __webpack_require__(/*! ../constant/verification */ \"./src/constant/verification.ts\");\nconst AnalyzePage_1 = __importDefault(__webpack_require__(/*! ./AnalyzePage */ \"./src/pageClass/AnalyzePage.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst footer_1 = __importDefault(__webpack_require__(/*! ../components/footer */ \"./src/components/footer.ts\"));\nconst MainPage_1 = __importDefault(__webpack_require__(/*! ../classes/MainPage */ \"./src/classes/MainPage.ts\"));\nconst stepper_2 = __importDefault(__webpack_require__(/*! ../components/stepper */ \"./src/components/stepper.ts\"));\nconst SubmissionLimit_1 = __importDefault(__webpack_require__(/*! ./SubmissionLimit */ \"./src/pageClass/SubmissionLimit.ts\"));\nclass VerifyPoa extends MainPage_1.default {\n constructor(mainScreenId, displayMode) {\n super(mainScreenId, displayMode);\n this.idleLimit = 30 * 60 * 1000;\n this.maxFileSize = 2; // MB\n this.preSignedUrl = \"\";\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-overflow-y-hidden\", \"pw-h-full\");\n // stepper with close button\n const navigationDiv = this.createHeaderNavigation();\n pageDiv.appendChild(navigationDiv);\n // content\n const contentDiv = document.createElement(\"div\");\n contentDiv.classList.add(\"pw-grow\");\n // - title and description\n const titleDiv = document.createElement(\"div\");\n titleDiv.classList.add(\"pw-text-3xl\", \"pw-font-medium\", \"pw-mb-3\", \"pw-text-center\");\n titleDiv.innerHTML = (0, translations_1.$t)(\"proof_of_address_title\");\n contentDiv.appendChild(titleDiv);\n const descriptionDiv = document.createElement(\"div\");\n descriptionDiv.classList.add(\"pw-mb-6\", \"pw-text-center\");\n descriptionDiv.innerHTML = (0, translations_1.$t)(\"proof_of_address_desc\");\n contentDiv.appendChild(descriptionDiv);\n // - image body\n const uploadImageSection = this.createUploadSection();\n contentDiv.appendChild(uploadImageSection);\n // - image description\n const imageFormatDiv = document.createElement(\"div\");\n imageFormatDiv.classList.add(\"pw-mt-6\", \"pw-text-center\");\n imageFormatDiv.innerHTML = (0, translations_1.$t)(\"image_format_label\", {\n size: this.maxFileSize,\n });\n contentDiv.appendChild(imageFormatDiv);\n pageDiv.appendChild(contentDiv);\n // footer\n const footerDiv = this.createFooterButton();\n pageDiv.appendChild(footerDiv);\n return pageDiv;\n }\n createHeaderNavigation() {\n const navigationDiv = document.createElement(\"div\");\n navigationDiv.classList.add(\"pw-relative\", \"pw-text-center\", \"pw-mb-6\");\n const stepper = new stepper_2.default();\n const stepperElement = stepper.render(2, (0, stepper_1.getStepByType)(verification_1.VERIFICATION_TYPE.PROOF_OF_ADDRESS));\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.openLeavePageDialog());\n closeButton.appendChild(closeIcon);\n navigationDiv.appendChild(closeButton);\n return navigationDiv;\n }\n createFooterButton() {\n // footer\n const footerDiv = document.createElement(\"div\");\n // - button\n const submitButton = (0, components_1.createPrimaryButton)((0, translations_1.$t)(\"btn_submit\"));\n submitButton.classList.add(\"pw-mb-5\");\n submitButton.addEventListener(\"click\", this.submitFile.bind(this));\n footerDiv.appendChild(submitButton);\n // - powered by\n const footer = new footer_1.default().render();\n footerDiv.appendChild(footer);\n return footerDiv;\n }\n createUploadButton() {\n const uploadBtn = document.createElement(\"div\");\n uploadBtn.style.borderRadius = \"50%\";\n uploadBtn.classList.add(\"pw-p-2\", \"pw-bg-grey-6\", \"pw-text-grey-2\", \"pw-mb-3\");\n const addIcon = document.createElement(\"span\");\n addIcon.classList.add(\"material-icons\", \"pw-cursor-pointer\", \"material-symbols-outlined\");\n addIcon.innerHTML = \"add\";\n uploadBtn.appendChild(addIcon);\n return uploadBtn;\n }\n createUploadSection() {\n const uploadImageSection = document.createElement(\"div\");\n uploadImageSection.classList.add(\"pw-cursor-pointer\", \"pw-outline-dashed\", \"pw-outline-grey-6\", \"pw-mx-2\", \"pw-rounded-2xl\", \"pw-bg-grey-2\", \"pw-flex\", \"pw-flex-col\", \"pw-items-center\", \"pw-justify-center\", \"pw-drag-drop\", \"pw-p-5\");\n uploadImageSection.id = \"upload-image-section\";\n uploadImageSection.style.aspectRatio = \"1.45\";\n const uploadBtn = this.createUploadButton();\n uploadImageSection.appendChild(uploadBtn);\n const uploadText = document.createElement(\"div\");\n uploadText.innerHTML = (0, translations_1.$t)(\"click_to_take_photo\");\n uploadImageSection.appendChild(uploadText);\n // hidden file input\n this.fileInput = document.createElement(\"input\");\n this.fileInput.type = \"file\";\n this.fileInput.accept = \".png, .jpg, .jpeg, .pdf\";\n this.fileInput.style.display = \"none\";\n uploadImageSection.appendChild(this.fileInput);\n (0, fileSelector_1.dragDropArea)(uploadImageSection, this.uploadFile.bind(this));\n this.fileInput.addEventListener(\"change\", () => __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const file = (_b = (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.files) === null || _b === void 0 ? void 0 : _b[0];\n if (file)\n yield this.uploadFile(file);\n }));\n // Add event listener to the button to trigger the file input click\n uploadImageSection.addEventListener(\"click\", () => {\n var _a;\n (_a = this.fileInput) === null || _a === void 0 ? void 0 : _a.click();\n });\n return uploadImageSection;\n }\n openFileMissingDialog() {\n const invalidDialog = new baseDialog_1.default();\n invalidDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_poa_file_missing\"), (0, translations_1.$t)(\"btn_okay\"));\n }\n openFileInvalidDialog() {\n const fileInvalid = new baseDialog_1.default();\n fileInvalid.render(this.mainScreenId, (0, translations_1.$t)(\"error_poa_file_invalid\", { size: this.maxFileSize }), (0, translations_1.$t)(\"btn_try_again\"));\n }\n openFileUriInvalidDialog() {\n const uriInvalidDialog = new baseDialog_1.default();\n uriInvalidDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_poa_idle_long\"), (0, translations_1.$t)(\"btn_retake\"), this.removeFile.bind(this));\n }\n openFileExposedDialog(isRetake) {\n const errorDialog = new baseDialog_1.default();\n errorDialog.render(this.mainScreenId, (0, translations_1.$t)(\"error_poa_file_exposure\"), isRetake ? (0, translations_1.$t)(\"btn_retake\") : (0, translations_1.$t)(\"btn_proceed\"), () => {\n this.removeFile();\n if (!isRetake)\n this.redirectToSubmissionErrorPage();\n });\n }\n openErrorDialog() {\n const fileInvalid = new baseDialog_1.default();\n fileInvalid.render(this.mainScreenId, (0, translations_1.$t)(\"error_poa\"), (0, translations_1.$t)(\"btn_try_again\"), this.removeFile.bind(this));\n }\n validateFile(file) {\n const validFormats = [\n \"image/png\",\n \"image/jpg\",\n \"image/jpeg\",\n \"application/pdf\",\n ];\n const maxFileSize = this.maxFileSize * 1024 * 1024; // MB\n return validFormats.includes(file.type) && file.size <= maxFileSize;\n }\n uploadFile(file) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen([\"pw-bg-opacity-20\"]);\n if (!this.validateFile(file)) {\n if (this.fileInput)\n this.fileInput.value = \"\";\n return this.openFileInvalidDialog();\n }\n // 1. get presigned url\n // this.preSignedUrl =\n // \"https://s3-dev-ekyc-data-warehouse.s3.us-west-2.amazonaws.com/api-testing/poa/CA/1000072315.pdf?response-content-disposition=inline&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEDwaCXVzLXdlc3QtMiJGMEQCIHYaHcoCOFmDOkcLgl9%2BFQ%2F663QqTO9OMR%2B8bYMcocgRAiABFimR1f82KFhaz0xeYZLml7j%2Fd%2FDuTSeRHUc0t4p5air%2FAgglEAMaDDQ5NjI2MTg1MTg5MyIM%2FinQ8nH8myQGRV%2BKKtwCaRWJTwDrFj3zkR60x3IkBrhYAk1MSCTG40W3YfJ%2B4JU3UlOfcUuRejdccJeAN1lDeRGTVGof%2FdfRAOv3ER%2FXR3jHRm2RuBKpuaPbwVNPMlhEAtrJKGzL0ZA4FxVFPDvq%2BYUNYehllG3ZN0oC%2BzwB%2BNUYALDWYeRULj0QS1qq0OHCQ27V%2FqsoZxu8tt5DDDvkee7z3jl4GmpmEfxzedxcX8rjko8sdIhAcXfntnOG7DaRS2mXQ7zlAzze1tAyBWIokhj5%2BrKZrCGDQlNnqoxNo%2FxXVC%2BKXJLlwpbhMSn9r0n2z%2Bwybebwrhyvk9PcXPJtzeAiUas6mZ%2BuBEBznzduV1sIlBmL9BBpShPsdK0IGLBt4aKoIvFv97qD8RqdynMd1K4PgTN%2FdRgP6Ak5uGYo9%2BCuRdFqoKnJuRJWzSN1T7tccfkI4oVjATRP7oOODM%2FrAaGN73ZOTvQy4AxbMN%2BknLUGOrQCa%2BwVVT2V2ptazs%2BjcI9kkU94v9VYwIaLQKyVf9uvcJC%2FbNcBvhzy%2FF67u2ibq7y17KYeLnVuZaUrlkp3UyQ1NPrewOC4ck8D7pHZytudq6ypb%2FpAioeLfSF%2Bw1oAUcHFFIlnAhf2k%2Bt%2FbYSeOmv3fPGIWdL1S55CMEWGPkmMW76hbs8C6ZEqA5N1rSvTtEqMgYCwc1SGejv1YYRYAKtUYBNRThA2zuH0qXdwe07c58QFFUX1EQljv51a8ug32L8b38xVTvkYsIWRGvxmO3OLcWeWaPK0eBwITHqCkNNG2LzkzcitynyVja2jP9GF7JEZeLpM2MNDq%2FDvw%2FIJMkTraFcYFH3PYz5MWqEeUkM2h2GKiPhQSarYoflpdbXxIQyC9KU1veoHDsvR5JWwtGlQCP1DE4I%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240729T043136Z&X-Amz-SignedHeaders=host&X-Amz-Expires=43200&X-Amz-Credential=ASIAXHC4C5L263N3JMWF%2F20240729%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=016730ab6a19feac6346a7c6ebaf78cab0667f00317204a396207af74c312d46\";\n this.preSignedUrl = yield uisdk_1.pwInstance.uploadFile(file.name, file);\n this.selectedFile = file;\n const imageSection = document.getElementById(\"upload-image-section\");\n yield (0, fileSelector_1.previewFile)(file, imageSection || undefined, this.removeFile.bind(this));\n this.resetIdleTimeout();\n }\n catch (err) {\n this.openErrorDialog();\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n removeFile() {\n return __awaiter(this, void 0, void 0, function* () {\n this.selectedFile = undefined;\n if (this.fileInput)\n this.fileInput.value = \"\";\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n const uploadImageSection = document.getElementById(\"upload-image-section\");\n if (uploadImageSection) {\n uploadImageSection.innerHTML = \"\";\n uploadImageSection.style.aspectRatio = \"1.45\";\n const uploadBtn = this.createUploadButton();\n uploadImageSection.appendChild(uploadBtn);\n }\n });\n }\n submitFile() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n // start loading\n this.renderLoadingScreen([\"pw-bg-opacity-20\"]);\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n if (!this.selectedFile)\n return this.openFileMissingDialog();\n // submit the poa\n yield uisdk_1.pwInstance.uploadPoa({ poa_uri: this.preSignedUrl });\n (0, imagesHelper_1.setPoaFile)(this.selectedFile);\n // Redirect to Analyze Page\n const analyzePoa = new AnalyzePage_1.default(this.mainScreenId, this.displayMode);\n analyzePoa.render(\"poa\");\n }\n catch (err) {\n const maxAttemptErrors = [\n \"openApi/max-doc-attempt\",\n \"openApi/limit-exceed\",\n \"openApi/max-session-attempt\",\n \"openApi/session-id-expired\",\n \"session-id-expired\",\n ];\n const invalidFileErrors = [\n \"openApi/doc-empty\",\n \"openApi/doc-blur\",\n \"openApi/img-exposed\",\n ];\n const invalidUriErrors = [\"invalid-arguments\", \"invalid-argument-range\"];\n if ([\"PwError\", \"PwReqError\"].includes(err.name) && err.type) {\n // open uri expired dialog\n if (invalidUriErrors.includes(err.type)) {\n this.openFileUriInvalidDialog();\n return;\n }\n // open image exposed dialog\n if (invalidFileErrors.includes(err.type)) {\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 const isRetake = !!(pwErrorPayload === null || pwErrorPayload === void 0 ? void 0 : pwErrorPayload.is_retriable);\n this.openFileExposedDialog(isRetake);\n return;\n }\n // redirect to submission error page\n if (maxAttemptErrors.includes(err.type)) {\n this.redirectToSubmissionErrorPage();\n return;\n }\n }\n // redirect to unexpected error page\n this.openErrorPage(err);\n }\n finally {\n // stop loading\n this.removeOverlayElement();\n }\n });\n }\n redirectToSubmissionErrorPage() {\n this.clearScreen();\n // redirect to submission error page\n const submissionLimit = new SubmissionLimit_1.default(this.mainScreenId, this.displayMode);\n return submissionLimit.render();\n }\n resetIdleTimeout() {\n if (this.idleTimeout)\n clearTimeout(this.idleTimeout);\n this.idleTimeout = setTimeout(() => {\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, (0, translations_1.$t)(\"idle_message\"), (0, translations_1.$t)(\"btn_okay\"), this.removeFile.bind(this));\n }, this.idleLimit);\n }\n}\nexports[\"default\"] = VerifyPoa;\n\n\n//# sourceURL=webpack://PWUISDK/./src/pageClass/VerifyPoa.ts?");
|
|
3972
3950
|
|
|
3973
3951
|
/***/ }),
|
|
3974
3952
|
|
|
@@ -3979,7 +3957,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3979
3957
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3980
3958
|
|
|
3981
3959
|
"use strict";
|
|
3982
|
-
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 = __webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\");\nconst bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.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 var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const bitmap = this.videoElement;\n // 1. full image\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n canvas.width = bitmap.videoWidth;\n canvas.height = bitmap.videoHeight;\n context.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // 2. cropped image\n let cropCanvas = document.createElement(\"canvas\");\n let cropContext = cropCanvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n cropCanvas.width = bitmap.videoWidth;\n cropCanvas.height = bitmap.videoHeight;\n cropContext.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image height and width\n const { width, height } = this.cardDetectionSdk.calculateHeightNWidth(bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image coordinate (x,y)\n const x = (bitmap.videoWidth - width) / 2;\n const y = (bitmap.videoHeight - height) / 2;\n // crop the selected part image\n const imgData = cropContext.getImageData(x, y, width, height);\n cropCanvas.width = width;\n cropCanvas.height = height;\n cropContext.putImageData(imgData, 0, 0);\n // 3. resize the canvas\n try {\n canvas = (0, imagesHelper_1.resizeCanvas)(canvas, imagesHelper_1.maxFullImage.width, imagesHelper_1.maxFullImage.height);\n cropCanvas = (0, imagesHelper_1.resizeCanvas)(cropCanvas, imagesHelper_1.maxCroppedImage.width, imagesHelper_1.maxCroppedImage.height);\n }\n catch (err) {\n console.error(\"doc resize image error\", err);\n }\n // 4. construct payload - convert to desired file format\n const { width: displayWidth = \"\", height: displayHeight = \"\" } = ((_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style) || {};\n const payload = {\n fullImage: canvas.toDataURL(\"image/jpeg\"),\n croppedImage: cropCanvas.toDataURL(\"image/jpeg\"),\n displaySize: {\n width: Number(displayWidth.replace(\"px\", \"\")),\n height: Number(displayHeight.replace(\"px\", \"\")),\n },\n };\n return payload;\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(() => {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, camera_instruction_1.IDLE_MESSAGE, \"Okay\");\n }, this.cameraTimeLimit);\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)(this.cameraId);\n }\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 = new navigationBar_1.default().render(() => {\n this.stopVideoStream();\n });\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.CAMERA_INSTRUCTION[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.playsInline = true;\n videoElement.preload = \"auto\";\n videoElement.loop = 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 idCardTips() {\n const dialogContent = document.createElement(\"div\");\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const itemText = [\n \"Place your card within the frame and take picture.\",\n \"Make sure the photo is not blur or cropped.\",\n \"Avoid reflection and glare.\",\n ];\n for (let i = 0; i < itemText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = itemText[i];\n ul.appendChild(item);\n }\n dialogContent.appendChild(ul);\n return dialogContent;\n }\n creditCardTips() {\n const dialogContent = document.createElement(\"div\");\n // list title\n const menuTitle = document.createElement(\"div\");\n menuTitle.classList.add(\"pw-pt-4\");\n menuTitle.innerHTML = \"Please show the info below:\";\n // list\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const itemText = [\n \"Card owner’s name\",\n \"First 6 and last 4 digits ONLY\",\n \"Expiry date\",\n ];\n for (let i = 0; i < itemText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = itemText[i];\n ul.appendChild(item);\n }\n // list bottom\n const menuBottom = document.createElement(\"div\");\n menuTitle.classList.add(\"pw-pt-2\");\n menuBottom.innerHTML =\n \"Some credit/debit cards may require capturing both front and back to obtain all mandatory information.\";\n // important note\n const importantNote = document.createElement(\"div\");\n importantNote.classList.add(\"pw-flex\", \"pw-p-4\", \"pw-mt-4\", \"pw-bg-grey-3\");\n importantNote.style.setProperty(\"border-radius\", \"12px\");\n const noteImgContainer = document.createElement(\"div\");\n noteImgContainer.classList.add(\"pw-pr-2\");\n const noteImg = document.createElement(\"span\");\n noteImg.classList.add(\"material-icons\", \"material-symbols-outlined\", \"pw-text-grey-6\");\n noteImg.innerHTML = \"note_stack\";\n noteImgContainer.appendChild(noteImg);\n const noteText = document.createElement(\"div\");\n noteText.innerHTML =\n \"You may cover the middle digits and CVV on the card manually or cover it later.\";\n importantNote.appendChild(noteImgContainer);\n importantNote.appendChild(noteText);\n // append div\n dialogContent.appendChild(menuTitle);\n dialogContent.appendChild(ul);\n dialogContent.appendChild(menuBottom);\n dialogContent.appendChild(importantNote);\n return dialogContent;\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 let dialogContent;\n if (this.cardType.includes(\"cc\")) {\n dialogContent = this.creditCardTips();\n }\n else {\n dialogContent = this.idCardTips();\n }\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 pauseVideoStream() {\n var _a;\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 // stop idle timeout\n if (this.timer) {\n clearTimeout(this.timer);\n }\n });\n }\n resumeVideoStream(cardType) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n this.updateType(cardType);\n // resume the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.play();\n // start idle timeout\n this.timer = setTimeout(() => {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, camera_instruction_1.IDLE_MESSAGE, \"Okay\");\n }, this.cameraTimeLimit);\n (0, components_1.hideFullLoading)(this.cameraId);\n });\n }\n stopVideoStream() {\n if (this.videoElement && this.videoElement.srcObject) {\n const stream = this.videoElement.srcObject;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n this.videoElement.srcObject = null;\n }\n if (this.timer)\n clearTimeout(this.timer);\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.CAMERA_INSTRUCTION[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 })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n var _a;\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 (_a = screen.orientation) === null || _a === void 0 ? void 0 : _a.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?");
|
|
3960
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst camera_instruction_1 = __webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\");\nconst bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.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 var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const bitmap = this.videoElement;\n // 1. full image\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n canvas.width = bitmap.videoWidth;\n canvas.height = bitmap.videoHeight;\n context.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // 2. cropped image\n let cropCanvas = document.createElement(\"canvas\");\n let cropContext = cropCanvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n cropCanvas.width = bitmap.videoWidth;\n cropCanvas.height = bitmap.videoHeight;\n cropContext.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image height and width\n const { width, height } = this.cardDetectionSdk.calculateHeightNWidth(bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image coordinate (x,y)\n const x = (bitmap.videoWidth - width) / 2;\n const y = (bitmap.videoHeight - height) / 2;\n // crop the selected part image\n const imgData = cropContext.getImageData(x, y, width, height);\n cropCanvas.width = width;\n cropCanvas.height = height;\n cropContext.putImageData(imgData, 0, 0);\n // 3. resize the canvas\n try {\n canvas = (0, imagesHelper_1.resizeCanvas)(canvas, imagesHelper_1.maxFullImage.width, imagesHelper_1.maxFullImage.height);\n cropCanvas = (0, imagesHelper_1.resizeCanvas)(cropCanvas, imagesHelper_1.maxCroppedImage.width, imagesHelper_1.maxCroppedImage.height);\n }\n catch (err) {\n console.error(\"doc resize image error\", err);\n }\n // 4. construct payload - convert to desired file format\n const { width: displayWidth = \"\", height: displayHeight = \"\" } = ((_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style) || {};\n const payload = {\n fullImage: canvas.toDataURL(\"image/jpeg\"),\n croppedImage: cropCanvas.toDataURL(\"image/jpeg\"),\n displaySize: {\n width: Number(displayWidth.replace(\"px\", \"\")),\n height: Number(displayHeight.replace(\"px\", \"\")),\n },\n };\n return payload;\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(() => {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, (0, translations_1.$t)(\"idle_message\"), (0, translations_1.$t)(\"btn_okay\"));\n }, this.cameraTimeLimit);\n }\n finally {\n // hide loading spinner in full pg\n (0, components_1.hideFullLoading)(this.cameraId);\n }\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 = new navigationBar_1.default().render(() => {\n this.stopVideoStream();\n });\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.CAMERA_INSTRUCTION[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 = (0, translations_1.$t)(\"camera_desc\");\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 let topBorderElement = document.createElement(\"div\");\n topBorderElement.id = camera_1.ELEMENT_IDS.TOP_BORDER;\n topBorderElement.classList.add(\"border-element\");\n let bottomBorderElement;\n const outlineText = camera_instruction_1.CAMERA_INSTRUCTION[this.cardType].outlineText;\n if (outlineText) {\n topBorderElement.classList.add(\"border-id-element\");\n const idOutlineElement = document.createElement(\"div\");\n idOutlineElement.classList.add(\"pw-absolute\", \"pw-right-0\", \"pw-top-0\", \"pw-flex\", \"pw-w-full\", \"pw-h-full\", \"pw-items-center\", \"pw-justify-center\");\n const outlineImg = camera_instruction_1.CAMERA_INSTRUCTION[this.cardType].outlineImg;\n const iconImg = document.createElement(\"img\");\n iconImg.id = \"pw-camera-outline-img\";\n if (outlineImg)\n iconImg.setAttribute(\"src\", outlineImg);\n else\n iconImg.classList.add(\"hidden\");\n idOutlineElement.appendChild(iconImg);\n overlayElement.appendChild(idOutlineElement);\n const idOutlineBottom = document.createElement(\"div\");\n idOutlineBottom.classList.add(\"outlide-id-bottom\");\n const text = document.createElement(\"div\");\n text.id = \"pw-camera-subtitle\";\n text.style.margin = \"16px\";\n text.innerHTML = outlineText;\n idOutlineBottom.appendChild(text);\n overlayElement.appendChild(idOutlineBottom);\n }\n else {\n topBorderElement.classList.add(\"border-top-element\");\n 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 }\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.playsInline = true;\n videoElement.preload = \"auto\";\n videoElement.loop = 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 if (bottomBorderElement)\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 idCardTips() {\n const dialogContent = document.createElement(\"div\");\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const itemText = [(0, translations_1.$t)(\"id_tip_1\"), (0, translations_1.$t)(\"id_tip_2\"), (0, translations_1.$t)(\"id_tip_3\")];\n for (let i = 0; i < itemText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = itemText[i];\n ul.appendChild(item);\n }\n dialogContent.appendChild(ul);\n return dialogContent;\n }\n creditCardTips() {\n const dialogContent = document.createElement(\"div\");\n // list title\n const menuTitle = document.createElement(\"div\");\n menuTitle.classList.add(\"pw-pt-4\");\n menuTitle.innerHTML = (0, translations_1.$t)(\"cc_tip_title\");\n // list\n const ul = document.createElement(\"ul\");\n ul.classList.add(\"pw-px-5\");\n const itemText = [(0, translations_1.$t)(\"cc_tip_1\"), (0, translations_1.$t)(\"cc_tip_2\"), (0, translations_1.$t)(\"cc_tip_3\")];\n for (let i = 0; i < itemText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = itemText[i];\n ul.appendChild(item);\n }\n // list bottom\n const menuBottom = document.createElement(\"div\");\n menuTitle.classList.add(\"pw-pt-2\");\n menuBottom.innerHTML = (0, translations_1.$t)(\"cc_tip_bottom_1\");\n // important note\n const importantNote = document.createElement(\"div\");\n importantNote.classList.add(\"pw-flex\", \"pw-p-4\", \"pw-mt-4\", \"pw-bg-grey-3\");\n importantNote.style.setProperty(\"border-radius\", \"12px\");\n const noteImgContainer = document.createElement(\"div\");\n noteImgContainer.classList.add(\"pw-pr-2\");\n const noteImg = document.createElement(\"span\");\n noteImg.classList.add(\"material-icons\", \"material-symbols-outlined\", \"pw-text-grey-6\");\n noteImg.innerHTML = \"note_stack\";\n noteImgContainer.appendChild(noteImg);\n const noteText = document.createElement(\"div\");\n noteText.innerHTML = (0, translations_1.$t)(\"cc_tip_bottom_2\");\n importantNote.appendChild(noteImgContainer);\n importantNote.appendChild(noteText);\n // append div\n dialogContent.appendChild(menuTitle);\n dialogContent.appendChild(ul);\n dialogContent.appendChild(menuBottom);\n dialogContent.appendChild(importantNote);\n return dialogContent;\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 let dialogContent;\n if (this.cardType.includes(\"cc\")) {\n dialogContent = this.creditCardTips();\n }\n else {\n dialogContent = this.idCardTips();\n }\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 pauseVideoStream() {\n var _a;\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 // stop idle timeout\n if (this.timer) {\n clearTimeout(this.timer);\n }\n });\n }\n resumeVideoStream(cardType) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n this.updateType(cardType);\n // resume the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.play();\n // start idle timeout\n this.timer = setTimeout(() => {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, (0, translations_1.$t)(\"idle_message\"), (0, translations_1.$t)(\"btn_okay\"));\n }, this.cameraTimeLimit);\n (0, components_1.hideFullLoading)(this.cameraId);\n });\n }\n stopVideoStream() {\n if (this.videoElement && this.videoElement.srcObject) {\n const stream = this.videoElement.srcObject;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n this.videoElement.srcObject = null;\n }\n if (this.timer)\n clearTimeout(this.timer);\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 // update title\n const title = document.getElementById(\"pw-camera-title\");\n if (title)\n title.innerHTML = camera_instruction_1.CAMERA_INSTRUCTION[this.cardType].title;\n // update outline image\n const outlineImgEl = document.getElementById(\"pw-camera-outline-img\");\n if (outlineImgEl) {\n const outlineImg = camera_instruction_1.CAMERA_INSTRUCTION[this.cardType].outlineImg;\n if (outlineImg) {\n outlineImgEl.classList.remove(\"hidden\");\n outlineImgEl.setAttribute(\"src\", outlineImg);\n }\n else\n outlineImgEl.classList.add(\"hidden\");\n }\n // update outline text\n const outlineTextEl = document.getElementById(\"pw-camera-subtitle\");\n const outlineText = camera_instruction_1.CAMERA_INSTRUCTION[this.cardType].outlineText;\n if (outlineTextEl)\n outlineTextEl.innerHTML = outlineText || \"\";\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 })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n var _a;\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 (_a = screen.orientation) === null || _a === void 0 ? void 0 : _a.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?");
|
|
3983
3961
|
|
|
3984
3962
|
/***/ }),
|
|
3985
3963
|
|
|
@@ -3990,7 +3968,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
3990
3968
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
3991
3969
|
|
|
3992
3970
|
"use strict";
|
|
3993
|
-
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst id_1 = __webpack_require__(/*! ../constant/id */ \"./src/constant/id.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nclass CARDDETECTIONSDK {\n constructor(val) {\n this.type = camera_1.CARD_TYPES.ID;\n // html element\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n Object.assign(this, val);\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 const maxSize = videoHeight > videoWidth ? width : height;\n const squareSize = maxSize * 0.9;\n const idCardRatio = id_1.ID_CARD_RATIO[this.type] || id_1.ID_CARD_RATIO[\"others\"];\n const newWidth = squareSize;\n const newHeight = squareSize / idCardRatio;\n return { width: newWidth, height: newHeight };\n }\n resizeElement() {\n var _a, _b, _c, _d, _e, _f;\n if (!this.videoElement || !this.canvasElement)\n return;\n const videoWidth = this.videoElement.clientWidth;\n const videoHeight = this.videoElement.clientHeight;\n // 1. resize canvas to match video size\n this.canvasElement.width = videoWidth;\n this.canvasElement.height = videoHeight;\n // 2. resize square overlay to match video size\n const { width, height } = this.calculateHeightNWidth(videoWidth, videoHeight);\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"border-radius\", \"
|
|
3971
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst id_1 = __webpack_require__(/*! ../constant/id */ \"./src/constant/id.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst camera_instruction_1 = __webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.ts\");\nclass CARDDETECTIONSDK {\n constructor(val) {\n this.type = camera_1.CARD_TYPES.ID;\n // html element\n this.videoElement = null;\n this.canvasElement = null;\n this.overlayElement = null;\n this.titleElement = null;\n Object.assign(this, val);\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 const maxSize = videoHeight > videoWidth ? width : height;\n const squareSize = maxSize * 0.9;\n const idCardRatio = id_1.ID_CARD_RATIO[this.type] || id_1.ID_CARD_RATIO[\"others\"];\n const newWidth = squareSize;\n const newHeight = squareSize / idCardRatio;\n return { width: newWidth, height: newHeight };\n }\n resizeElement() {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n if (!this.videoElement || !this.canvasElement)\n return;\n const videoWidth = this.videoElement.clientWidth;\n const videoHeight = this.videoElement.clientHeight;\n // 1. resize canvas to match video size\n this.canvasElement.width = videoWidth;\n this.canvasElement.height = videoHeight;\n // 2. resize square overlay to match video size\n const { width, height } = this.calculateHeightNWidth(videoWidth, videoHeight);\n if (camera_instruction_1.CAMERA_INSTRUCTION[this.type].outlineText) {\n (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"border-top-right-radius\", \"8px\");\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.style.setProperty(\"border-top-left-radius\", \"8px\");\n }\n else {\n (_c = this.overlayElement) === null || _c === void 0 ? void 0 : _c.style.setProperty(\"border-radius\", \"15px\");\n }\n (_d = this.overlayElement) === null || _d === void 0 ? void 0 : _d.style.setProperty(\"border\", \"0px\");\n (_e = this.overlayElement) === null || _e === void 0 ? void 0 : _e.style.setProperty(\"width\", `${width}px`);\n (_f = this.overlayElement) === null || _f === void 0 ? void 0 : _f.style.setProperty(\"height\", `${height}px`);\n // 3. show border corner\n const topBorder = (_g = this.overlayElement) === null || _g === void 0 ? void 0 : _g.querySelector(`#${camera_1.ELEMENT_IDS.TOP_BORDER}`);\n topBorder === null || topBorder === void 0 ? void 0 : topBorder.style.setProperty(\"display\", \"inherit\");\n const bottomBorder = (_h = this.overlayElement) === null || _h === void 0 ? void 0 : _h.querySelector(`#${camera_1.ELEMENT_IDS.BOTTOM_BORDER}`);\n bottomBorder === null || bottomBorder === void 0 ? void 0 : bottomBorder.style.setProperty(\"display\", \"inherit\");\n }\n disableDetection() {\n var _a, _b;\n const topBorder = (_a = this.overlayElement) === null || _a === void 0 ? void 0 : _a.querySelector(`#${camera_1.ELEMENT_IDS.TOP_BORDER}`);\n topBorder === null || topBorder === void 0 ? void 0 : topBorder.style.setProperty(\"display\", \"none\");\n const bottomBorder = (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.querySelector(`#${camera_1.ELEMENT_IDS.BOTTOM_BORDER}`);\n bottomBorder === null || bottomBorder === void 0 ? void 0 : bottomBorder.style.setProperty(\"display\", \"none\");\n }\n init(type) {\n if (type)\n this.type = type;\n this.resizeElement();\n }\n}\nexports[\"default\"] = CARDDETECTIONSDK;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/card-detection.ts?");
|
|
3994
3972
|
|
|
3995
3973
|
/***/ }),
|
|
3996
3974
|
|
|
@@ -4012,7 +3990,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
4012
3990
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4013
3991
|
|
|
4014
3992
|
"use strict";
|
|
4015
|
-
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 bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.ts\");\nconst camera_instruction_1 = __webpack_require__(/*! ../constant/camera-instruction */ \"./src/constant/camera-instruction.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 const bitmap = this.videoElement;\n // 1. full image\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n canvas.width = bitmap.videoWidth;\n canvas.height = bitmap.videoHeight;\n context.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // 2. cropped image\n let cropCanvas = document.createElement(\"canvas\");\n let cropContext = cropCanvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n cropCanvas.width = bitmap.videoWidth;\n cropCanvas.height = bitmap.videoHeight;\n cropContext.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image height and width\n const { width, height } = this.faceDetectionSdk.calculateHeightNWidth(bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image coordinate (x,y)\n const x = (bitmap.videoWidth - width) / 2;\n const y = (bitmap.videoHeight - height) / 2;\n // crop the selected part image\n const imgData = cropContext.getImageData(x, y, width, height);\n cropCanvas.width = width;\n cropCanvas.height = height;\n cropContext.putImageData(imgData, 0, 0);\n // 3. resize the canvas\n try {\n canvas = (0, imagesHelper_1.resizeCanvas)(canvas, imagesHelper_1.maxFullImage.width, imagesHelper_1.maxFullImage.height);\n cropCanvas = (0, imagesHelper_1.resizeCanvas)(cropCanvas, imagesHelper_1.maxCroppedImage.width, imagesHelper_1.maxCroppedImage.height);\n }\n catch (err) {\n console.error(\"face resize image error\", err);\n }\n // 4. construct payload - convert to desired file format\n const payload = {\n fullImage: canvas.toDataURL(\"image/jpeg\"),\n croppedImage: cropCanvas.toDataURL(\"image/jpeg\"),\n };\n return payload;\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 this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, camera_instruction_1.IDLE_MESSAGE, \"Okay\");\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 drawCameraDisplay() {\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\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 = new navigationBar_1.default().render(() => {\n this.stopVideoStream();\n });\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.playsInline = true;\n videoElement.preload = \"auto\";\n videoElement.loop = 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. help icon\n // help dialog\n const helpDialog = new bottomDialog_1.default(\"pw-help-selfie-camera\");\n 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 helpText = [\n \"Position your face within the rounded frame.\",\n \"Make sure your face is not blur or cropped.\",\n \"Avoid reflection and glare.\",\n ];\n for (let i = 0; i < helpText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = helpText[i];\n ul.appendChild(item);\n }\n dialogContent.appendChild(ul);\n helpDialog.addContent(dialogContent);\n // icon to click to open the dialog\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]\", \"pw-text-white\");\n helpIcon.style.zIndex = \"9\";\n helpIcon.innerHTML = \"help\";\n helpIcon.addEventListener(\"click\", () => {\n helpDialog.openDialog();\n });\n // 4. append child\n mainBody.classList.add(\"camera-bg\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n mainBody.appendChild(helpIcon);\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 })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n var _a;\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 _b;\n this.faceDetectionSdk.init();\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.classList.remove(\"pw-hidden\");\n }));\n this.videoElement.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n (_a = screen.orientation) === null || _a === void 0 ? void 0 : _a.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 && this.videoElement.srcObject) {\n const stream = this.videoElement.srcObject;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n this.videoElement.srcObject = null;\n }\n if (this.timer)\n clearTimeout(this.timer);\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 // stop idle timeout\n if (this.timer) {\n clearTimeout(this.timer);\n }\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 resumeSmileFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n // resume the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.play();\n yield ((_b = this.faceDetectionSdk) === null || _b === void 0 ? void 0 : _b.startDetection());\n // start idle timeout\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, camera_instruction_1.IDLE_MESSAGE, \"Okay\");\n }), this.cameraTimeLimit);\n // hide green tick icon\n const checkIcon = document.getElementById(\"pw-camera-check-icon\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.add(\"pw-hidden\");\n // remove green circle\n const overlayElement = document.getElementById(\"overlayElement\");\n if (overlayElement)\n overlayElement.classList.remove(\"overlay-element--active\");\n // close all the background loading\n (0, components_1.hideFullLoading)(this.cameraId);\n });\n }\n}\nexports[\"default\"] = FaceCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-camera.ts?");
|
|
3993
|
+
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 translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst camera_1 = __webpack_require__(/*! ../models/camera */ \"./src/models/camera.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nconst bottomDialog_1 = __importDefault(__webpack_require__(/*! ../components/bottomDialog */ \"./src/components/bottomDialog.ts\"));\nconst baseDialog_1 = __importDefault(__webpack_require__(/*! ../components/baseDialog */ \"./src/components/baseDialog.ts\"));\nconst navigationBar_1 = __importDefault(__webpack_require__(/*! ../components/navigationBar */ \"./src/components/navigationBar.ts\"));\nconst imagesHelper_1 = __webpack_require__(/*! ../helper/imagesHelper */ \"./src/helper/imagesHelper.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 const bitmap = this.videoElement;\n // 1. full image\n let canvas = document.createElement(\"canvas\");\n let context = canvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n canvas.width = bitmap.videoWidth;\n canvas.height = bitmap.videoHeight;\n context.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // 2. cropped image\n let cropCanvas = document.createElement(\"canvas\");\n let cropContext = cropCanvas.getContext(\"2d\");\n // draw image to canvas, scale to target dimensions\n cropCanvas.width = bitmap.videoWidth;\n cropCanvas.height = bitmap.videoHeight;\n cropContext.drawImage(bitmap, 0, 0, bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image height and width\n const { width, height } = this.faceDetectionSdk.calculateHeightNWidth(bitmap.videoWidth, bitmap.videoHeight);\n // calculate cropped image coordinate (x,y)\n const x = (bitmap.videoWidth - width) / 2;\n const y = (bitmap.videoHeight - height) / 2;\n // crop the selected part image\n const imgData = cropContext.getImageData(x, y, width, height);\n cropCanvas.width = width;\n cropCanvas.height = height;\n cropContext.putImageData(imgData, 0, 0);\n // 3. resize the canvas\n try {\n canvas = (0, imagesHelper_1.resizeCanvas)(canvas, imagesHelper_1.maxFullImage.width, imagesHelper_1.maxFullImage.height);\n cropCanvas = (0, imagesHelper_1.resizeCanvas)(cropCanvas, imagesHelper_1.maxCroppedImage.width, imagesHelper_1.maxCroppedImage.height);\n }\n catch (err) {\n console.error(\"face resize image error\", err);\n }\n // 4. construct payload - convert to desired file format\n const payload = {\n fullImage: canvas.toDataURL(\"image/jpeg\"),\n croppedImage: cropCanvas.toDataURL(\"image/jpeg\"),\n };\n return payload;\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 = (0, translations_1.$t)(\"face_smile_at_camera\");\n }\n });\n this.faceDetectionSdk.listenToUserSmiled(() => {\n if (description) {\n description.innerHTML = (0, translations_1.$t)(\"face_smile_seconds\");\n }\n });\n this.faceDetectionSdk.listenToUserSmiledButNotLiveness(() => {\n if (description) {\n description.innerHTML = (0, translations_1.$t)(\"face_neutral_expression\");\n }\n });\n this.faceDetectionSdk.listenToLookStraight(() => {\n if (description) {\n description.innerHTML = (0, translations_1.$t)(\"face_looks_straight\");\n }\n });\n this.faceDetectionSdk.listenToPlaceFace(() => {\n if (description) {\n description.innerHTML = (0, translations_1.$t)(\"face_within_frame\");\n }\n });\n // 6. Start timer to close camera\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, (0, translations_1.$t)(\"idle_message\"), (0, translations_1.$t)(\"btn_okay\"));\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 drawCameraDisplay() {\n const mainBody = document.getElementById(this.cameraId);\n if (!mainBody)\n return;\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 = new navigationBar_1.default().render(() => {\n this.stopVideoStream();\n });\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 = (0, translations_1.$t)(\"face_within_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.playsInline = true;\n videoElement.preload = \"auto\";\n videoElement.loop = 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. help icon\n // help dialog\n const helpDialog = new bottomDialog_1.default(\"pw-help-selfie-camera\");\n 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 helpText = [\n (0, translations_1.$t)(\"selfie_tip_1\"),\n (0, translations_1.$t)(\"selfie_tip_2\"),\n (0, translations_1.$t)(\"selfie_tip_3\"),\n ];\n for (let i = 0; i < helpText.length; i++) {\n const item = document.createElement(\"li\");\n item.innerHTML = helpText[i];\n ul.appendChild(item);\n }\n dialogContent.appendChild(ul);\n helpDialog.addContent(dialogContent);\n // icon to click to open the dialog\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]\", \"pw-text-white\");\n helpIcon.style.zIndex = \"9\";\n helpIcon.innerHTML = \"help\";\n helpIcon.addEventListener(\"click\", () => {\n helpDialog.openDialog();\n });\n // 4. append child\n mainBody.classList.add(\"camera-bg\");\n mainBody.appendChild(header);\n mainBody.appendChild(body);\n mainBody.appendChild(helpIcon);\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 })\n .catch((err) => {\n console.error(\"Error accessing the camera:\", err);\n });\n }\n cameraInit() {\n var _a;\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 _b;\n this.faceDetectionSdk.init();\n (_b = this.overlayElement) === null || _b === void 0 ? void 0 : _b.classList.remove(\"pw-hidden\");\n }));\n this.videoElement.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n window.addEventListener(\"resize\", () => {\n this.resizeElement();\n });\n (_a = screen.orientation) === null || _a === void 0 ? void 0 : _a.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 && this.videoElement.srcObject) {\n const stream = this.videoElement.srcObject;\n const tracks = stream.getTracks();\n tracks.forEach(function (track) {\n track.stop();\n });\n this.videoElement.srcObject = null;\n }\n if (this.timer)\n clearTimeout(this.timer);\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 // stop idle timeout\n if (this.timer) {\n clearTimeout(this.timer);\n }\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 resumeSmileFace() {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n // resume the video\n (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.play();\n yield ((_b = this.faceDetectionSdk) === null || _b === void 0 ? void 0 : _b.startDetection());\n // start idle timeout\n this.timer = setTimeout(() => __awaiter(this, void 0, void 0, function* () {\n this.stopVideoStream();\n // open idle dialog\n const idleDialog = new baseDialog_1.default();\n idleDialog.render(this.mainScreenId, (0, translations_1.$t)(\"idle_message\"), (0, translations_1.$t)(\"btn_okay\"));\n }), this.cameraTimeLimit);\n // hide green tick icon\n const checkIcon = document.getElementById(\"pw-camera-check-icon\");\n checkIcon === null || checkIcon === void 0 ? void 0 : checkIcon.classList.add(\"pw-hidden\");\n // remove green circle\n const overlayElement = document.getElementById(\"overlayElement\");\n if (overlayElement)\n overlayElement.classList.remove(\"overlay-element--active\");\n // close all the background loading\n (0, components_1.hideFullLoading)(this.cameraId);\n });\n }\n}\nexports[\"default\"] = FaceCamera;\n\n\n//# sourceURL=webpack://PWUISDK/./src/plugins/face-camera.ts?");
|
|
4016
3994
|
|
|
4017
3995
|
/***/ }),
|
|
4018
3996
|
|
|
@@ -4023,7 +4001,29 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
4023
4001
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4024
4002
|
|
|
4025
4003
|
"use strict";
|
|
4026
|
-
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};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nlet loadedModelState = \"NOT_LOADED\";\nlet faceApiInstance;\n// direct use faceapi if it is already import in client's project (especially angular)\nfaceApiInstance =\n typeof faceapi !== \"undefined\" ? faceapi : __webpack_require__(/*! face-api.js */ \"./node_modules/face-api.js/build/es6/index.js\");\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 faceApiInstance.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 faceApiInstance.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 faceApiInstance\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 = faceApiInstance.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 // faceApiInstance.draw.drawDetections(this.canvasElement, resizedDetections);\n // faceApiInstance.draw.drawFaceLandmarks(this.canvasElement, resizedDetections);\n // faceApiInstance.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 // stop face detection\n if (this.iFrameRef)\n cancelAnimationFrame(this.iFrameRef);\n this.iFrameRef = undefined;\n // reset all the instructions text\n this.resetInstructions();\n });\n }\n startDetection() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isDone = false;\n // start face detection\n (0, components_1.createCountdown)(this.cameraId, 5, () => __awaiter(this, void 0, void 0, function* () {\n yield this.detectFace();\n }));\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 faceApiInstance.loadTinyFaceDetectorModel(url),\n faceApiInstance.loadFaceLandmarkModel(url),\n faceApiInstance.loadFaceRecognitionModel(url),\n faceApiInstance.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 // 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 (0, components_1.hideFullLoading)(this.cameraId);\n yield this.startDetection();\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?");
|
|
4004
|
+
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};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst translations_1 = __webpack_require__(/*! ../translations */ \"./src/translations/index.ts\");\nconst components_1 = __webpack_require__(/*! ../components/components */ \"./src/components/components.ts\");\nlet loadedModelState = \"NOT_LOADED\";\nlet faceApiInstance;\n// direct use faceapi if it is already import in client's project (especially angular)\nfaceApiInstance =\n typeof faceapi !== \"undefined\" ? faceapi : __webpack_require__(/*! face-api.js */ \"./node_modules/face-api.js/build/es6/index.js\");\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 faceApiInstance.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 faceApiInstance.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 = (0, translations_1.$t)(\"face_looks_straight\");\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 faceApiInstance\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 = faceApiInstance.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 // faceApiInstance.draw.drawDetections(this.canvasElement, resizedDetections);\n // faceApiInstance.draw.drawFaceLandmarks(this.canvasElement, resizedDetections);\n // faceApiInstance.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 // stop face detection\n if (this.iFrameRef)\n cancelAnimationFrame(this.iFrameRef);\n this.iFrameRef = undefined;\n // reset all the instructions text\n this.resetInstructions();\n });\n }\n startDetection() {\n return __awaiter(this, void 0, void 0, function* () {\n this.isDone = false;\n // start face detection\n (0, components_1.createCountdown)(this.cameraId, 5, () => __awaiter(this, void 0, void 0, function* () {\n yield this.detectFace();\n }));\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 faceApiInstance.loadTinyFaceDetectorModel(url),\n faceApiInstance.loadFaceLandmarkModel(url),\n faceApiInstance.loadFaceRecognitionModel(url),\n faceApiInstance.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 // 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 (0, components_1.hideFullLoading)(this.cameraId);\n yield this.startDetection();\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?");
|
|
4005
|
+
|
|
4006
|
+
/***/ }),
|
|
4007
|
+
|
|
4008
|
+
/***/ "./src/translations/en.ts":
|
|
4009
|
+
/*!********************************!*\
|
|
4010
|
+
!*** ./src/translations/en.ts ***!
|
|
4011
|
+
\********************************/
|
|
4012
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
4013
|
+
|
|
4014
|
+
"use strict";
|
|
4015
|
+
eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports[\"default\"] = {\n // btn\n btn_start_now: \"Start Now\",\n btn_okay: \"Okay\",\n btn_retake: \"Retake\",\n btn_proceed: \"Proceed\",\n btn_try_again: \"Try Again\",\n btn_submit: \"Submit\",\n btn_done: \"Done\",\n // common\n loading: \"Loading\",\n loading_dots: \"Loading...\",\n search: \"Search\",\n // first page\n national_identity_document_title: \"Capture ID photo\",\n national_identity_document_desc: \"Please ensure your document is clear, readable and valid.\",\n selfie_title: \"Face scan\",\n selfie_desc: \"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 cc_title: \"Credit card verification\",\n cc_desc: \"Please show expiry date, card owner's name and first 6 last 4 digits card number.\",\n poa_title: \"Utility bill verification\",\n poa_desc: \"Please ensure your document is clear, readable and valid.\",\n // national identity document\n select_id_type: \"Select ID type\",\n issuing_country: \"Issuing country/region\",\n document_type: \"Document type\",\n id_card: \"ID Card\",\n driver_license: \"Driver's License\",\n passport: \"Passport\",\n error_id: \"The image has glare issues, please take a clear photo in a well-lit area.\",\n // selfie\n error_selfie: \"The image is blur, please take a clear photo.\",\n // credit card\n cc_missing_info_title: \"Missing card info.\",\n cc_missing_info_desc: \"Capture the side of the card with:\",\n // - cc_missing_content_* (dont change the id_key)\n cc_missing_content_full_name: \"Card owner's name\",\n cc_missing_content_cc_number: \"Card number\",\n cc_missing_content_cc_number_first_6: \"First 6 digits of card number\",\n cc_missing_content_cc_number_last_4: \"Last 4 digits of card number\",\n cc_missing_content_date_of_expiry: \"Expiry date\",\n cc_expired_with_retry: \"Credit card expired. Please provide a new card to continue.\",\n cc_expired_without_retry: \"Credit card expired. Please ensure your credit card is valid.\",\n error_cc: \"The image has glare issues, please take a clear photo in a well-lit area.\",\n // proof of address\n proof_of_address_title: \"Upload utility bill\",\n proof_of_address_desc: \"Please upload your utility bill\",\n image_format_label: \"Format: PNG, JPG, JPEG or PDF ({size}MB max)\",\n click_to_take_photo: \"Click to take photo\",\n error_poa_file_missing: \"Please upload your utility bill to continue.\",\n error_poa_file_invalid: \"Only files in this extensions are allowed to be upload: PNG, JPG, JPEG or PDF ({size}MB max)\",\n error_poa_idle_long: \"The uploaded file is invalid due to you have been idle for too long.\",\n error_poa_file_exposure: \"The file has exposure issues, please take a clear photo in a well-lit area.\",\n error_poa: \"Something went wrong. Please contact customer support for assistance or retry.\",\n // camera instruction\n id_front_title: \"ID Card | Front\",\n id_front_outline: \"Front of ID\",\n id_back_title: \"ID Card | Back\",\n id_back_outline: \"Back of ID\",\n license_front_title: \"License | Front\",\n license_back_title: \"License | Back\",\n passport_title: \"Passport\",\n cc_front_title: \"Credit Card\",\n cc_back_title: \"Credit Card\",\n camera_desc: \"Place your document within the frame and take photo.\",\n idle_message: \"You have been idle for too long.\",\n tips: \"Tips\",\n id_tip_1: \"Place your card within the frame and take picture.\",\n id_tip_2: \"Make sure the photo is not blur or cropped.\",\n id_tip_3: \"Avoid reflection and glare.\",\n selfie_tip_1: \"Position your face within the rounded frame.\",\n selfie_tip_2: \"Make sure your face is not blur or cropped.\",\n selfie_tip_3: \"Avoid reflection and glare.\",\n cc_tip_title: \"Please show the info below:\",\n cc_tip_1: \"Card owner's name\",\n cc_tip_2: \"First 6 and last 4 digits ONLY\",\n cc_tip_3: \"Expiry date\",\n cc_tip_bottom_1: \"Some credit/debit cards may require capturing both front and back to obtain all mandatory information.\",\n cc_tip_bottom_2: \"You may cover the middle digits and CVV on the card manually or cover it later.\",\n flip_other_side: \"Flip the other side\",\n face_smile_at_camera: \"Please smile at the camera.\",\n face_smile_seconds: \"Please keep smiling for 3 seconds.\",\n face_neutral_expression: \"Please show a neutral expression at the camera.\",\n face_looks_straight: \"Please look straight at the camera.\",\n face_within_frame: \"Place your face within the rounded frame.\",\n card_masking_title: \"Hide your info\",\n card_masking_desc: \"Please cover the middle digits and CVV on the card.\",\n // submission limit\n submission_limit_title: \"Submission limit reached\",\n submission_limit_desc: \"Your submission couldn't be processed as it has reached the maximum number of attempts.\",\n // analyze page\n analyze_title: \"Analyzing the pictures\",\n analyze_desc: \"Please do not close your browser, this may take a moment.\",\n error_analyze: \"Unable to verify your documents. Please check your documents and resubmit again.\",\n // summary\n // - form label - label_* (dont change the id_key)\n label_full_name: \"Full name\",\n // - credit card\n label_cc_number: \"Card number\",\n label_cc_number_first_6: \"First 6 Card Number\",\n label_cc_number_last_4: \"Last 4 Card Number\",\n label_doe_year: \"Expiry date\",\n label_doe_month: \"Expiry date\",\n label_date_of_expiry: \"Expiry date\",\n // - national identity document\n label_given_name: \"Given name\",\n label_surname: \"Surname\",\n label_id_number: \"Identity card number\",\n label_date_of_birth: \"Date of birth\",\n label_gender: \"Gender\",\n label_line1: \"Address\",\n label_city: \"City\",\n label_zip: \"Zip code\",\n label_country_iso2: \"Country\",\n label_state_iso: \"State/Region\",\n // - proof of address\n label_receiver_name: \"Full Name\",\n label_receiver_address: \"Address\",\n label_receiver_city: \"City\",\n label_receiver_zip: \"Zip code\",\n label_receiver_country_iso2: \"Country\",\n label_receiver_state_iso: \"State/Region\",\n // - images\n img_label_front: \"Front\",\n img_label_back: \"Back\",\n img_label_first: \"Capture 1\",\n img_label_second: \"Capture 2\",\n // complete page\n submission_received: \"Submission has been received\",\n count_down_message: \"Redirecting you to merchant page in {seconds} seconds.\",\n // error page\n smtg_went_wrong: \"Something went wrong\",\n fail_to_locate_verification: \"We could not locate a suitable verification type for you. Please contact customer support for assistance.\",\n contact_support: \"Please contact customer support for assistance or retry.\",\n back_to_merchant: \"Back to merchant\",\n // error message - error_* (dont change the id_key)\n error_expiry_date: \"The expiry date must be today or in the future.\",\n error_invalid_month: \"Month must be between 1 and 12.\",\n error_required: \"This field is required.\",\n error_invalid_field: \"Invalid {field}.\",\n error_min_char: \"This field requires min {n} characters length.\",\n error_max_char: \"This field requires max {n} characters length.\",\n error_between_char: \"This field requires min {min} and max {max} characters length.\",\n error_invalid_card: \"This field requires first 6 and last 4 digits.\",\n};\n\n\n//# sourceURL=webpack://PWUISDK/./src/translations/en.ts?");
|
|
4016
|
+
|
|
4017
|
+
/***/ }),
|
|
4018
|
+
|
|
4019
|
+
/***/ "./src/translations/index.ts":
|
|
4020
|
+
/*!***********************************!*\
|
|
4021
|
+
!*** ./src/translations/index.ts ***!
|
|
4022
|
+
\***********************************/
|
|
4023
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4024
|
+
|
|
4025
|
+
"use strict";
|
|
4026
|
+
eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.$t = exports.state = void 0;\nconst en_1 = __importDefault(__webpack_require__(/*! ./en */ \"./src/translations/en.ts\"));\n// temp store here\nexports.state = { locale: \"\" };\nconst mapper = { en: en_1.default };\nconst $t = (key, object) => {\n const mapped = mapper[exports.state.locale || \"en\"];\n let text = mapped[key] || \"\";\n if (text && object) {\n for (const k in object) {\n if (object[k])\n text = text.replace(new RegExp(`{${k}}`, \"g\"), `${object[k]}`);\n }\n }\n return text;\n};\nexports.$t = $t;\n\n\n//# sourceURL=webpack://PWUISDK/./src/translations/index.ts?");
|
|
4027
4027
|
|
|
4028
4028
|
/***/ }),
|
|
4029
4029
|
|
|
@@ -4034,7 +4034,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
|
|
|
4034
4034
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4035
4035
|
|
|
4036
4036
|
"use strict";
|
|
4037
|
-
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(\"
|
|
4037
|
+
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\");\nconst translations_1 = __webpack_require__(/*! ./translations */ \"./src/translations/index.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((0, translations_1.$t)(\"loading\"));\n try {\n const result = yield exports.pwInstance.init(accessToken);\n const { verification_types } = result;\n const selfieIndex = verification_types.indexOf(\"selfie\");\n const identityDocIndex = verification_types.indexOf(\"national_identity_document\");\n // temp in this stage: selfie must always come together with id\n if (selfieIndex !== -1 || identityDocIndex !== -1) {\n const isSelfieAfterId = identityDocIndex + 1 === selfieIndex;\n if (!isSelfieAfterId)\n return loadingPage.openErrorPage();\n }\n // load face model in bg\n if (verification_types.includes(\"selfie\")) {\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 }\n loadingPage.clearScreen();\n const firstPage = new StartPage_1.default(this.mainScreenId, displayMode);\n firstPage.render();\n }\n catch (error) {\n loadingPage.openErrorPage(error);\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 onSuccess(cb) {\n const mainScreen = document.getElementById(this.mainScreenId);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.addEventListener(\"success:ekyc\", () => {\n cb();\n });\n }\n onFailed(cb) {\n const mainScreen = document.getElementById(this.mainScreenId);\n mainScreen === null || mainScreen === void 0 ? void 0 : mainScreen.addEventListener(\"fail:ekyc\", (event) => {\n cb(event.detail);\n });\n }\n}\nexports[\"default\"] = PWUISDK;\n\n\n//# sourceURL=webpack://PWUISDK/./src/uisdk.ts?");
|
|
4038
4038
|
|
|
4039
4039
|
/***/ }),
|
|
4040
4040
|
|
|
@@ -4056,7 +4056,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
4056
4056
|
/***/ ((module) => {
|
|
4057
4057
|
|
|
4058
4058
|
"use strict";
|
|
4059
|
-
eval("module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMSAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+
|
|
4059
|
+
eval("module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMSAxMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHg9IjAuNSIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHJ4PSI1MCIgZmlsbD0iIzJDQkY2RSIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPHJlY3QgeD0iMTAuNSIgeT0iMTAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCIgcng9IjQwIiBmaWxsPSIjMkNCRjZFIi8+CjxtYXNrIGlkPSJtYXNrMF82MTg5XzExMjY4IiBzdHlsZT0ibWFzay10eXBlOmFscGhhIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIxNSIgeT0iMTUiIHdpZHRoPSI3MSIgaGVpZ2h0PSI3MCI+CjxyZWN0IHg9IjE1LjUiIHk9IjE1IiB3aWR0aD0iNzAiIGhlaWdodD0iNzAiIGZpbGw9IiNEOUQ5RDkiLz4KPC9tYXNrPgo8ZyBtYXNrPSJ1cmwoI21hc2swXzYxODlfMTEyNjgpIj4KPHBhdGggZD0iTTQzLjM1NCA1OS4xODc1TDY4LjA3MjggMzQuNDY4OEM2OC42NTYxIDMzLjg4NTQgNjkuMzM2NiAzMy41OTM4IDcwLjExNDQgMzMuNTkzOEM3MC44OTIyIDMzLjU5MzggNzEuNTcyOCAzMy44ODU0IDcyLjE1NjEgMzQuNDY4OEM3Mi43Mzk0IDM1LjA1MjEgNzMuMDMxMSAzNS43NDQ4IDczLjAzMTEgMzYuNTQ2OUM3My4wMzExIDM3LjM0OSA3Mi43Mzk0IDM4LjA0MTcgNzIuMTU2MSAzOC42MjVMNDUuMzk1NyA2NS40NTgzQzQ0LjgxMjMgNjYuMDQxNyA0NC4xMzE4IDY2LjMzMzMgNDMuMzU0IDY2LjMzMzNDNDIuNTc2MiA2Ni4zMzMzIDQxLjg5NTcgNjYuMDQxNyA0MS4zMTIzIDY1LjQ1ODNMMjguNzcwNyA1Mi45MTY3QzI4LjE4NzMgNTIuMzMzMyAyNy45MDc4IDUxLjY0MDYgMjcuOTMyMSA1MC44Mzg1QzI3Ljk1NjQgNTAuMDM2NSAyOC4yNjAyIDQ5LjM0MzggMjguODQzNiA0OC43NjA0QzI5LjQyNjkgNDguMTc3MSAzMC4xMTk2IDQ3Ljg4NTQgMzAuOTIxNyA0Ny44ODU0QzMxLjcyMzggNDcuODg1NCAzMi40MTY1IDQ4LjE3NzEgMzIuOTk5OCA0OC43NjA0TDQzLjM1NCA1OS4xODc1WiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8L3N2Zz4K\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/icon/circle_check.svg?");
|
|
4060
4060
|
|
|
4061
4061
|
/***/ }),
|
|
4062
4062
|
|
|
@@ -4082,6 +4082,17 @@ eval("module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdod
|
|
|
4082
4082
|
|
|
4083
4083
|
/***/ }),
|
|
4084
4084
|
|
|
4085
|
+
/***/ "./src/assets/icon/logo-pw.svg":
|
|
4086
|
+
/*!*************************************!*\
|
|
4087
|
+
!*** ./src/assets/icon/logo-pw.svg ***!
|
|
4088
|
+
\*************************************/
|
|
4089
|
+
/***/ ((module) => {
|
|
4090
|
+
|
|
4091
|
+
"use strict";
|
|
4092
|
+
eval("module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTMiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCA5MyAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzY5NzNfNDYxKSI+CjxwYXRoIGQ9Ik0yNS43ODk4IDEuNDYyMjdMMjIuODkzMiAxMC44ODU3QzIyLjg5MzIgMTAuODg1NyAyMi43NjI5IDExLjQzMTIgMjIuNTU1MyAxMS42MTk1QzIyLjM2NyAxMS43ODM2IDIyLjE3ODggMTEuODY1NyAyMS45OTA1IDExLjg2NTdDMjEuNTYwOCAxMS44NjU3IDIxLjM2MjkgMTEuNjM0IDIxLjI4MDggMTEuNDk4OEMyMS4xNzQ2IDExLjMyMDIgMjEuMTIxNSAxMS4wOTMzIDIxLjEyMTUgMTAuODIzVjMuODQ3MDlDMjEuMTIxNSAzLjEwODQ3IDIwLjgxNzQgMi41MTQ2OCAyMC4xODk4IDIuMDI3MDlDMTkuNTc2NyAxLjU1Mzk5IDE4Ljg2NyAxLjMyMjI3IDE4LjAxNzQgMS4zMjIyN0MxNy4yOTMyIDEuMzIyMjcgMTYuNjU2IDEuNTA1NzEgMTYuMTIwMSAxLjg3NzQ0QzE1LjUxNjcgMi4yOTI2MSAxNS4xMTEyIDIuODg2NCAxNC44ODkxIDMuNjk3NDRMMTIuNTE4OCAxMC45NDM2QzEyLjM4MzYgMTEuMzI1IDEyLjI0MzYgMTEuNTY2NCAxMi4wODQzIDExLjcwNjRDMTEuOTM5NCAxMS44MzY4IDExLjc0MTUgMTEuODk5NSAxMS41MDUgMTEuODcwNUwxMS40NTE5IDExLjg2MDlDMTEuMTUyNiAxMS43Nzg4IDEwLjk2OTEgMTEuNjgyMyAxMC44NTgxIDExLjU0MjNDMTAuNzQyMiAxMS4zOTc0IDEwLjY4OTEgMTEuMTgwMiAxMC42ODkxIDEwLjgzMjZWNC45MDkxNkwxMC42Nzk0IDQuODk0NjhDMTAuNjY1IDMuOTI5MTYgMTAuMzk0NiAzLjA5ODgyIDkuODczMjQgMi40Mzc0NEM5LjUwMTUyIDEuOTY0MzMgOS4wNDc3MiAxLjY1MDU0IDguNTA3MDMgMS40ODE1OEM4LjE5ODA3IDEuMzg1MDIgNy44NjAxNCAxLjMzNjc1IDcuNDg4NDEgMS4zMzY3NUgwLjMzMzkyOVYzLjM5MzNINy4wMDU2NUM3LjQ0NDk2IDMuMzkzMyA3LjgxNjY5IDMuNTcxOTIgOC4wNzczOCAzLjkxNDY4QzguMjk5NDUgNC4yMDQzMyA4LjQxNTMxIDQuNTU2NzUgOC40MTUzMSA0Ljk3MTkyQzguNDE1MzEgNS4zODcwOSA4LjI5OTQ1IDUuNzE1MzcgOC4wNjI5IDYuMDA1MDJDNy44MTE4NiA2LjMxODgyIDcuNDQ0OTYgNi40ODI5NiA3LjAwNTY1IDYuNDgyOTZIMy40MTg3NkMyLjM1MTg2IDYuNDgyOTYgMS41Njk3OSA2LjgxMTIzIDEuMDI5MSA3LjQ4MjI3QzAuNTY1NjUzIDguMDYxNTggMC4zMjkxMDIgOC44NDM2NSAwLjMyOTEwMiA5LjgwOTE2VjEzLjgyNTdIMi40NzI1NVYxMC4wMzEyQzIuNDcyNTUgMTAuMDMxMiAyLjQxOTQ1IDguNjAyMjcgNC4xODE1MiA4LjYwMjI3SDcuNDg4NDFDNy44NjAxNCA4LjYwMjI3IDguMTk4MDcgOC41NTM5OSA4LjUwNzAzIDguNDUyNjFWMTEuNTE4MUM4LjUwNzAzIDEyLjM2MyA4LjgxNiAxMi45OTA1IDkuNDQzNTkgMTMuNDI1QzEwLjAwMzYgMTMuODExMiAxMC43NDcgMTQuMDA5MiAxMS42NDk4IDE0LjAwOTJDMTIuNDUxMiAxNC4wMDkyIDEzLjEwMjkgMTMuNzk2OCAxMy42Mzg4IDEzLjM1NzRDMTQuMTUwNSAxMi45NDcxIDE0LjU4OTggMTIuMjgwOSAxNC45NTE5IDExLjM4NzhMMTcuMDY2MyA0LjIzMzNDMTcuMTYyOSA0LjAxMTIzIDE3LjI5MzIgMy44Mzc0NCAxNy40NDc3IDMuNzE2NzVDMTcuNjE2NyAzLjU4NjQgMTcuODA1IDMuNTE4ODIgMTguMDAyOSAzLjUxODgyQzE4LjI2ODQgMy41MTg4MiAxOC41MDAxIDMuNjM0NjggMTguNjc4OCAzLjg1MTkyQzE4LjgzODEgNC4wNDk4NSAxOC45MjAxIDQuMzAwODkgMTguOTIwMSA0LjYwNTAyVjExLjUwODVDMTguOTIwMSAxMi4zNjMgMTkuMjI5MSAxMi45ODU3IDE5Ljg2NjMgMTMuNDI1QzIwLjQzMTIgMTMuODExMiAyMS4xNzQ2IDE0LjAwOTIgMjIuMDgyMiAxNC4wMDkyQzIyLjc5NjcgMTQuMDA5MiAyMy40MDk4IDEzLjc2MyAyMy45NTUzIDEzLjI2MDlDMjQuNTYzNiAxMi43MDU3IDI1LjAzMTkgMTEuODU2MSAyNS4zNDU3IDEwLjczNjFMMjguMDI5OCAxLjQ3MTkySDI1Ljc5NDZMMjUuNzg5OCAxLjQ2MjI3WiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNMzguNzU2MyA1LjU4MDc2VjYuMDUzODZDMzguOTQ5NCA1Ljg2MDc2IDM5LjE2MTggNS43MTExMSAzOS4zODg3IDUuNjE0NTVDMzkuNjE1NiA1LjUxOCAzOS44NTcgNS40Njk3MyA0MC4xMTc3IDUuNDY5NzNDNDAuNjc3NyA1LjQ2OTczIDQxLjE2MDQgNS42ODIxNCA0MS41NTE1IDYuMTA2OTdDNDEuOTQyNSA2LjUzMTggNDIuMTQwNCA3LjA3NzMxIDQyLjE0MDQgNy43NDM1MkM0Mi4xNDA0IDguNDA5NzMgNDEuOTM3NyA4LjkyMTQ1IDQxLjUzMjIgOS4zNTExMUM0MS4xMjY2IDkuNzg1NTkgNDAuNjQzOSA5Ljk5OCA0MC4wODg3IDkuOTk4QzM5Ljg0MjUgOS45OTggMzkuNjEwOCA5Ljk1NDU1IDM5LjM5MzUgOS44NjI4M0MzOS4xODExIDkuNzc1OTMgMzguOTY4NyA5LjYzMTExIDM4Ljc1NjMgOS40MjgzNVYxMS40NjA4SDM3LjY4NDZWNS41NzU5M0gzOC43NTYzVjUuNTgwNzZaTTM5Ljg5NTYgNi40NjQyMUMzOS41NTc3IDYuNDY0MjEgMzkuMjcyOCA2LjU4MDA3IDM5LjA0NTkgNi44MTE4QzM4LjgyMzkgNy4wNDM1MiAzOC43MDggNy4zNDc2NiAzOC43MDggNy43MjQyMUMzOC43MDggOC4xMDA3NiAzOC44MTkxIDguNDE5MzggMzkuMDQ1OSA4LjY1MTExQzM5LjI2OCA4Ljg4NzY2IDM5LjU1MjggOS4wMDgzNSAzOS44OTU2IDkuMDA4MzVDNDAuMjM4NCA5LjAwODM1IDQwLjUwMzkgOC44ODc2NiA0MC43MzA4IDguNjQ2MjhDNDAuOTU3NyA4LjQwNDkgNDEuMDY4NyA4LjEwMDc2IDQxLjA2ODcgNy43MjkwNEM0MS4wNjg3IDcuMzU3MzEgNDAuOTU3NyA3LjA1OCA0MC43MzU2IDYuODIxNDVDNDAuNTEzNSA2LjU4NDkgNDAuMjMzNSA2LjQ2OTA0IDM5Ljg5NTYgNi40NjkwNFY2LjQ2NDIxWiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNNDcuMDY1MyAzLjgwMzY2QzQ3LjI1MzYgMy44MDM2NiA0Ny40MTc4IDMuODcxMjQgNDcuNTUyOSA0LjAxMTI0QzQ3LjY4ODEgNC4xNDY0MSA0Ny43NTU3IDQuMzE1MzggNDcuNzU1NyA0LjUwODQ4QzQ3Ljc1NTcgNC43MDE1OSA0Ny42ODgxIDQuODY1NzIgNDcuNTUyOSA1LjAwMDlDNDcuNDE3OCA1LjEzNjA3IDQ3LjI1ODQgNS4yMDM2NiA0Ny4wNzAyIDUuMjAzNjZDNDYuODgxOSA1LjIwMzY2IDQ2LjcxMjkgNS4xMzYwNyA0Ni41Nzc4IDQuOTk2MDdDNDYuNDQyNiA0Ljg1NjA3IDQ2LjM3NSA0LjY4NzEgNDYuMzc1IDQuNDg5MTdDNDYuMzc1IDQuMjkxMjQgNDYuNDQyNiA0LjEzNjc2IDQ2LjU3NzggNC4wMDE1OUM0Ni43MTI5IDMuODY2NDEgNDYuODcyMiAzLjc5ODgzIDQ3LjA2NTMgMy43OTg4M1YzLjgwMzY2Wk00Ni41MjQ3IDUuNTgwMjFINDcuNjA2VjkuODkxMjRINDYuNTI0N1Y1LjU4MDIxWiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNNTMuMjY0MSA1LjU4MDc2VjYuMDUzODZDNTMuNDU3MiA1Ljg2MDc2IDUzLjY2OTYgNS43MTExMSA1My44OTY1IDUuNjE0NTVDNTQuMTIzNCA1LjUxOCA1NC4zNjQ4IDUuNDY5NzMgNTQuNjI1NSA1LjQ2OTczQzU1LjE4NTUgNS40Njk3MyA1NS42NjgyIDUuNjgyMTQgNTYuMDU5MyA2LjEwNjk3QzU2LjQ1MDMgNi41MzE4IDU2LjY0ODIgNy4wNzczMSA1Ni42NDgyIDcuNzQzNTJDNTYuNjQ4MiA4LjQwOTczIDU2LjQ0NTUgOC45MjE0NSA1Ni4wNCA5LjM1MTExQzU1LjYzNDUgOS43ODU1OSA1NS4xNTE3IDkuOTk4IDU0LjU5NjUgOS45OThDNTQuMzUwMyA5Ljk5OCA1NC4xMTg2IDkuOTU0NTUgNTMuOTAxMyA5Ljg2MjgzQzUzLjY4ODkgOS43NzU5MyA1My40NzY1IDkuNjMxMTEgNTMuMjY0MSA5LjQyODM1VjExLjQ2MDhINTIuMTkyNFY1LjU3NTkzSDUzLjI2NDFWNS41ODA3NlpNNTQuNDAzNCA2LjQ2NDIxQzU0LjA2NTUgNi40NjQyMSA1My43ODA3IDYuNTgwMDcgNTMuNTUzOCA2LjgxMThDNTMuMzMxNyA3LjA0MzUyIDUzLjIxNTggNy4zNDc2NiA1My4yMTU4IDcuNzI0MjFDNTMuMjE1OCA4LjEwMDc2IDUzLjMyNjkgOC40MTkzOCA1My41NTM4IDguNjUxMTFDNTMuNzc1OCA4Ljg4NzY2IDU0LjA2MDcgOS4wMDgzNSA1NC40MDM0IDkuMDA4MzVDNTQuNzQ2MiA5LjAwODM1IDU1LjAxMTcgOC44ODc2NiA1NS4yMzg2IDguNjQ2MjhDNTUuNDY1NSA4LjQwNDkgNTUuNTc2NSA4LjEwMDc2IDU1LjU3NjUgNy43MjkwNEM1NS41NzY1IDcuMzU3MzEgNTUuNDY1NSA3LjA1OCA1NS4yNDM0IDYuODIxNDVDNTUuMDIxMyA2LjU4NDkgNTQuNzQxMyA2LjQ2OTA0IDU0LjQwMzQgNi40NjkwNFY2LjQ2NDIxWiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNNjAuNjczOCA1LjU4MTA1SDYxLjczMTFMNjIuNiA4LjAzMzQ3TDYzLjUzMTggNS41ODEwNUg2NC4xNzg3TDY1LjA5NTkgOC4wMDQ1TDY1Ljk2NDkgNS41ODEwNUg2Ny4wMzE4TDY1LjQ1OCA5Ljg5MjA5SDY0Ljc3MjRMNjMuODU1MiA3LjQzNDg1TDYyLjkwOSA5Ljg5MjA5SDYyLjIzMzFMNjAuNjc4NyA1LjU4MTA1SDYwLjY3MzhaIiBmaWxsPSIjODA4Mjg1Ii8+CjxwYXRoIGQ9Ik03NC40MjMzIDUuNTgwODdINzUuNTA0NlY5Ljg5MTkxSDc0LjQyMzNWOS40MzgxMUM3NC4yMTA4IDkuNjQwODcgNzMuOTk4NCA5Ljc4MDg3IDczLjc4NiA5Ljg3MjZDNzMuNTczNiA5Ljk1OTQ5IDczLjM0MTkgMTAuMDA3OCA3My4wOTU3IDEwLjAwNzhDNzIuNTQwNSAxMC4wMDc4IDcyLjA1NzcgOS43OTA1MyA3MS42NTIyIDkuMzYwODdDNzEuMjQ2NyA4LjkzMTIyIDcxLjA0MzkgOC4zOTUzNSA3MS4wNDM5IDcuNzUzMjhDNzEuMDQzOSA3LjExMTIyIDcxLjI0MTkgNi41NDE1NiA3MS42MzI5IDYuMTE2NzNDNzIuMDIzOSA1LjY5MTkxIDcyLjUwMTkgNS40Nzk0OSA3My4wNjY3IDUuNDc5NDlDNzMuMzIyNiA1LjQ3OTQ5IDczLjU2ODggNS41Mjc3NyA3My43OTU3IDUuNjI0MzJDNzQuMDIyNiA1LjcyMDg3IDc0LjIzMDIgNS44NzA1MyA3NC40MjMzIDYuMDYzNjNWNS41OTA1M1Y1LjU4MDg3Wk03My4yODM5IDYuNDY0MzJDNzIuOTUwOCA2LjQ2NDMyIDcyLjY3MDggNi41ODAxOCA3Mi40NDg4IDYuODE2NzNDNzIuMjI2NyA3LjA1MzI5IDcyLjExNTcgNy4zNTc0MiA3Mi4xMTU3IDcuNzI0MzJDNzIuMTE1NyA4LjA5MTIyIDcyLjIyNjcgOC40MDUwMSA3Mi40NTM2IDguNjQxNTZDNzIuNjgwNSA4Ljg4Mjk0IDcyLjk1NTcgOS4wMDM2MyA3My4yODM5IDkuMDAzNjNDNzMuNjEyMiA5LjAwMzYzIDczLjkwNjcgOC44ODc3NyA3NC4xMjg4IDguNjQ2MzlDNzQuMzUwOCA4LjQwOTg0IDc0LjQ2NjcgOC4xMDA4NyA3NC40NjY3IDcuNzE5NDlDNzQuNDY2NyA3LjMzODExIDc0LjM1NTcgNy4wNDM2MyA3NC4xMjg4IDYuODA3MDhDNzMuOTA2NyA2LjU3NTM1IDczLjYyMTkgNi40NTk0OSA3My4yNzkxIDYuNDU5NDlMNzMuMjgzOSA2LjQ2NDMyWiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNNzkuNzM4MiA1LjU4MTA1SDgwLjgzODlMODEuOTI1MSA4LjEyNTE5TDgzLjAxMTMgNS41ODEwNUg4NC4xMDcyTDgyLjI3MjcgOS44OTIwOUg4MS41NzI3TDc5LjczMzQgNS41ODEwNUg3OS43MzgyWiIgZmlsbD0iIzgwODI4NSIvPgo8cGF0aCBkPSJNOTIuNjY2MSA4LjA0NzZIODkuMTkwMkM4OS4yMzg1IDguMzUxNzQgODkuMzczNyA4LjU5Nzk1IDg5LjU5MDkgOC43NzY1N0M4OS44MDgyIDguOTYwMDIgOTAuMDg4MiA5LjA0NjkxIDkwLjQyNjEgOS4wNDY5MUM5MC44MzE2IDkuMDQ2OTEgOTEuMTc5MiA4LjkwNjkxIDkxLjQ2ODggOC42MjIwOUw5Mi4zODEzIDkuMDUxNzRDOTIuMTU0NCA5LjM3NTE5IDkxLjg4NCA5LjYxMTc0IDkxLjU2NTQgOS43NjYyMkM5MS4yNDY4IDkuOTIwNzEgOTAuODcwMiA5Ljk5Nzk1IDkwLjQzNTcgOS45OTc5NUM4OS43NTk5IDkuOTk3OTUgODkuMjA5NSA5Ljc4NTUzIDg4Ljc4NDcgOS4zNTU4OEM4OC4zNTk5IDguOTMxMDUgODguMTQ3NSA4LjM5NTE5IDg4LjE0NzUgNy43NTMxMkM4OC4xNDc1IDcuMTExMDUgODguMzU5OSA2LjU1MTA1IDg4Ljc4NDcgNi4xMTY1N0M4OS4yMDk1IDUuNjgyMDkgODkuNzQwNiA1LjQ2NDg0IDkwLjM3NzggNS40NjQ4NEM5MS4wNTg1IDUuNDY0ODQgOTEuNjA4OCA1LjY4MjA5IDkyLjAzMzcgNi4xMTY1N0M5Mi40NTg1IDYuNTUxMDUgOTIuNjcwOSA3LjEyNTUzIDkyLjY3MDkgNy44MzUxOVY4LjA0Mjc3TDkyLjY2NjEgOC4wNDc2Wk05MS41ODQ3IDcuMTkzMTJDOTEuNTEyMyA2Ljk1MTc0IDkxLjM3MjMgNi43NTg2NCA5MS4xNTk5IDYuNjA4OThDOTAuOTQ3NSA2LjQ1OTMzIDkwLjcwNjEgNi4zODIwOSA5MC40MjYxIDYuMzgyMDlDOTAuMTI2OCA2LjM4MjA5IDg5Ljg2MTMgNi40NjQxNSA4OS42MzQ0IDYuNjMzMTJDODkuNDg5NSA2LjczOTMzIDg5LjM1OTIgNi45MjI3NyA4OS4yMzg1IDcuMTkzMTJIOTEuNTg0N1oiIGZpbGw9IiM4MDgyODUiLz4KPHBhdGggZD0iTTI5LjgzOTggMS45MDY3NlYwLjY3MDg5OEgzMC4zNjZDMzAuNDk2MyAwLjY3MDg5OCAzMC41OTI5IDAuNjgwNTU0IDMwLjY1NTcgMC43MDQ2OTJDMzAuNzEzNiAwLjcyODgzIDMwLjc2MTkgMC43Njc0NSAzMC44MDA1IDAuODI1MzgxQzMwLjgzNDMgMC44ODMzMTIgMzAuODUzNiAwLjk0NjA3MSAzMC44NTM2IDEuMDE4NDhDMzAuODUzNiAxLjExMDIxIDMwLjgyNDYgMS4xODc0NSAzMC43NzE1IDEuMjUwMjFDMzAuNzE4NCAxLjMxMjk3IDMwLjYzNjMgMS4zNDY3NiAzMC41MjUzIDEuMzY2MDdDMzAuNTc4NCAxLjM5OTg2IDMwLjYyMTkgMS40MzM2NiAzMC42NjA1IDEuNDY3NDVDMzAuNjk0MyAxLjUwNjA3IDMwLjc0MjUgMS41NzM2NiAzMC44MDA1IDEuNjcwMjFMMzAuOTUwMSAxLjkxMTU5SDMwLjY1MDhMMzAuNDcyMiAxLjY0MTI0QzMwLjQwOTQgMS41NDQ2OSAzMC4zNjYgMS40ODY3NiAzMC4zNDE5IDEuNDU3OEMzMC4zMTc3IDEuNDMzNjYgMzAuMjkzNiAxLjQxNDM1IDMwLjI2NDYgMS40MDQ2OUMzMC4yNDA1IDEuMzk1MDQgMzAuMTk3IDEuMzkwMjEgMzAuMTM5MSAxLjM5MDIxSDMwLjA4NlYxLjkwNjc2SDI5LjgzNUgyOS44Mzk4Wk0zMC4wODYgMS4xOTIyOEgzMC4yNjk0QzMwLjM5MDEgMS4xOTIyOCAzMC40NjI1IDEuMTg3NDUgMzAuNDkxNSAxLjE3NzhDMzAuNTIwNSAxLjE2ODE0IDMwLjU0NDYgMS4xNDg4MyAzMC41NTkxIDEuMTI0NjlDMzAuNTczNiAxLjEwMDU1IDMwLjU4MzIgMS4wNjY3NiAzMC41ODMyIDEuMDMyOTdDMzAuNTgzMiAwLjk4OTUxOSAzMC41NzM2IDAuOTU1NzI2IDMwLjU0OTQgMC45MzE1ODhDMzAuNTI1MyAwLjkwNzQ1IDMwLjQ5NjMgMC44ODgxNCAzMC40NTc3IDAuODgzMzEyQzMwLjQzODQgMC44ODMzMTIgMzAuMzc1NyAwLjg4MzMxMiAzMC4yNzQzIDAuODgzMzEySDMwLjA4MTJWMS4xOTcxMUwzMC4wODYgMS4xOTIyOFoiIGZpbGw9IiM4MDgyODUiLz4KPHBhdGggZD0iTTMwLjI4NDcgMi42NDU1MkMyOS41NTU3IDIuNjQ1NTIgMjguOTYxOSAyLjA1MTcyIDI4Ljk2MTkgMS4zMjI3NkMyOC45NjE5IDAuNTkzNzkzIDI5LjU1NTcgMCAzMC4yODQ3IDBDMzEuMDEzNiAwIDMxLjYwNzQgMC41OTM3OTMgMzEuNjA3NCAxLjMyMjc2QzMxLjYwNzQgMi4wNTE3MiAzMS4wMTM2IDIuNjQ1NTIgMzAuMjg0NyAyLjY0NTUyWk0zMC4yODQ3IDAuMjc1MTcyQzI5LjcwNTQgMC4yNzUxNzIgMjkuMjM3MSAwLjc0ODI3NiAyOS4yMzcxIDEuMzIyNzZDMjkuMjM3MSAxLjg5NzI0IDI5LjcxMDIgMi4zNzAzNCAzMC4yODQ3IDIuMzcwMzRDMzAuODU5MiAyLjM3MDM0IDMxLjMzMjMgMS44OTcyNCAzMS4zMzIzIDEuMzIyNzZDMzEuMzMyMyAwLjc0ODI3NiAzMC44NTkyIDAuMjc1MTcyIDMwLjI4NDcgMC4yNzUxNzJaIiBmaWxsPSIjODA4Mjg1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfNjk3M180NjEiPgo8cmVjdCB3aWR0aD0iOTIuMzMyNCIgaGVpZ2h0PSIxNCIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMzMzOTg0KSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/icon/logo-pw.svg?");
|
|
4093
|
+
|
|
4094
|
+
/***/ }),
|
|
4095
|
+
|
|
4085
4096
|
/***/ "./src/assets/icon/passport.svg":
|
|
4086
4097
|
/*!**************************************!*\
|
|
4087
4098
|
!*** ./src/assets/icon/passport.svg ***!
|
|
@@ -4093,80 +4104,80 @@ eval("module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdod
|
|
|
4093
4104
|
|
|
4094
4105
|
/***/ }),
|
|
4095
4106
|
|
|
4096
|
-
/***/ "./src/assets/img/firstPageVerificationIcon/credit-card.
|
|
4097
|
-
|
|
4098
|
-
!*** ./src/assets/img/firstPageVerificationIcon/credit-card.
|
|
4099
|
-
|
|
4107
|
+
/***/ "./src/assets/img/firstPageVerificationIcon/credit-card.webp":
|
|
4108
|
+
/*!*******************************************************************!*\
|
|
4109
|
+
!*** ./src/assets/img/firstPageVerificationIcon/credit-card.webp ***!
|
|
4110
|
+
\*******************************************************************/
|
|
4100
4111
|
/***/ ((module) => {
|
|
4101
4112
|
|
|
4102
4113
|
"use strict";
|
|
4103
|
-
eval("module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMkAAAB+CAYAAACOCTXIAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAGEuSURBVHgB7b13sGzHcR/cs7s3vXDx8nt4yBkEQBAkARAAE0CAlESIIqWPsqSSLBc/WVZJVqZtWhIlQpZol6nPKvv746tykFkKlkSLFFm0SDOYIBgAAiAiM0Dk/HK8ae/u6a97zvRMd5/Z+x4A/eMqn6p7d3fOTM9vejpNOHMCpAsRw9/ccMP/BePxr2MIrwkAc5QG9En/6KLPBvhn+w/TZyyq0oVc+gzqd+BKsKXlr3gfM7WQaQuNNkNbHgrxlNvgAZ1fY7dgbL3uXiVpcl0wgRak+j32RB+EGylbFbtjJDIK4Xfik8nuMMZapeWSDl38k/iQ25H7OIQ1sat2Azqe97gfFJ6MaQ3s8TPJjO8b/dv1ScmTZDjSDiVbUHKrrhVKu7+P+P+8+ytf+ZjGCF+8/vrB/vH4/yNB+nlpeO4E6VxJA9XJbaMwf0YYaCrXeTU4ya/pZmoTLlO2Iqcng/3F0p2Y9veNXaf/PWKX7yfTrhNdJ1smWMO5ZrvXKgcvEvtadZxs/bm+EP7fn/jyl3+Nf/f4396m+R1WkJghdUrQVsspCLaaayqUfMIQna7zmnJeAMRzgWWS5DtRIxN2nIR9YrlimQx2fa/8TPVMwq4+PR1Pe+L9FvtEpasJECre6XuK/y1fhUm2TyzmCfWerFJhrUzFyBaL5vI6/LAG9pL5pPrb0KncLLcQf/Ujb3rTB2L+j73xjaeuIj5C39d5bTOWGbpWQX0mmNkla2Ur7rNu6UxIge6+t0gw4epgDclht1ahy2CVptONW28d42Rv4niA9fuwZrfVsEZA5XfMoz208jQ6PdYl7RLsji8aG/w9XCfE7vnnvWRpX/xEKH3594ld91eqR3uskPjm+wp7s7Nn90hBfpR+rJOCxko1jS3hLK4Cay2nFb6qd1AeSbs5gDV+w4TfUqXBjmismLJKMZ8ROjTVibfIOiTtrVlw5eUmXejb3bH4lncd7KB+ay8ZmsbzNd/L2BNfathr/bJWei2tw2ePHaDmJQv2WKAVTlQ09WeV7xPwrOUlalGQyCDoKESTW1n5gQHd3AbW6mWNT2SL5iVLgSqsMopjrUYe0eXBo9fUZCkUE4MM+HI5cJ3aWkhJ71h05de05WgthcKeLVphoLbWLelKyMQpPADFZKlTu9u6tAWU/oeOJwzSbqko8SJo3K692apKPSDYZXCbqCisRpo09sYZu6aCnX+oyY4iHypjFmKVC7vNKTQLX1sMysAIrtDFjlhpl/4E63GC6nttaCG3R0c6RcZDnphSskqN3DWg+73coAIsC4xRnGJxOx6loqXBeRdL2w1KMw2+I/cBOu5VWxdjUrhRNoSy3s5h91Yueg6N3dWtMUgH6zaLAgqtGnYB0AlBdFknmJlHqSNV3ir/O3XVsNs8oZAHK2xgBVZh1/mgZryddywGQtHO2FlpxKDqulReh7lQdnKGDrsrpr2GxhkmYafZuN4gle4IVE048m9lu3K+IvTZIxT75r5roJ5WsWSi8dmz5e+grEJ7r0wNK+wwCbvkS5gddgBJ9+0ApzhW0Y2X8/Upix9A89rRV1ZuInbxW66tGUOV7w57rV7wwl4sqlfGTpn4zclAx3AqD5rbJJ+JcR6fotF6cG1YugpUdNpjc1I4SSYrRicMImHlWrs2QahqF2LDJmdZ2hCntczGssablM8IuLg1ZVUU43IjDT2po9AINauZy0KZHDCME1zOegaNCbErrKrNwt4mYUfvhYrVN2WhtNdafN1m3x65p+rx2BR2qFr4Gh8U9qCyeY+Ijk6vyI0Jn8B5h0xjQpRgDI/Dh2t4wQqPdLCt83bkQ2NX7YRGKZP8WU+irJ1YBtywAfCyyyBso6HL1FRCEqBHg3q85x7AZ54BVE2de+MbYfr880Ov3wc8dAgOf/zjYdNb3wrrLrgAQq8HCw88AIe/8pVY+dyZZ8K2G26ADRddBLPbt0egK3v2hMUnn4Sn/uRPsBmPJX4PW669Fra8/vXQGwxivv1f/CIcvOuuMnOlZnq0VRPL7S1sVlR0dhKKcHUEMd3XQloogu18PQ5zdljP7CihMFZwYsgWnG50vXDHiIHyct6b5PGdGxNpI4TK8tawG4HUFtzyKXRGOBOwOzq5b2FSZKHpen61bQM1gIofeVzmx8uJbm4/fRs0xfoEbe1ypceOQbjzTgjz89CQoONrXgNhejrKXBjQuP+jH23dIFc2Owu9174WgBQrkJIsffObsZKZV70K+qRkPVKS0de+FnPPX3VV2P3TPw19KtOnvDyPxvdnTj0VekQ/KkjrQaC/fn04g/OuX5+hDQ8dCqQk0jgzSAYlKCkhuBhZOidj1x3UK5ZEW0LxHJ3VewkDtDdFKEIi05u50yWcUjiC+tTYG6iOrUCNzVSzimfLGAR+woIaO6X0lMdDhV17RP7ob9oE2vuPDh/OMsOywPfHZBQFF02dtveXl/PvKIBLS9AnWRodPZrhB867vJzZ0KP+Hi8sCE9Cf2YGm+GQLFs728py19u4EUZUn/ArzM1BICM+Pno0w+zR7z7JIudjOoPNm0FfKd1MPytv2PYtzcL1YsWIRQeVdqPqXCSmhK9/HQIJOac3VK5h79IKeBsznnsujKgBw+EQVo4cgZVvfzs2ZkwN4LSYTp5navt22PLud8OYlWY0gqUDB+AACfzB++6DpRdegOOPPprDE/7bfM01RkH4Wnf22doX5KlE5T307FXLSDvajH+CXTOncQIpDFPzqi0+TcPyrs0jVlrlzwLZ5keTV9IVdukLs6aT8mbaaEK2nC6/Tftr2HV+aUf5HYvtfM97YMPVV8P6K6+EzT/yI/FT6M5efDHs+oVfiJ9yzV1+edj1i78YBZoJTO/aBZtuvDHS2/zDPwwssEx3ntLmr7suKxzT2/LOd8LmH/qhTH/T298epnfuRGnnhte9Dnb+k38Cgy1bBDduION86j/9p9Bbty5jX/fKV8Lu3/zNqIQshzv+8T+OuOWPsWXvU5MPloVeL7Angb5K1BmgMpjDp58u30nIgYWXFYitBIVNLPTsEfBb34KGvNDg/PNhSGl9pkPWYXX/flh/9dVhxOVJacLqKjz1wQ/C+NixVqIonOqrhjKG7W96U1sf0SHiMWybIQXtk/KNFhaKO1f4pbQT9O6KrLh+1e6a5Y4M63qFNr8KK6r07acNQXSYlYtYT+Ox6/HOi8LuMU3Gjr5+suRw5AtfwGZ1Nay/4grok9AJ9vWXXgoHPvEJmKNIY+m73y1lFhdhnsLvI7femumLZ+KfA+rDKVKW/X/zN7addM2QwZ2mqGL43HO6P1ulvPBCOPSpT8EGwnH4C1/IxmiZjOt6ilqO3XFHbNe6Sy8Ni9/5Tm7n6ODBcPhzn4POpRyD+x6NSk/mp8XilHEzaAuF+R55iB65zDwmI68QM1Bjxzt3RiWJf9/4Rpt/9+7sRZbJizCzG9LglZWVmLZKHmkdWQHS6jhP3XDZo0czT9afdx5On3ZapHX8kUdg8Ykn2kYTDfImBbYG7dqirHjnLwqts8RNCU+k9QjaCru/JoVrmSZA8RSqjBokistoHVQuguDagTXcTQkPUaCBuifpoPKA9jiqbYZW4UEwPGPhpoiBPAUrBAsfrL7wQpudQxpSGBbG/imnQJiZyTw4TmPWqR07YIrkQgJPqW+WDOqWd7wDDpHQ6rqkMQf/x/+IHiWG9KofWLEopIJFMsJTLBeqjYvf+x7MXXJJTKPwPoxIVpGMsPClR0aVsc/RGHvmjDMm9p/6C3EYkGclhJFJrLTbFZcbrcB4DD3yBgOOC9mqEwPiTdJuDr346/j556HZuzdSasjNstKsEtghhVKcd/j97+OQFC0qD9Hb8La3wfZf+iWYJeuR2hyk8ze98Y2BQ7sx5dt/++2wkJSELxq/hJQ3hyoq9BH+5TUNaU8uJCY7fVeCZfiAJZYv+dSfpCt+ZWETejG0KeFX0O2MM0FFeUqdKk1jxoQ5r9do7KDGMehW6osyZH4JX9CGgcWryCf1Lcf9MDcXGjJwFOpEOHPU70vUn0yHFAdmzjrLyNLBT386hk663XzRBEyMBHhXh+4H6b8xCfhRGgvPSxSRBHmOQrpFCuO5HEUfrQImL9nQ+GdEcjdz+umwkSZ6jlEIj6otMfSjOuP4iNqT+apkQ/21XoS+xTFJYa9ivhg0yFYwa3uPQq5pGlzzHw/Isd8PgTQ4Xw8+2Daexys8oCMBZ0UZsychTMNnngkLZEGGx49nL8MeaTPHvddfDzKfzgO8ObZarGCU9zCPWZgGY6b762h2TFk/HVMiKu8IyiKL8Mr96L3UFDKgCdVKMigvA85rVOJ6Y5HQzjahKgOWpp6qNBa0aa1aXnPQdblxVZTERu1KqGJVOKB4ti7uhJ0jgOP33gvHaFx69Pbbka04XxsotidPH2icEthr8NhAeQVga75EEQCPZzIOSl+gSZ39n/wkbLn5ZnA7APJ1nPqbafJ4Ru6vJy+wjmRtC42LeEzCIZdu3zHCuJHGsFNbt8IKh2qK7SNSquN3343chuXHHy/8sLKRMQrfB2mPv+7E2iJVFhymOH7yybCR3CwP0nsUTvGsF7vaOJgnpjQEICrb5s0hzjiQkgS+9+yz0umwcvfdMHr8cZx585vDFLnePlsWUqp1pCQrFFsOaRqYGTtiheEOIobFRpLVIqUJ7MXmaPDOFoni5NzgCdizRdfCCmCnQoPM4iclE8Pg6YRiQAKovKkOhEljn5RX8VO+BphwJdoyI2aEPVrChFndc1BUfnBjFlU5lsmB4BjU8oT4vZEVgPqShDawpSeLjNQZYe9f/mXOfyoN1mlWKdNhmke+/OWw+1d+BUhuMrc4w/Cpp5C8QdhEywCHb70Vuo1HOECKdMb73hfbMnXKKXFcsS+NYRjTqRSB6PaukAGfojCNFSFo20lt4LHuBppVlXYdf+CBkGQnz+7FMu2DJ5HvPLvV/9HTTruB7l0PJ3Nh6hXyCvMkwAMatNP0HPRIowdk9VlwG/IizWOPRabzbBekEIrHMkBarknh4mJYpYFeQ7NbPRrgi7LyVOJ4zx6YJ2vB7jFaSxoEzlGeufPOCzyg46tHdR/86lejm13rykIWQlUYlXAYi5anTzWd8lu8bQmpygNlwfPMC6eFt7amJAWefC9SCbo69aWOXf8OJU39tNiH+/aFMfVBw2EyhVVxQEy3eLDc8PRtqmuZ+340ChwKDcko8ndOX3r44SjAsTz17Zgme8ioBgrVgMM3zi/1jfbvx9U2XA9sIKlsDOU4XFp86KGAySgyRykqiYrG5UeUhyOYZQrJ2VPQ90BKFUM3vhg3189/46WlwJNI2ZIUXhljQn9firNbsjERbJhVOrZsEWhprqxgQ95k/VVXwYg8xYDi0DhYJ2FdkgE7XT0Kh3hqIAo5gY27ijmupTKBZrPEAq4+9RT0qGyfwrcYmlFoNTjnHGhoQMgDfPYwfRposefg7xx+sdfqEa5pCtOGRFvmeAR77mi1OCQx+FqeJqhFrEn7nDKTADpep6IIZhETUXG2e6HHngcmbuW/W1DpRBmPJQCAfr3FeZNOmse+/MgjWRb0jBgrjsR/nLZKBo8vNlximWN6u6YRv7Ow6havSISRvBn/1rymCZ+IfTWtgWiep7wg9fLFSigXh1yx/bTuxmFfpf+zbJRGl3Ed3xmwO8EQNIO6brm4+szMIVmMHRQascDyHyvJ8YcegoYsRLxIOTiehBRuYWpMoIFXoEEV0sp6IGXgcUuggdaY6RKNQFq+So2Zo7l0HquwUoxYUQBaZeE/HgvxH33nqUKuV4UaqLDH7Syq8YZB4mH0I8Fu0F018DUBKz/rDiGHR9IhaHbH5sIGa9p0GWybCvZEFyvYgyLnlUAJmVHZAFVFsWlpQCuP28LkMrYtYDa/6rTJdTk6sRy22116SlE0L6By+f4K3ZBzzToH0u7QvRlqtk4qWCIlWUcxnigJ/+27//5sUXjxb47CooaFnGe30iCqx4pDAg6kGBoUK1KcHv7iF2MzGirLNDl96c//XGbLYv2ztFC15cd/PCpJHECqsYZ0tFIaz5wOA2vbWcCV71hpgDKGCUELaOsBRAGtwAZ9TkCD6sGi1kJnEghZ47IXgErn6m37voU4AXujsEde2zFNCsnVTg4rhJ3F1wp2rYwGjlasSFc/fIV2H5/Gjsq7S39hiRKK7IbySITqxNw0BICKt56InX8MGtuIqlXTlYlQLVOMSi4YpnhRj5RgSPHdUrtSHhs9tWULTlNMOOb4kV0vh1tcmjxNj7/znjCeMmYvQ54COJ68805s9u8PvVe/Om574IEZe5bxc8/RbME4iMBwHMwr8+xNYujW6yHHn6oza24VJv02n5NCsiIwRrHyPUS7w9hbbcyjBzD8dgN9b+kmWTz5rrft63pN/bIPLHlNnQaVsK8T2jlv6z2RMlJVD1bjZ74v9SuFNO10BsvcL2UR7C7wTEvjqF4Ku6ZvlPnDV155C4nYB0oT0QxOgkovbUu5lcs1oE2k7u7JfZ6z7vfbzmJFKk9BYrYGUr0SSJUnVGkrkBm7YkZwxsDgXeu7o622bWt6qC2k3tEsmYy3qtMv9E4Gu2+HoFg7b6eL+bvheUXAcn9PwN6p0MlTzdNJfsOXOnbBB2vcM2MmpSw1GfbGSCt/UcYQfl92AaeitgH5s6Ll0apPivedddCXWLGwuhq3OKj0Yo3KWo1g8HGk2WLeoa8arrEDQOcAi3hPKaGmW1HO3K6m7PjVTAZtXV3TOmsxnr4SzJyvhl13pulcdFP5k6/CRzCCh6AsadBYFJ5J2LWS6fxSRntpZz6D5lmn3lRFrb9BYZc6NP0AVg5aQu3ObI9fy1mWITLegwTTKF2hFmCiG3TWLjXSWoAQwM26ZG03THEWinccA2+epBkLTBMBYmXC2WcDcmjG076U1KeBe0Pz7dBuP6gqgcxwgbJQylKYztN51P02re4Zu9vybZ0AE/iG5RkZew+sJ/TYc55iqQsJ7aVadCYUMWwBa71FWWqHItT6f03sqcpkFKGDHbr8EIz5kYM04oMKdlcm1VDkNfOmeJYWQ5I9GYcLnTyJqOgmxW9nt/RgUjfAWYK6ZbLgMx1lOaAz9erdtPJIU694BcDMTBjRjFVqUNwCTX9IayWhRwN63LcvNr7HW/JpMZNmzuLc+QQLBOpBJG2NgrY84NNt+yZ2lFZ2zYNqp3bpCg2jnUqAtJGqYleVonR+m6G+ydN52uokBaCN6ycZH684wTQve52Ox6tyxlt6qPK2WiaovE729AxhBqban+lkGoou/+YztwYuESSmi7/V/I3OlzVN5nZU7C3eI9ef8qO24H5gqOjNnHVWOP6Zz7TbmBkLzaD1aT2GppZDj2a/sMUFPUoLPOCXzXPJanhcqKZqBJ+ENeDDxaB2pK81rgreOYfJSqFiZKlXHwUkKLF4ZNMGw7OEvSY83iJ30Hh8da/YzWNDPoO9c06B47/QRkULvWfWdSvsa3oRhx2dF6thV7Q6nstEMq4sf++NkiIqwSlhC5aNb8Ylp7lynQdFoWsMl/JYNvlBgZHXDZjGDE0dRxdHi4fr3/lO6LOnoOnm5oEHoJ/2C0VhodX2MaWNebFI3Kmio6hbI5AwoN6vBWWWCC3zDfbKPc2VfBe0jCKC2wuneVYMSqkHO3xXeRrZzOkqQ9W+eN9+osofMtdVu1qp7WKXfsUKdqMgum6AvM28wwct1GhCOrNBFAHyJteawqPmywTsend7TQ7kd1Oez8k6IFdctI6LiVA2+eU/xbz8Xe9iTYxXIEQbsVNW/YZSprWsrqOWKcza/IM/GKZoeneKd3qSEsxecglMX3opAE0d93q9YiEuvBACrbj7TYciGI3sJgbQO3CNAkheANAC2tKXtjihzJ3isKM2HIVnQtp3ui2PRilLvWg2MKLBnjAK1twewaqVzLfBpUWBcIKJVmBDBTsaIcxsQND5J2FHhRNLUwx24bOXNV9/4zBqJUIn24bHCjuCe0Qg0e2/a9eu6+n79cmSnPQVzEf+jvpedtFgZhuitKoY0FQ73LMHV2k1nlfseYtLs7AQtz/zWguvxPPjxHj0aLtZkhvz8MNI92qx68TmVNoq1jIEmy9At5EIE7ALaU1H1+XoVeuEOt2JeCbRccFiDttcOVgLu6bl8gdl6OBksEuZys1OsqsvuLROu17KNQF77Yp7t8pu0iLY9iR0VCvDqpKWtGsfphkFpZlZU9PuSo+irFu3dPmhq9UjR4LEks2RI9ikeppDh1pvNRwGHsCDjD4c9szK2iffDl0Yiv2lkxR22RJhSqUyWekd/XYaJRcJemwEaZyBioZ45Iw4dPd7ofC94M3Ys3VWfSE4Gh3jF8x+bBk0b7iWBtGMpzSNLBMKT2pztx/WwB48diUbsd/1mMKP3xTfamMtkSNDMzHWyGMFe4++Dgq97mmJptO7ltoA0WVq6ws6PdN29WgmZauHboyRqwLjTtfC3vn032171sZeua+x5/olCrLYS1npQETfftMWVNiDL+8H1qlOj833S8JXdKTUn0NgdDg0vdxOzQuFs9NfLwG7zi/YCzk7Ja75ttbaVv7q+tHJYCcq6TXtSjfKP7ltrIcTAuk5rzhSqTxCGkAVS6BijK3GB00FlNBqLBNM3UHHlBXsLjuURpZ4v0ZbsIOji5Ae0sLu4Q4Ot2a0u2nYYXFVLp9Hxlgd/hdedM7Gghp2RU9nlfboOjSWzmPN0MWe+8Hx0GMXxTHYVZ80SpYU/2vnqxVGI5oFbqnH9zXa8jWDlMGzfgzkSB0JVRSd0Oh0dKu5J/AwutHZtVcEw1joFDhhhxTY83PRzpDw/xzuFOZk04SYdyxZ5nQVpVhPjf0E1qmmKKBoBIfd16+DD7S/UWNX9PVer4zbWOwcnVT6p4uhIzA+X5KiEsalvJOw+7ol3WE3dWWPUhZn8z3fR1D5rXnWyVNRFOPdFD9UWyPNnmEOohXAtlCocLquGZPuFesE2btgOcNK1RPP33KWKmjL3yicmtmNmnGTfFI2GNvQMXQTgUsdWKYIc7rQlFmlDg20s14Rk9BRvMjYlUg2WsjQzFihrw8q/JL6odbG1B4sP+zNUi9OpAsg/ZgPdmh0/6S2qpXuEjJNwF5TIn2/Vg67DYPGzbwaOsUiyM8comlSfle0HE6HmhEVAfKxuNG+XGmb3rW4KREVMMnf0WY0bCmDcWzHWikjE9Hepc2jrXeh60ME40kydrs9o5PH0c4P5TR6Qc1hBywrwPqRFUjYXVhYi8e9YHbOBAtQvKjig25sPgHe3O96YwBn5WWPk95KDmK0Kn1meAXlCCZMOJpKGeN5oMhJ0PWVtgBONhB6RjF7Ns1cBDXuUDj8oqhqS2RdXCfRbtRfMvmMXjGsaW41EtbwMMqyBY+/K2RaYbO2o/J0YqEnhUJZSCfcNzicV+pCR6hZt5hXdi877AHAnGyCmr76XbsyP10mna6x687XllnKyHtm0ClQ5gPa8aMqC8ojhknl18KOLl36ROpRCqIVJXsVN2C3uBP5Mpgp7ciygWWdp9ZWwVTjCafGgyAaqU/ahPZcV3NmLlhtz3G20Chxv7FaosVY6BjL0ZKy4yLNrFzGWTRQ9xWtjB1t20BH0Fpog2KMqsDslUookwSUMYbHrvkjl8MomDttzfUUfCWfwm68fyjvL1HhTWjqRi10pmMzSMxHluaxaNfCmjZCQmROe0/YjYAXTyb8ynyROjV2rTB5lAGQx2beK6mHznSV4KKW6BHVAYMZez4s3tNPRrkHpbGZWP6umInldrYsOpOoLyqvUKMpXaTvtZxBsR7aggVNS9erzQuW8nXsArFJkXN6yxK4PCwcne0p7lL0hELQ2F3dQerELpnMU992x/dW6oSO468yorAW9kzfBACW7x3siqeK97q/2/WXYrCMtUcR+MRv1Z6OnDVOOdS9/AizbmutTcbTCHa0q/wTsOc0ACXb6RokLYoM8QdBq6/ZamsXyZc++jNbBmmO8z7FhrWXdqupHICfyUEsB3LHQmWLOSjL6HD4q5RHM93YGSSeBPagsYtl77X+JKgKc1wuHsjzTngGALhGWIjaWAgmgOqaDXo+BG2JVTtBYc9eJvHX1BOUzwCAysuXsrA58JKpulZksKs6ci5ZBIX8WuvOWpL2PgCVyqNkO6lz2F0UkjEJwXYxsWmbp7XYXbmQWILQzdcS79PaZL8HIjwlQIAy6A566TOU6bVcUXu34WfeeZcvuPdSVBppfkO9AVj5npiTVROUNVNlUfEmaD5oPH69xyuEKVOhPwk71BVnEr3uQm2rrNVBvbecKr/dbQEA6MrocpqfUEIWmKD0HV5a09nFpnFlImgfzOu02/UHQB27zh9Ke02fD1JMJgRaufHa54ii0nwhON62DRbf+gPQ37ARpqamIG5QnJ4OKyvLsHnL1vbEx6mp0J78OCW/YXqG8k1Nwwx/UjrFPDBcXYXlI0fgO//u38H+e+9JLeliiik+bj4Z7GjeoBRS+sRFTfkM7vC6ap12PSbpYffy9U+iYwvZNO3NaqGCa3cZ0+m26rKeB9ZzTcRh0pLJ6QjpSWCvXbmPWzwI9gE3qLSvimut+pTBa2fBHH96TapbSGL6nSxVBpqIFc1PeUSbVy+4CHob52EwPQPTs7NR+KdnZqICsMLI7/LJ+WZU2nSsaZXP3WIvQmXm+cRAaYfFhFI32o5Ej10xQpUEu41apYNqqy+f1wScRcbSCZ5GcPXnKjWNaht9SJPuayLueNP8rSIqmi+dNR+oiGnTxV7ahWaMaMIWLR9SJgd8ipbGbmh1BbitD9UMbNKZM6+/Hq7+jd8Aj9NFHro/OzuKdR9ko4VqtzO/nyQf0SKxWYuoKAKWBRqwBHPe+H269QjsJaInYeWYar/PsCJMtZ5CzhDWf7z0v7CwCEcOH4EjR47Gv6N8cvjikmAwwoBqUc50gF6s00zPklDvSNPpZftE6RysH6ys+aBnQzCxRq2C5ml2TR+wLBTmdCccckNv+9cYQAuRar8SLBDvZ+6lcqnvQy3dYbf9gAiTpmcN39E9A6PSoeSrtycJruE7Xee9/e2wbvt2mJmfh8vf8x7YzC+XUmU1dsGcPoPUXcUuelBotOPN1KgcXzcTwgNzWnsRkjJQ52c/RkNYXR0Ch1jLS0uwtLRIXmGVFGUQFWQmKUWrPIP4ydcLzz0HIz4Ue7Utz3/D4So0yqirhmTPlhVDmK/StQBqj6OZDZBvoLd+2sIIj5ydyB2ODp9S0oC+bkvWp3eVB9yUqBNGvx7hMJf7Feyi5FjBobAHc88SMkaphr02nkTozLRlYBFzypmNMP1NrV8PW84/H/ntVa/9hV+Aa//lv4RHP/MZOPb003Dxj/3YJL4b7Kjku4YdnfdMCpJOlUdUfhSLRingWtu1hZXfMxRibZzfBJs2bYbNm7fC1m1bYRuNUzZu3JjHH+JZ4lgkpbFyrac8g6nWEw0GU+lvwAGkAPduMmgMOb37YJMVnoIZ0bZDTz1H6+MWAIul1vUrvgSlLJVP/0Bb8Pw12EqnWSUsRgrF2jXWuqOzpHljobOoVjE0ViUPVR6rthvsCiuotgjf812N0bUbkmJIW+N6Tb/PB3CH3VddBT/6138d1u/aBQ98+MNwFoVaMxs34lNf/jKcfdNNMOAzox3fjRxrRV6D7+p3m5+fTGw0s/ylFEONSzqehtMGfOTojIRQgxJOaaWQQXvKx08ZDldH0Yu0HqScBsmehE9vTAzvhAvamxiL4NuD1f1VodOeIizFaldo6w6GogB2mjN9BtXxmpc1/k7Cjn4MYT2LtfKqtC+XeQGdkLFGw7jNKh89dt/29pveCBtMBKDu6by6fXxd8973wo0f+hA8f++9sHjwIFxw883w1Je+1J4of/XV4enbb4e5rVthdtOmDt87bStYSntcGz2e9l2ehalZC9X+IKxoWJu9AIlXvz9oxyEDVpCZrBTtOEVmtFplmYkvJoU4i9UqR/uSn1V+Vwl9rsTPISnJCBxTs/VpusKcceZ0h11BljGEky40FgehkNKFm2KVSx7teRKdRocV1qpqkqZehO7kSY33FUMh28Tz+AKk2xUfzFZ/aVIFu/YOcr/yCAKa9oDZIVK8ueKHeDanMF3+JMpPfuUrcPZb3gKzW7ZE5SDF4Hds4sLevXDKWWfBoUcewT4Z4Tk+gqp4juCxe35mGVDYNQYlGGHgFwNBC5kaNKGyXtpVitY1OCYhX4lV8yFFzWiVPAQJ+mgUB+3TaTA/nd7cO4zeYhjPCd6/bx9MHZmGVXmVHB+bSp5k5dhxI1RB14nm3e2CCwyjNQNKh3nGmLUS1dHd7eja0rjFSUVfVVz4KhMMpqzK79P9b41Xrgbtu1QUvYwtFCUHXadqaxW7tuyTMKFSOHO1Aq63EXXWOtxzH/G7LGomfPHLwYcegvHqati4ezcs7NkDp/LbnylqGdLEzoBC/JXjx+O7U/gVIL4dJ4Xdg/DY6Wc5MFutcKIdKIb8Hmx55FHtF8LURTyDtXGe1kgGxWPw53F+ZRfPeMWB+1R8XcJqej3cKHmQ9Rs2wCy/oTeHWkMao1C4RfnFHsqeohakGguWxnXSAdXhb2pxU7dXMzNbE7tynukKrWhpQtCaUR5ZRvM4cS6Td8RWsKc6gsOepMv2iwiQwqQFtSUZQqYhBEQYpPFibQvSjB0kPR/sJusGna3MSsmDnXUVHsjgF3Xo48goWQpQjs6NmTade258URMpCNI4JAwXFoDfqznNr56mxeapdetaL0Vpmj9ZZsWr5Id6QpiEXfV//J08TRjILlaxLn52S3WYeYQVEkHROlaOORL0mRhqtaEXh1Uj8ijTaWarHYMURZCxB3/206utOfSSNBmTQJEC6c0uRrAWTcmG2Sqj83Zi5FRUexdQ7VZ1dR9F1t7WLTii5WUVO6g6vMB12lnao+spVrMIR3cLeK09yvsoK1y85GQPnRimrHQyHo312NZil/q7XsxZ+HNuvBGeueMOOPr88+GMN7wBHvvsZ3Fqw4awbscOOPLEE3DK2WfHN50tq3fIG+yqAml7Ml6hg12a49rZvqJavIMw0B92UBprQi71zFw7cI8D9YEah0xnZen1+uRB0sB8mP6SR+HPngzah6M8eB+Pxp26DT5lseQ3qMVZ0wnO9Rqa0H3/h6+vxpdOmvU6XR4Wsc4WPxTPbJ4mDAorQhnM6t8es76/FvZqP1sL320jKnvi+KAVRAuYwX4i3kCFn3Td9e//fRw5777ySth42mnw/U99Kpx7003xLQLPfv3rcMXP/iwcf+EFOPb88x0aGnvml5dtJ0Nmnj/ljeGWfjimZn1Sg82l9yrFHue4sN+DHk/Z5e+to+X3iMgYRLxEqzDt+OMQWQGe9h0lhZG39fJblHqO6U1l6wSme2A3wVVxJ7xBnRErAldCCFVOeKPbqz2uWzwpeYKdFwgqtIBS1oZ4mO26xmQfOirQ0FtosPezMnjsmf4a2EGHKtpCp3z6VP0s/oleo7BX7ps03TYth4KVwqtY9Ll77oFP/MN/CAcffRRu+OAHw3OkIDx4P+uGG+B5urdKspLAG+w5/FJtVDKBaoNnLGM2arb9Ut50lTsKupZWMQgqsX/b/mbcvlg0/rVv2+VsO2lee6jCKpnNan+P4j2eDRu07xlp59tSXIz9HnTwcP0SWrZxc9CfyStor1e/JoQOonDVtrs2y/egsnSmH32ZxD9nNTsb6ybUm69W0sr4R6VXPeJa2DU29TuoqkDuy1iscfdTMFPDrvvBtNePz9TXHLFI4pDGti/cf380wt//u7+LC4nnvvWtME8zXJ//Z/8s8xUrEwJr8FGwB6hjCfxC3IFuLCYL4bc9Z9QAZVAHpUP43gyB30Rz1bINhT8HNC3MHqNViGEaj4ziVG8cj6TQi8ce3Hj+lNdZ8x8sLeewyWNQLjQlJmuXnGrNK3hepTc+GWsTwLxZKlR4oB+HzRbKKHISvRoGcSd6VjHXsUY5U7zUKTNcAKp+XS74/tThHkDtsPT6Q2xSvHgfU88abc6YtXdN0qnbFZOVF+oYPOYYD9Dv//CH4+/dr3sd3Pcf/yPs+eY3QXsqqQsmj6HMd0hYOK2cD1r4LKelZGvSnFj7tNXNeZ/5+N/ClgsvhB2XvyqulfTJI7TbS1SIlRQjTv2yosSp3mFUGkYwjDNeq/EePvUEwAP36SqlU9oP8Sa8QmxjayvYE8ZYoVge26ZkVTpWFsCEG5l+ZrGK89E9Tw5dfnraHruYRIc9gGqTph3AWsRaH7XqkdZSEr2MQ8fy0H2hD3aVqRhJJT/5XqFXaMhOhjLDVMKuCdhxEn/oeugTnzAK6+sCd0l9um5w8pHDrzIJlt+ZGBTgbudNvjKh1cOH4f73/w7O7tgR2Cu0dPmv4VzpFMCyjUK2VEiIFuJbeiHatoiR5sH5VXHehapO1yvcUWNMZxXLNnkLfLYZxbpmBqd6NV/E8/jYOne0VaDau09MG/JlrV6eooXEJy+slTaVvhNhQ7szOdEITlDs+EFjV9g0zRr2nFb4Ah67/9S0dFrGntRJDFmv4il9X3f4a6UadZ908pZxYVZ8oTEYgRlkge4cUNbK8AVs3CpPDtLCYVhoXwmsmwzo6nALFbkZhXzsvNYa1zqmBknlM/PjAMa9mgvbYyxRdogWrLlewZ7D0nYMZ9szwbDoiQFQvANwgujHAtgN5TQdrQyav41TLMV37X0K4wueibzKgl7CJN3WEn2lsFjTcO323gz0PXBeKRmoVnaxe7yswVuw2XsiBwmbq7vItmBv+W49NPV3XCfJDQ9BF8qxv2pMma5UDGu6lgeMZU8DcdPAQtdaEzAdp+sBcDNbwSmYnqrUdeiZLHDXhAXKrCgGO9qtFjo/VC7U/eYeFtLCJnytejaxU8rKOmuc2+jzaexZAIMykhXlRm9pK9O9wXojzN5E6sy9FbKC4YT6VNs7XgFL+NWJBmrGZiL2gsuMF22W7gq8yER+Z2JSOWmMd78Fm7PSWqMzIDDWDIKjE4pi6LK60d6D6QXBoJXIWKxigc3AWls5qchZU9D5ZfICJmDXlisLCpgwAEyFCg84AwAAnUE8YmdhUm5kfEpIzT2xlro/VbvNFGhj1KnUHTSLlEx4j1bDrvObE0ChbD3XkwXo+NkUA2wMkcfpHt3NdYPqUlATOHkxWTyUFC1lzCVjk3ikUAQtWiRa1mFdZnLUe3CWuWYJjbcJxf1oS6bylrYWT9T+1N5IjRV8bJkxakuU6IEw3NPsYo8W35+iHvR4xSlb+izY882snsV6tZ/BiaadDnW8EY+mF8gah93zKCvtJB5Z3ofMgwzdHislgu8ts8Hu6kGLHarYxeCpNmRFtOMJjbfgArE+Zlwk2M3irIkytBwkf5cNm/V+IR4EUXsoZlIcmk0CqhVMV9aUh2K9ciP4eBm/0qvqyHSKx7IWDcsmQcdGsbxgVNtZ6OwlK3V2vqu2pjS5Z+roYPfeQmhiOflF2qBxaq+k0wCMZ+xg79TjfjtMxvJOwq5x5XRt+CrYO3u08m209xRG34YazxRGw5sKdtNYQOW9HV5Xd5Fx1Ub+jAdmN+2YJF4yc9MoDY8ZIYcene0N4LQQknDkxskgV1sfAOMhxFI65htZD6qTJa86s1U3LIAoT8ib9TLEfBBEskqo6Qf1Tg0Ai7+lU+Jka9FSE7tWzHdgo8cmNQssbSnYAVTbXV7FoK6X1BgCwGTsmCsJMAEXaC8itBQd7SVq7dGhnSbpPUOuQ3sKAIkK7LgtYddewtchXkYiJulTVwfoNTN95XArW8j2m9HwziVhUwGCANC1jNBVIuUlutauVhcUjXYYAKEa/hilQWUxhI6aPTF1CFbjlRz+Wp58vzC9VVRlgQ2/UD3AprxhpY3Z4GTsFtua2KUuOHnsJlIoDbG0qvVhZytQy2PXrs5v3efek3mvCM4AoLCwbMwNa9RhlBTtIwta/j121o9BJi7WtTDNMkcsr58WLh0N5/zmb8Jg/Xp45N/+25j3og98AFZpvePRP/qjjLy3bh3sete7YOPll8P0/Hysb3zsGBy4/XbY88lPyiZz3PVjPxZOefWrYWrLlqjho4UFOHTnnbD3U5+CZnk5ltt2441hyxveANPbt8dnDEaLi3D4rrtg3//8nzDi18ZZ5rYvuE++IQlAViaUNvIHLYae/rM/C5uuugr2fvazsOcTn1BcDGH+6qvD9ptugpndu+M2bl7PWX722bDvM5+Bo/feG6evpUtyx6nt8/nAupCOFA1uHAbutBK9bpPyBvHyEh4k7EInx9uu8yHxIQtJCNlJ9MSAtPd1zG6jCoddW/MNF10EO97+9rCOt7jz49nEm8XHH4dn//IvYeX55yOW2VNPBepf2HD++dDjx24pmiH+wXP//b/DwiOPxPqmNm2CXf/gH4SNr3gF9DkPlaPyYe+nPw1HiMf8+9z3vjf0Sd4e/oM/iFP5F33wg2F46BA8RvKmjIgoWzEUwRzfW1y1S5cp8/bFoqK1/Kktu7ZEPt3fJ2LTO3fCzJlnAgMfrFuHU9u2wdzZZ7fMbvPjlje+EbbeeCNM85NkMzPxlJUBfd/5znfC1htuiKROufbasP3mm2GamBlmZwE4z5YtsP3tb4dtP/ADEcv8K18Ju37yJ2N9gZgY85xyCmx729tg17vfXdpS8Voowov5ibUch/DvdRdeCJte/3oA6uTZM84QWtkD7frRH4W5886DHmPjPWf0yb/P/KVfgtnzzrN1Qd5oFxQfDE89b7HGY51XDJa27uq38diTvCOqQ+iwPQ3HHPODaMYLqHE57JKvT3w44+d+DjZQ3/RIBiJvqG/WX3IJnPu+90UDycaM+TT/mtdAj/pL8++cX/s1YOXg6/Sf+7mw6XWvgz7n4Qf1SFZmSZbO+Pmfh1nqc75mzzknpvVYjmZmwhTLH7+t2fIP0fESFZ+TUQi1dP4unqR7tdpW28NlYrmSPR3pyedl8cMvvFWEFhbHq6txr3+2hFRy46teFfO98Ld/CwdvvTVqMAsdK876iy+GA7feGuavuCLmYcu8jzwH02Pl2PkjPxIZDh//OKyjvNyYA7fdBns++lFAqmeeLP/p73kPbCAvlQUgOIOhfotwQWvps7Ic/+53YfGxx2D2rLOgGQ47bX/mT/8U+hs2wPFvfzt6NRaIs37xF2HdBRdED7n46KMdfsYPF/RGj5FXE0IOsbQn0EqgxwUaO/qJEDdeMP2GZqyI6V5nk6vHriILFOx+XWrm9NOhv3kzDA8ehMfJmg8PHIAB/T73n/9zmKLPOeInRxbTu3bBiPj22L/5N7Dywgsw2LgRzvrlX47CP0/yQX0aWGlYBh770Idg6YknokFiBdlA/b+RIgxK431cIfCujPEYo+yNx4HlTWPvrPOAmmAQnsibAVzTYxiXDoIIom3KspoXzuh7IJ2jvEOqOwId874rVg7en0WMGLdClvOyZeGKjz3wAAsYIv0dffDBmNYnK8L5WOj491HOs7QUjzs9/LWvxTT2TlwZM59/H//Wt2IoxvUcuuOOdosLexYOgyT8SCImnSxtMe+U1+2kdhxkWtweVvrSzvh57DvfgSN3343jhYXY5hF1/BHGygylDhc6HLadct114uo1jkDpoVHTj1ngS75cb8bpsEfvTd6WLaruO/7sU5i6gYyN8zD83AKc8vrX2z5v+RQ2XXttxOwsasEueaFdQJb7koUNB/Ng6ZlnYHnPnmggV/fuxeMPPRR5ObVjB/TSOWvLFHotP/00ch5WqiNJBnokA31+2pBw8vb3xUceifLE4fNRfhszywnfp/q5b5LMBe6zMckJp2nsXrZBeId56hp1G0HxUPgmB0HkwSGCvdBpFhbLUWZpkvtmzzFuNyvGc7iiV+F9XCFkS83AuGEKSGhSY6UuJFRNOSmltapMj62FslyxTFBjr5gt7QXLSMGEW9gNvfK0n764U5jOpHd7GJfMoQAJKuNZPXIk3p8mgeAQYctb3hLvT2/ZEvnMISmnczjJ6VMUHtR4jW7mDtXWmdhxZFmntm6FOQoNN1DczpaaLHIkwZaaQ89TrrmGBQr5O9+Y2rUrsPHYSmErGZJAoUzEz3R4bLXlh34ocEjE2FHxyBiZimxk/lFfJ4sOWk5i36kIJL6ns9czg+yo+PIkKtORM6rRTJy0j2Ik2s1q3kHerm+JfFD50vv1C1sggNg58wCVdwzyfhKxZtm1A8h4MzWifXYjuAeN9KA3Khlr9BRZ8bN/+7cjYLaqfJ1zyy0xhNnzV3+VnzlRjYjsa0SpmJ7LEysbDNqyLSPjk2k5T1pZ5Y6O98GER3nltf1lvAqUIMIqCk8CSIc4hkdac+efH3i8NU1Cvp4GoOzh2EAcJg/EBU77+Z8PHGtzKHEOTWAcu+ce2POxj8EWGjPF8QxZzLN+67dgdPgwPPXHfwwgDBVjIn2hZ2AUDh6jnUkxPPOKeTNPCkFhZ1h8+GE4g9I5DOxT3We///3hEIW1HNqe+jM/E/uEPfU5v/M7sEAW/oU/+zPYTmHsLGMiT3AWhUYjUvQnKMxRM0BB8aoIho4excOVPslYxeglA5qNHaIaLyXFEBmIimblpJRNysSegx/KO+t3f7c1wkSjT5NBZ//e78EChcJ7PvIRLdcZOxQ+Z+xqScC0lScEzOF0IkiqsLj9vC0EVJ6clogvPflk6zLJcnEnikKQ64cBCUVkSEpTdNpXACQGuTy5PsmTwrfI5EYfrMdXv593FWPxVh3sIbkPYXzHSqaQS3sSUEze8VM/BWf8+q/DNpqlo5mu2L5Favsz//k/w5DCDCb/2B/+ISx8//swJlqHbrsNWYC5PAklHv7KV2BMQsyh4tN//MeoaWs3j+gOklPtWKHZoMc/+MHWuhLfnqAZRQ5h+WnOR0j5YmxOQvPsf/kvcODzn4/tefJDH8IlGi9RmAcHvvQleJ4UhMs/+1//Kxz+6ldjvcdIuLKCqAijcCaLRonlVVrsI+5HFcaIB0ClSNyPeZU9qmIwhjHmUeOLmIeVTfUtGYQYOQzIE2p54+9xkgDax7IBVDglrXCeRiKWFFZk7NGTSB7tTVLxYNnSMg3Rrmhrq7z3L/4C937kI1ETecbqTLJK3FlP0hRdw49Xqq3xWCxJO0nAg67k/poSWuX1jMyglEfCL0yhVYu4dbl54Ko8EYgrhTwHnt2qUSCxbKK4LAjKczLz52nWhes5QNORCw88gOQNAlvuxLQ44cGzLDzz9hQJ3Kk0U3Pwc59rsc7Oho00c8ZCvZsGolOnnhqGzz0H/soVuiRU7Zin8c4RmvJmxdxKkx97//RP44CcJzdW9u6FvTSlupW8xDPJU02ddlqYpqnZp2hQvYtmoY58/vMsZIE9znoaDBNW3PWe9wQeO6zu2ZOnfENqF1ZCLvCWXvoI7FpKTG8ncUpIpkN2AN2/WdnAh20SbtHf8//tv4U9f/3XcRcHh45n/f7vx+WEJ//1v4bm+HHpT+GdlW8nxzm9vacnTOKRQohQX83V1kQzSN9zZQIQIzhxRPPVPHBna0MD3JynErO2b5hi98nuGCDGmR0vIS47WZdG8qS5bU7rJ0UCKG+DDUW40s/8RW/StHEpXzzATDiVy0YKVyJW7vCDNPsWVGiERQFhSJb+iX/1ryIp/pTZKlamJyj85PyUXnbKqkuHvOpesFkADn760204RDw4QutMkISOPRT/8bVQQjkk7xOeoFAkYqIQUOiQYOGTtMbAv58gDyg3sGDpnhGN6ZkPxRtkQyehlOKnGLjIz9Rv4NaGMI1n4kSJjFHbcUuRtSQDccY0giLZavs7jGnwH8fEPGnUKoiEq6BmCbPH0Ot9SpY78swJPWmwcUHJzGdXiOXUcckn99JvmT7w4UK7sFboxpkoZtIcDTZ5jYQHoLMU08fGL7eP6/IDXJxnPU0HhnYOHGZpepXTVkn5uBN4RiTSoXQaAGOg+XbOz2m8oATCjCQ4rU3AnK5/o7rPVpVDQ55zjxMA5DnYe/TbWavQJPzcgTzg5XEHt4Hi+WiBpZ2aVwpHW4nlted9HkBma9zFLnwOk2j4dOnDoOsv/RQcL2xfp3UU6WMVquoZ0BD7hngzTWtLA564oLESz0IOaLE3KsCRI8jhIH/vU6RBEwkxD4+Fpnnig/uX+p7z8HiDw0X2xjTZEHgcNcNyworRRiX2LymdNsCal6ZtRSbqf5p3AHHvln0rFWJ9Nqhol+4IsaLdh3ZIAZCnE9tDw7J744HlFM2nb6IZlvnrr4/A+2nKl+/xtfSd7+DcpZeGDRSWrON3lDBTSVCZATRt2FrFRx8NDa228/3ZV74ysGVnYWY6K5QHBR/ajYEI0B2DJHws5Lvf+944fRxSuDVDA9rTaJDLq8f7aNV4MU1V8rXrX/wLchntGImfrGRlPvjRj+LRr32t62ETe3K8q1b+W/OmdkdjevgnYW8q2F3IW/juFcU3E8xeCrP1CN3nROyQt4CAXo0fUojHRpBX0Xf/xm/E6Xv+zgaMJ0KG+/aFEVl5Viae7j+VeI2UP6TFQu7fFZo+ZpIrFELypMiuX/1VGFOZqExkjGL/Pv44+j6M8tF6jcwH74VDpX2av6XRJQcfBNF/28aNb6bv12camoWGNZZVOnaX36C3lZPQrKOV11Wy+At3353LDkmAebzCFpgZw2kcR1JszzEyx1qw8txzoUezFLzeEVfciRYzaomU6AiFOMT8wB0ShZmsUKTFM1uc5/HH4SAtVOLSUoeRfpFNvktbeCpx9pJLAqRX0fHgmtZx4sCYvdwizdPTvH9UnMgiyoMSHqR4m8KsMHzsMYSKImqeqVDWKG0abEINe55VdNilNaD7UHe03FN9G+RW0EjAzFxW+GYek1BhSnutruKQhLy/dWuIfceCz2sltKh46GMfw5Unn4yv9F6mtY8+eRdWIN51wfzl8PzgJz8JyzTjxlS5r9kDxUiCZYDK8XrU4c9+Fhbvuw9MmxkTRxUUSXCYu3j//TXs5rfhl+aRuyjxS+GPdu/+AH2/BSqZaqW0x6hc5nZI57OSMKluSBnSdoToJsniYJnJaA0UtFO6UQE4FmVh5RkR37hejxco4xH9LLTynkWVyeTHydjb271epAVFDPK+JGxn39qr1+sUJkuHNEERPI+YSu0BpxNAqrG6Vn5iZnBCPKlcCsZj3kl9vlbZ2i0KU0Pcu8UGhLwIFqXOF8sHrxXFwTotzKKdhm8NVwq34yws02knBfSYKV9UXzvWSN59LZgn06bkNX9fH5hdBmCV73rzHXhLUiyUfX9fmvHJxfIvkjluCAt9sNuTgwo7SHF4RdbUg267Mw8WgTxIB2+pz5yplONpt106fY9eBMfl5EjwhkMsKdfrPFNUkHr4UsVeo6/aUPMk3T5xYRUWPgJ2d2WD30wJKUQR1oSuYmWjletM5XR9HjuHUY0uU8O+vIw0uaNsSWonQMYeZw1l5jBhFx4GXT+PR9LETwXPpKsj6x5jfIlPT95pLiGtUiRTQRmg2ak0dS8muU7T+RLD7T51tAXUT/0l5Ht6MO6qQGsEwGOXONWUL9i1G+7QTmEQVrZr57Iau6dzIuy+rZ0LzbvOUdJ0jmC6BDVtFPwiZL7dqIQ+VHhv6qwoiMtrkzGvw5nDFzTtoOg7kQCPXXioJxf4qpxjHTQz9C0EqM5qOpnHvOKe482MKumq1i798FTKE5RFUgPkPD4BJVAelJ4C7LQh1WisQkLDJXoJvI+VDVrBrAaW6JXAb3ZMQljZhyiDVdTYOw8NqTLCB6E3EbvatChWVEI8v90dCn/N1GgoRsLzM6h2Zfpme373sudSqShBfSsbGxXftTapDZp5e7rxAqqNXKaxdYEe+6Dil/5ea4P5peXD9lPw/Qie7209cQyVX1Gt3YwGZzTXoFFTaQVg0UaneJo+ekvu7muauZNVvsblC8VaGTx6Vd1j9PUYq1KxZLmzVDl0nsRfqD3gJOzF5GceB03P8x26Vk9j9wNv396sAJX9arU6Kv3T4bHDXuq3/Gl1p+Q1C4lQ50W1r6r8FxoT5GgCHdHnUrxST35FdQKW10eEBsocua4AESV80PVpYdAV5XseAObwzb/UJV+NPAipGIhKcAT7BDwmL0geaWeF2Q57UTLPcF0WXZGWPhQALaHGY2//gt5ZkGloWu2P/FvXiRWD4vEo4QONI+PU9NN3wa6wmi0y8tk4jy/YTJuwvMG5ykso4TJ6Y+XamTHUsWe51Nhzm0B5XOEDdC/fH7ziHowlLgRBEQxmYc55hBQzagEOkskw0NEuhCZ3eMfqIUIlDbFr+brYVZW6bCgfus1tXixhZAd7sY6de1K37yiPvSNgCSAqPlesecbj+84YBFDeC7uD8mp/K6sqdWCik/vYY1eKHya3qYNdp3tsuj6tDCfA7vs2S5C/35HLyhUNTNrgiI3TYM0Y0X7fgAwCigUIXlSseTQaH+lgelaiYl2kQfnx1GQ5ZAdAeVQO7HgBioXOHqMorcHjw6hcrpAx2LMnSnhQp3vsKq+i0WIHMKPT4Ay0EgCTB72CQzZMxmj5+5n3to/RtM3T9YKJboU/5QlOxjKva9h1nY6mbxuq0EzJWbfeCdix0PfY0XzWLlW+bHBUSqE11D1nbRrgXTtn1CvD2oJ5JlQY0+q8tsygLDV2xhvlRBdEL9xthiB6AYWRwZ4Gr9otbdCKFmrfAWy8HCZhB+XalbxEvqB+3MfxM+dqdVEPIquhVWFqqRMnHBaN9Tc6JT7aiRJFP58mommk+vR7GzV2xRN91loIFaselOH0/ajbJP3WqbemKIovaOWgRAdYn1I3/OBd7QnkRK3Umqx7STpWx7u2WF1RA3bMbk5HH99OsIwIJtxLLYcqXcGfLT9AJyTB8pePQ+rgBqiZrCwMCNDBHvF1t9obA5G3ZmP3XCixgBq7yaPbKHXW8kGFl5rvALUNrhk76jRDunLai3Geas+fpqH6xBi5CnbX3902uWtNWXbYOzQcXelzOZxOD7JaywhgrKx4Fm0xsVgXjVaKZavNJ6iMeFU9baHmG7Nbt8LygQOxGvWODdBxeSaW6jRtLBj1zFtO7zAFwHoRwa9oh8La4NpkjugMijWorNOEq2AXI6owiqLLHY0vdLHHsvotU2LxekXYs6VsiQQBGXQdE7HboDnSBz196/iLOHk8Ehx2nQZgPFX83mjsXEupNzNR+gewO8biSz1EWOgovgsGAa/TUpnCq9aDY69Rlg7BxLeSBujcobeYXGjnDTfADAk+P/h02rvelYWbP3e+5S3xWJitV1yRaZx6883mHF8Ey2C0GPLMSq0MVrCjw67bYy6lYDI2Q52OWYvy9C26h6Gw8id1Ypngghw2amyqozw+LFY280GMVW5zuidpKVQo2EudWkir2KW1qmxQPOxg133hsYtouj4MHjtCd5YppssDb0r2XD2oaLWIQTMO18Sp0wSrVmBQ2OQlPoV80kR/+SlaY03o58H774f5Sy6Bwd69sPjcc7DxvPNw3bnnxgdlxqmxYf36sO0Nb4g7Nqe2b4cTusRKXfq2apQu0rHq5hBm6BYwcaujkwSz+/YrV4e3alhx4/q75MeCF/WYSedHj11b+pol1W1KedXhbdUr49eLdg57pzKNw2HHbreZ4mJ0QjcP+GoaNR4BR18Zr2B4eiLsthW1Z0vy3Z4Q0JqF7i9/uEr13wpvf964EWZ374aj3/oW9ubn4wEPs6efHh+kYX/Fu3/5uYAXPvtZOM5boiv1yPcNF1wAgw0bdENg46WX6nyhURZ9nu7xNbNzJ0yTR9N0N73qVaA8RtcDaQwqRu/wRdW31p9uh65TkqKFcrR07F6hl0mcCPuE8vl5ihoPAJRV7lrg/D24dhkck7FLmw3WZo1ooNNuh72CP9PEwgbdnxJGWfyYxzz58t4pnrvF3/IWgoplV3Foq2E5ag92hZSucToSZvX48cAPy/BxMHwaCD9pyAeX8Sc/OzB/2WUY0kkdvh7+vvmaa2DDxRfDDCkSP5rKh0hsu/56XH/++YFP8jhy332BH85J46Gw5brr4qFnp1x5ZWAl5QEnnxpIygpb3vQm2EQKxIecLTz6KCwTzbzlQbdZW1DVYm9Z3JpLB3vtu+rIkHmXsBtm1/jvXjLktt+A2ag4AbvBoydHQuXtAC6vKzfxNP+OBRbsWmbStaHpwemrAbaMerB9HGhgTHMEVHKVajjYR9g31cBzUwgLoUmku9jPvKAHO04LcOqZ/TC/OUCfJHk0BFhaQnj+yQaef6qBp7/Pj/qmiGCCfHvDr8BnBYpvuuqphkSX2WYoA682PeiGy7SgNIA/93/+8/GEEP7Bx5HyyRVLTz8N/KANn7e0/wtfiAeJkTcJix/5SAeqgDxy77245aabAj+0dfC225DfoHWEBH7zTTfBKoV1pCARHuPgOvhJuOeJXr/fx/lrromPyB7lQ+0o0wIp6pa3vhXwoYfieVARL5ZXTgt2UOMZdbgyuI4vrzQOaq4h8U0Yq5iu+VPopLdlARhLaAfEmTgGrQyhjBnaGEN5PpA+Q/TxdahhR9fnLiTTFtZgB4fd80ljV/Tg1NUeXLE0gDPo01qHUs1ufmJiuR+V5rHpMdw3N4bD/XYtb9AHvPy6fnj1dQPYtG1C8EQ0zrmofYxheQHh3q8QjdvHsLqs+Jbku81dLtNJaUwWX73+ltnZ6ynp+pol0FZDdXSo5JX+is+FxPvjccDFRRwvL7cKxduYeXs8Pwed0pUWi4DEj8GmTYFPH+GHnpafeCLm4+Ms91OYxko43Ls3T7tufcc7+FlzbFZWAj9CyyHeMo2Jhvv2kWkZxZM0Dn35y/FkQX5i0XiCstnNxMrGTpcVjdJ2t9VdEQheITr5Q3mFm/LGHc8EqUymF+zDTnLfn6gOaoNeEKVt79ewg2BHqK96Cza1mdB6NICOB3LYYZoqfcPCAK5dmoJN4wCTxNvxALaMe/AKUhg24sPTEN75f0+HV149gNl1J0OB5Gg6wJnn9+DCV/bhhacbOH6kWk+OhvSGSeELmbMvhz/YsuUW+vGBlFEX9pdmREmU3/yAVHqhaHbz7QNQVkHrtL1m17KJ98h51r32tfH5j8UHHliTdoDuq5hVKDKp01DUBDQAsEJxIp6Bsub6R62MeDFvrHACfYcd3e3QAQAnAFi/pe9ln+a8SIcvkryBXMLbjk/D9lEPXuo1e94izL1jCUYXbQKc6cNLuUbkoe76wirc+b9GGZx+HbvvUyUnt8ibriBbNbXF3TRarEN72Fu2hOk7zJx7LsxedhmMaHaLvch4/35YaZ9ZLxYGuq5Z7ql0a5U4IQTzNqLYwI0bA9BEwCJ5kfwmrRAm7aOy9KBso+FkrMfZLUbszvGjspRKIiavWIMJq8CvRWjPNmmjp88rFltRyTRMW5In1N5Lj1e0d0GLO1SMgVkz0byVE/v1boENNOz94aMzcEqzVpPWvmbOWYL119H48xDNMj1IMvXaHbTM8OLpDaYAXv+DU1FZvn7bqjGc6HgjaaldoX/DzMz1dPN6ECa4Txd/y71OWNEcOIBIgjt88MEYyw0uvBAGfOA0Kcvsm98cp397O3aEhpRo+tWvDuMXXjAE0dWtO8thapn3trfByle/iuStPDb9wxtIj10rT1BC7+kAVvK7P1Mvdus1eByNjrPQmED3x4vHboTZl6/khzXu5brQYq/mu/n4DGwdv3QPMti0Cqe8bX8cNEe6o4birjE0W+dcjSd/nX5uHw7ua+DAHqz3iYoe+Dct0t7G1cu26RZIXn1rp93y/issN/gzbycuCzftoXLtJ65873uwyopAA2s+V3f4jW/QHO7Gds57y5ZSDtUBxkIf1TZ3NJvU2u9UfoVmvJojR8rCX3fRrtAVK+mwZ7qpjQhg0qHgKdbU41G8Utg7f5DaKRjyTE3BHoTvhv8lXwd77h+VX7UpYzfTu5q++pQaDG8KYckXMgbHd4/90uUB7HwZIRa3auNbDnaUof/CIvT3L8FLvdij3PAj0zAzC5m/gll/h8TbNLGVLU1mOmp33V6oBSmUEVyO67lwOnEvngrIijJOJyw2NKPFOcYc0lFYNqb1j87LgKQW+ZrR5nrKxV7rkUcwdxRUrhIOSc91Z7SkKmsA9EYGwxupK7cZoLOfTT5dHSbcCqU+7ULQCXDQ2IX/+ortE8UEu8fJ7KlTSh/zyCPbpUKJyDwPc/8mK6s1ooqdac9Q516zPAUv55q75Bitu42q9waPHGFNhZd6bdwU4Oq3tPgMdjB9mHk26Expqu+IZiox+dqQ93ChuNsk8OPvfIcPfwg9Ph1lMMhTlw3v0WIluuMOCORNRp/5jJwjm2dCZH5L7+MSDOBi5kbP6Ji3mNnIUAsWllkl0O2UNuhZr8aGGwhqhks/6pnr8KxDLCvfcg+gnXous0+gx4GInbfyigfz4W7OoXnj72cl89iLwrV8c9hFYFqmpPFp+1mURfiZkGC5F8tctDLAKduNL+6ikrMXLk6+TSEXe5Tx7vXwUq+rrp+KA/nhUpJDyGOSwszEd3mPu9nyjt6iqwvRDNp0/iCnWvDLVUAOv9YCx/txjph5uLJRTZ6zADs/n8VFx8JaKJTyJCz1zlH5fJtdnb7t9kEzVUbTDtaAl/KFr1XsoIgimuc1yjhEKXBQtH1feVw4GXtL1/PdK5sYLOyudvvdtkHVd+Fw8NIVBPjE/FVaYxutmae/b+llKUmPJslOPy/Ao+1psLqvMnZuo5wqj5KQwykXpuTPEnJ0nlU2eRI91+n6vu+NYNyecusS5nh6AbFYf4VJtp6fDPY8UKtg12XMn78QTTgYdEji2ij5UR4ak6Yq7DX6msdKWYqA17ADTMavaBlDhgj+eQ90xgDT4qZgzn8pP0/5bnsZg3W+pk9fPmGe3uEVCKsIL+e64LL8oicrp+nie/GUeihGIWf0G89QW8q2QL7lVq9b2qge2HIdk74XbU0pjepwBLOtWzoRVVq28kqxjDWDSlgUFA4EK7g17KqejBXRbhkXOkpRNI8yz6QemZs/IfbcWgh+lR1Le/RjBha78j66LcoDxKSm4qGyIVPbQMRTd/o13RPSO8YvbR1DX4Ntw5PKFxZWATdNw0u9dp3ZF9NsDH3P8qUduOcZFwAzwMy/teC6dM20LHhdBhpl0da2U8bGM9IA1F4id6T2Gg4zKjyI6rVvAN1wQWPXlwspTDkoFYv19gNyo+zpluIXmqo8dkRtzW2I27X2QiMo6NYD2LrK80CI5rAKZZAM9mhVJ4SyqJRp/ctYE5GrNzc+qXxheQQv59owH2p9Dj5kHiSm+MMSCpAiqJ1KpMOwYr3UnqKg9h3lNB3qZAFwbg+hOw7phAFYf/imCxahk0crs2BTT9sZS6yxF9eb60VnYav8tMz3XgM8Tc+LTtlK+3354C1ljTUOu8ft6/OXDv36CC9bS8I0nlzG8Unmm3DxdLAJWwFMON6CCZCDR9QGCqrWqVhQZexVKAYdgZH87hHWGCYUa9bxUqAqSqGcoQ8u7s5KV3CYCy3J+Cl0BXvTtcomv8GO5fVyYoE79YCOjMCPJQrtxL/QbWMXgHZiWEyerj97CSxrGxp/7QEn/eku9G032KFrKMYv35EAjk6SyMusKz7m5GRWL/pgyjSQqdicWW+PtjDKFoY2X86DdS9jtzWoDkuH4em84JNSXhOGKTzGWwUbKkzyLAaLYLQyWBTI0FDbRSL2MpUKBiN0hK2Dxyi67hMo4zoEY+Fs27MTU62yXsZ6fzutmw9NROjyqaIoXY9SwZ5QRKzLk9TtRVzNcRorbF49YT6cG8DLuRaPoTZCobHRSTZg8h73UIJ2aW6HQTEN0Q4eM1F2S1NTMLtzZy6zvHdvPuE7vYEWlvjVZ+36BM5s2RIG7euG4xH9yy+8wFNuML19e+i3J9LjaGUlrOzbFxFNzc/jmH7TH0ssb5Pn73yafOCnHYmedH5Y4TcfLS7GennjJX3P7Znil/SkB7riO0+ef77FyC8U2rZN2hv4dQ/Dw4cZD/T5fSuUznRWaDEzKGMxt20bcn1iYGaIxjLvQk5cndm6ld8vjqtHj8Z2c9nZ004Ly7wjYTTKg8R1p58Ow/3748n4c3RfOo/rlW3+0hc1I4qolrtSHqWELS2azRTsTbs2g63py+XybyzVRZ6KUuUt9a0aZ2FhWdrTe3njBL5Gh6dg+owTz3Dhhpe3YPnsEyPtSbSBkrEj8ssF+28eDN4M7ftJXuyl+yr2zmUf+EBUFO7sjRdeCFuvvRYO3H13zHfaO98JZ//UT8G+22+P2+Y57YJf/mWYPuUUWLd7N+x485thSELEinXp7/1efN0CC8qON70JZnbsgKPf+x6c/u53B94+z0rDBM75R/8IVkjQWJAv/d3fzXWvO+MM4Pr23nYbbLv6alh/9tlw/PHH82LZhb/2azC9eTPM7toF2666CjdcdFE4/OCDsPPGG+HUt741Pl68nujwtvsVEtrL+bVu/P4LSjvrJ38SDnz96xGHXK943/sCv3l48amnovhc8lu/BXtuvTXzhX+vv+CCcJDf00JixfW+5j/8Bzj+/e/zo86xLZsuvzy24cA998QX4Vz+h38YHzvgOmdISY8//LCOrgzfxbLrjoHJwUio/G7Lp1ihct96wXyns5AJK6RzF4+nYWbNfZonuEK783etixVkdPoGeDnXXbeuwN5n4ySB5amOWEK4bZDe5D7JOHXBQZwKFMZJucisIQnVUx/9aM5LXiLT5dcyP/m3f8uP0uK+r341WqoVstRPf/zj0XJuuvJKGMzPx3LDpSV46m/+JtN5xR/8ATz7iU+Q0R2ZEH3EL85J6zwL+/cHXffFt9wSP8fqVQpN8oJM/5lPfSq+Hjrmff/785u09t55J+7/0pcyL9gLLRw4kNvFbxbmvKupbKybvMim170ODt53X3y707C8HyPw66v33XsvbKBPfpwA0st+9t51F2wmA3Dw3nsjjzZfdx3sIwWRccpR8hxSJyY+B+m4cunFQkyeJMCEvkxRaajsUmj7UoVuqp9z8Q7dunLCw/0hXNnMwku9Vp+fgWa5R569mZhntHMdvJyLRxlPPTwqfIDckNKeduYv8JikPN4Z8jg0Mi1AZyXaHNSOzuoM5QU6SZBX0wtF58iyH3/2WTjywAOw8yd+IkD7OmQcrq4Gfqw2sFWem+NQJuJaSe/7lmuZXxRJFylJWP+a18AU0eMO7Z96KowYP31fbctk7CSoMX3E75Nv36PXxtGMk18Y1L64NKYttrsAkPKGOfIqW8gj8f3Dt98e34/CQt9PCtzwS2f0e/noYmU/+LnP4e6f+Znw9H/6T7DCIWC6z+9XP/SlL8GQ8qy/6CI49s1vxomMRX6vIz8URiEn17XCL6ghHI28WpvCwS033RRVY5G86BJ5Kd8XukNDe2ke+Esrhg2lVVyukkNtfOVoddL43zcGQ3jV6gxMnZzdrSJd/u5GWPfqI/X7A1oDf5lK8t17h3Dk0Nh7Rt2v+ctA/9BCBlDdquEH/9qbROFzg/g21ibBPkiKQTF5fK85vwaMX+nG0esmsqazFJrxjuE9f/VXLZ1iiSNt+c2eg18nx+8wZyWZ4pdOppmzYfumrODLRE8yGmUsfK06JeSyHJ+zQvE4gd+/Hk954acq+VV0pDSbKRRbd+mlcPTOO+PYSdGjqGg18Jhhkcquv+IKwdIygIzA0pNPIo01wvYf//GoJPEFmpTnGHmTjVddFT3p4fvvh3UXX9y+94/+lkiJGAe3k7xWTdpMeKBnHGHyVVMG3Y+1/GvVXb2OhzF8mxTlitEMvNRr+eF1MHvRceit666ZrJ61EXDqpa/qr64g3PpJs5M4e1V38firHbjLAC+42DO5lzZ7OyMibl825RkGD9tnO9JwLsRDH0gAcOrCC8MMv6Tzla+EEY816PP4XXfhcGEhHPrkJ+MhDRtvuCG/ynolCbjQGbaCE0hJcIXGLOnlorDCljcJFQtdmmOJAiPWXF6LnEElD4aIOWnMT1Sm94aPaBC//MQTxiKzwO6jUHHD889j2LAhT17I5r7VZBwO/N3fwc5f+ZUYdvJvfvZ+RAp2yjve0W714cE4v7Yueb6lRx+FDdTuEbVjgbzNNIWkhLX1pseOGRxqr2Hmu5Js/aoPkOTs9cGMU1Bhz33urKgRHnChVwIEinYH111TS3DueArm8aUJM4dbx+8+BebfbLfLN6fMwPi0lzcW+cLHF2G4jLBlRw8O7Bl3sAMoi0H34hQwqhkRfbXDROkGBLWjNXSmIuk7W+F1b397TIvvwiOhX37wwXDs29+G4zQG4KL8rsT5n/7pAGSRk3Dh6p49gYQfZmlcsnzPPVGIiU4kyl7n2B13xO8kfGGsZmu4vByuN6b61t18MwiolTRmYO8wd9llsH5be3LA8JvfDKt81NGNN8aZN3498nHCN6axBI95pi+5BNbxDBcr5WOP4crDD4ekcEg4wiaaLJgmpR/yU5cSVspryEjAD3z84+EUmqDga4bas+/DHwZ+xzjD4jZGQ0GhU8ROdI9RCMrHLLEii0djuiOaWEg8CPzavAV+6Srk2UV97E0ej+i+0CnoBqO6X/M9rDmSQq8jG37WzI5naCq4gU/OHIN3rWyEDS9RUYZPzsHi/TSx85o27MLZAay+YjO81CiOr9s/uwz3fqUdFiy3cwPBjcXkamvh2cD3z85+APgZd7VVPquDWw1GZaGgzLTEJM1EZWWyxwll9qRLX+1VAujMoOTRZcYh9Gye9pamLSkOO6qgHF19Feucj4lJdUONPpQQ1Q94s+U15eWWmiHKja/QTvc0fbkbfOyk2oFBPYqg6raHyVX472Jp/ShFqcz3n0aS8m3CPvz4kAT9Zcx2rXv1UZi7dhmGr6Ap/vUvfW3kgTuW4VN/sVCwa6xdnsdfwC8WBWdZAMzo3tejrZbmY+6bAM7KqMxqNgSTN2oFt+z96XJStNxZSmMdT4wdFXYRZn2vYNd16LwTsEMFc80ma54Za+V4rHkGRk5jTl1e8OYuRksHAewmSih5g+rEqhfR9FR7g2uUbpw2nBnPIfL9H5k+DD+0ujHsal6agD/4jRnYN9+Da8/vwUZ48dfyIo1BPrEI93112WAX/k3CDtA2WF69UAyrPOBk9rVmLSuKUSyg7M3SygB6zj1ZNKkzpmsrhxULpKyTbUSxjMFhymXQex95eEm3pdQnC2qIyupK2zJOhT0vtk6wng67Tu/uUNZrDdZzB0PHtjl7BrAPRum6Qx506boAynhLOWdwytK2vl1oNHhKe7oyIN8BTB8coemaj0wdhktoWvjV4znY1pzcTuHnaWHy3v4SPNYbYnMXhO89vArXvW0OLrt6BmbnTuyZRqsI37lvSAqyAMcPN9bwhGB3v7ft9fLYLpz+9vT0LfTxAUU7K4IKGzrWN0B3elgqVJqYaXRtVS4DipauW4dCCM6q+vpzeAGdkAfRWsCTxd6ZAoIJZSo0NL8M9okNqhPLybaHTTZJDz4x+Ex1GqaIK2P44rBVCtvBf+jiiX2xu5mCC5tp2IntwH465aSRXzy18YkwZMWAvb1RBye3c2o2wKWvnYHzLp2CbTv7sG5jH6am22ODVpYbeOGpETzy7SE8/I1VWDzedNpb48tE7Ii3iCepeYbiqv0YJJije3Ja/M5eolicYKy6H3cUKyhpQVlB7UWCqqPFpusveIJ+JzlY7yXWMzhLKnW0gq2sJQo84ZuNva13U54Fi7cptIN2t8nBuAmT3EVCB1woFNR43Hq31HPBlG/ceEpwYFfOBSOg80aqTKEdOe1cMqr9lmXBpnZMDz7XWw30F9P5LEdeT2FiPDHP00iZd9ZLZew0MxXuv30Z7v/qUkwbDAKSkoRmzMsHyDtQjbf2B/JhxZNXsadrAKXjitWXfoBCC7TRQzP41C68TdBMwTTNiGVDoKKLoQhoKZOO0lR0Wuuf8jurWsY2SrETKFB0sxIH9R0gj28M9szD4pkKPczT4bkM6kJRvVELosFeTD5WPUQodReeKOwRjxW84LFnvivcrdkpPAXvOWx/ZKOp+jYERUd7CCj9ElzdwojCa9U2XjptNCtLO/S2gEnYY120MhA3MgRQTtmIY5GPBAnybzXu1DKm2TIQ5ifLZS4smqZnl6xF1BbTMhzM72Jxi5YKo71VKoYvGG8AYDAqjxCCv1cyFZrFQut0J7eWC9nKO4hiaX29UDqiHXKV/MF4jsLTTvgn+Eo3G+z6icFiuIJ7+ldZcFDYxQ+A82Kg+7UoQ8ZuxnvlnmDvehXnjbCMz6QeNOOpVC43ytUnhkNwZl4k5ROWcrrDbsbZ2djJxGXpQsFgoh9OHNC6w/5ersE1VlkTsMY+aIaA1uDJV20mJxgLXdSuYxG0xTQ0UymEE1y2HYYpcOLLY0dvTVMaaOxe4UBPfGhLDS8Ku8VVx2eMlMc+gZa5j5Py23Ld9ZOkOC5/Hfvke8UAulANwHhHb6GLARFBd1iM4hc68Wos9laxer0jAyL25UhLXFDFo2TNRLH73rm0Am/y2hZnDQdvNb2XQrWyr0JpZxlz44OK04OPnbVV0b/VpA+ACjXChLPACnajrNidQcsWUlk+jT28JOxQKvXYBdOEvKl669FUvX7GquYdtTDl9mZ+eL75cahqUw03gK8o3+vOHoqHk5BWRQVZMVR93gAG5QWD/ZQ2BS0rwE9SAHyqf/t4vPeNIWynxKsAvCxUPYOvY3J6EQ6cQCvjz/nL77UwBFdnrdyksjABexeLisVh8lXzbi8V+yR8jkKANTzBi+e7qhMnY9e0vF7WsIcTYKtdeus/wImxG5lTACdjt/WfiM9//qHh8E9ipDUzHv8mfXxLj71jpdbV6Xv6M97HxGCc4OaxEhLpGFN5s2zYYbKSyhddZ3DYi2XvXjXsoYI9nDT2Qi5iR2vFJB0VPV22tuMWsZSTOoWAxWIxnJDvqg7o9HEXu9w3eBWNKnZdf8ahIhZFVz6zh4UuX+tY3Kd4WpcXUcuRCxc7tMv9/xVmZ1kvIK7q3EaTDNc0zZ/1+33eCXg5ZZuLFIxSe5wTrWRxByF4plZpODdshCuEzsY9Qx+sMtVwrWURYVLeE2Dv0Aoy9bv2VaNv0l3esAZvAMpAFF8Odkd7UoQAFfqTrsyToKeVoYTRRvuh6nnW6tO15A9PUHati/MfJHx/NDsa/cYfDoeHYRKBWzZs2LE8Gr28Dfv/5/o/1/9m17jfX/7QwsKe4KKP/x/pa/36FhQYwwAAAABJRU5ErkJggg==\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/credit-card.png?");
|
|
4114
|
+
eval("module.exports = \"data:image/webp;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/credit-card.webp?");
|
|
4104
4115
|
|
|
4105
4116
|
/***/ }),
|
|
4106
4117
|
|
|
4107
|
-
/***/ "./src/assets/img/firstPageVerificationIcon/id-card.
|
|
4108
|
-
|
|
4109
|
-
!*** ./src/assets/img/firstPageVerificationIcon/id-card.
|
|
4110
|
-
|
|
4118
|
+
/***/ "./src/assets/img/firstPageVerificationIcon/id-card.webp":
|
|
4119
|
+
/*!***************************************************************!*\
|
|
4120
|
+
!*** ./src/assets/img/firstPageVerificationIcon/id-card.webp ***!
|
|
4121
|
+
\***************************************************************/
|
|
4111
4122
|
/***/ ((module) => {
|
|
4112
4123
|
|
|
4113
4124
|
"use strict";
|
|
4114
|
-
eval("module.exports = \"data:image/png;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/id-card.png?");
|
|
4125
|
+
eval("module.exports = \"data:image/webp;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/id-card.webp?");
|
|
4115
4126
|
|
|
4116
4127
|
/***/ }),
|
|
4117
4128
|
|
|
4118
|
-
/***/ "./src/assets/img/firstPageVerificationIcon/poa.
|
|
4119
|
-
|
|
4120
|
-
!*** ./src/assets/img/firstPageVerificationIcon/poa.
|
|
4121
|
-
|
|
4129
|
+
/***/ "./src/assets/img/firstPageVerificationIcon/poa.webp":
|
|
4130
|
+
/*!***********************************************************!*\
|
|
4131
|
+
!*** ./src/assets/img/firstPageVerificationIcon/poa.webp ***!
|
|
4132
|
+
\***********************************************************/
|
|
4122
4133
|
/***/ ((module) => {
|
|
4123
4134
|
|
|
4124
4135
|
"use strict";
|
|
4125
|
-
eval("module.exports = \"data:image/png;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/poa.png?");
|
|
4136
|
+
eval("module.exports = \"data:image/webp;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/poa.webp?");
|
|
4126
4137
|
|
|
4127
4138
|
/***/ }),
|
|
4128
4139
|
|
|
4129
|
-
/***/ "./src/assets/img/firstPageVerificationIcon/selfie.
|
|
4130
|
-
|
|
4131
|
-
!*** ./src/assets/img/firstPageVerificationIcon/selfie.
|
|
4132
|
-
|
|
4140
|
+
/***/ "./src/assets/img/firstPageVerificationIcon/selfie.webp":
|
|
4141
|
+
/*!**************************************************************!*\
|
|
4142
|
+
!*** ./src/assets/img/firstPageVerificationIcon/selfie.webp ***!
|
|
4143
|
+
\**************************************************************/
|
|
4133
4144
|
/***/ ((module) => {
|
|
4134
4145
|
|
|
4135
4146
|
"use strict";
|
|
4136
|
-
eval("module.exports = \"data:image/png;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/selfie.png?");
|
|
4147
|
+
eval("module.exports = \"data:image/webp;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/firstPageVerificationIcon/selfie.webp?");
|
|
4137
4148
|
|
|
4138
4149
|
/***/ }),
|
|
4139
4150
|
|
|
4140
|
-
/***/ "./src/assets/img/
|
|
4141
|
-
|
|
4142
|
-
!*** ./src/assets/img/
|
|
4143
|
-
|
|
4151
|
+
/***/ "./src/assets/img/id-outline.webp":
|
|
4152
|
+
/*!****************************************!*\
|
|
4153
|
+
!*** ./src/assets/img/id-outline.webp ***!
|
|
4154
|
+
\****************************************/
|
|
4144
4155
|
/***/ ((module) => {
|
|
4145
4156
|
|
|
4146
4157
|
"use strict";
|
|
4147
|
-
eval("module.exports = \"data:image/
|
|
4158
|
+
eval("module.exports = \"data:image/webp;base64,UklGRmYEAABXRUJQVlA4WAoAAAAQAAAA3wAAXQAAQUxQSCQDAAABoGrbdtxaOshCByVIKEh61RgJxcgoFwmpOpnEaP//P9S240b3uBoSERMgx3WPkFIK3skl9UPFch395QgZn9ZwKXzGllWvQ8LW6SK4Edt/uSvgClaWMaX0KitQ3AV4YXHqnXCN0wJG+yXwOcr6ODEk6yl4VvlUC4M3XmWjbDmybLsA+ptsmwmC6SqZdCOdSbacB42ydSTwhhvJJNtPZDjdLaPl5b5LJXGHntSz6Rttn90OHaju0BG4k/Vofb+DJ0X2LORhtkC+dhlJOFk3N27WHRJJuySSTia30rR8k+/vG78+gYy7fJFgtgcpuxTizdYRuB0U1JlNKul3CGQSuz9J3aGS0XCeIGwWQL3hJJNZN9JKJrF8JMgbFdBoOskE4yYj6CS29wxFP9IMrsaTxFDDB+ENnsT8IwNq0AX3a8XiS+zflQUA5SulNBas/M1dAOleKz4fnVzDtFmSy6jTJtnLlYzTRznK1fTjtKIOXi6p8yGlFB5O/md+y2h5uX9/+kbbZ/ft9Wh9/4+B3kNIfw8P75rSzY2b9QgahvLG+ncewr0VcitNyzfZ3Q8VW9fRt+F798Mb+9ZRTeczjpiD2XzGUWswmc/4dC6vcUgppTGX+QOgqLncE+vz8FBZf3sMeRXwdLbyFWtz72RbjXkNqrdUwso5OdlT+2kJSGZyGctTdLJ7nJbwpTbSisU5yTHjtICqFtKKxcHJUXVcQFX73N7gk5cjx4lhvltH3+BZ5diaGWa1jVbwQY6fGKpaRit4kjMmhuoM8wKPcs7IkO2SwKOcNTIkq3jwJOdNDN4mrrIkZ36y6kzyBM1y7kzwtIiCTnoynQi8QQqLcnbPsj0C6CjnfxJ4c1QyaQO6mWRrBNAoLUwE/kC3jJaXO8lkkjZOJB9H32j77EREQWMjIoE/TI/W9yIykkka2c1kMEUlfSskkfkw3dy4WUU8qDajI/BHkVtpWr6JyEiytDOT4TDfYSWxIT2pdriDakM6AjVDIFlamkkww5MMTXmSwQyZPJryIMUMM7k3RclshQ40tZVAjeBZk+9GeDQsGCFcntSw9A+ZT+32RgBWUDggxgAAANAOAJ0BKuAAXgAAAAAlpbuDAAAscnwB/APwA/QD+Afv73+JSvwZu+mLKZNbTfYrIF9i9GOrf0s1P42CJ06DMvVxUnYRQ5UCy5STFB5e4E91Xxq5agD31vo/fb/PVANMgxJSOiKFPYDTgNZ6+mjEYrzW9wJ7qvly2aGwubdoeAAA/v328Z6n///75xgf/0vI/+HI5/6WiMD/0tECw/9L8v99F3n/6Wjl/+lyH/7u7r/0umHx++UWH/0v6/+l08j/0tEAAAAAAFBTQUlOAAAAOEJJTQPtAAAAAAAQAEgAAAABAAEASAAAAAEAAThCSU0EKAAAAAAADAAAAAI/8AAAAAAAADhCSU0EQwAAAAAADlBiZVcBEAAGAGQAAAAA\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/id-outline.webp?");
|
|
4148
4159
|
|
|
4149
4160
|
/***/ }),
|
|
4150
4161
|
|
|
4151
|
-
/***/ "./src/assets/img/mask-neutral.
|
|
4152
|
-
|
|
4153
|
-
!*** ./src/assets/img/mask-neutral.
|
|
4154
|
-
|
|
4162
|
+
/***/ "./src/assets/img/mask-neutral.webp":
|
|
4163
|
+
/*!******************************************!*\
|
|
4164
|
+
!*** ./src/assets/img/mask-neutral.webp ***!
|
|
4165
|
+
\******************************************/
|
|
4155
4166
|
/***/ ((module) => {
|
|
4156
4167
|
|
|
4157
4168
|
"use strict";
|
|
4158
|
-
eval("module.exports = \"data:image/
|
|
4169
|
+
eval("module.exports = \"data:image/webp;base64,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\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/mask-neutral.webp?");
|
|
4159
4170
|
|
|
4160
4171
|
/***/ }),
|
|
4161
4172
|
|
|
4162
|
-
/***/ "./src/assets/img/mask-smile.
|
|
4163
|
-
|
|
4164
|
-
!*** ./src/assets/img/mask-smile.
|
|
4165
|
-
|
|
4173
|
+
/***/ "./src/assets/img/mask-smile.webp":
|
|
4174
|
+
/*!****************************************!*\
|
|
4175
|
+
!*** ./src/assets/img/mask-smile.webp ***!
|
|
4176
|
+
\****************************************/
|
|
4166
4177
|
/***/ ((module) => {
|
|
4167
4178
|
|
|
4168
4179
|
"use strict";
|
|
4169
|
-
eval("module.exports = \"data:image/
|
|
4180
|
+
eval("module.exports = \"data:image/webp;base64,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TcUk2po/oqSXaCqKiEIP4pgmFL8NjmoiIsuociTSOhfh7C8ksWpZJbiZSiKvGyOE5sDRaBK5z6X/DdEEQAuzNBJ69KfApw0FIH7L20V4MoNjoX0kgajSTozllm3IHaTLAlGqN6e0Tj8Cl9vIA9v7RY03Y4HbQ2wkm4NwuYuNL9E3pgSSfI5wAH+MDuNDqM2FfEhKQyfdBLrxIH7Tg9cZ0urT55SP6exjLgHYKDdPL38yq7xpBgHF77ckOc4CSr+a0sRg1lqM8LMDQkiWK478rBTIM5B3woh8x+NgF9m29971JmPQmsGty3nsFgDcTZCxMp4AgHsdGXGNqsWWC/VitO4+euGur5ozPryZP7qZhaT+xRkHf3PiecZJuL7COAvXHowQUkOfekGM/QUOx9PmH3l37pAX7Iz/CxlWUDgghAAAALANAJ0BKuYA5gAAAAAlpbuF2sRtHcGTxptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptExptEw8AA/v/97c8AAAAAAAAAAFBTQUlOAAAAOEJJTQPtAAAAAAAQAEgAAAABAAEASAAAAAEAAThCSU0EKAAAAAAADAAAAAI/8AAAAAAAADhCSU0EQwAAAAAADlBiZVcBEAAGAGQAAAAA\";\n\n//# sourceURL=webpack://PWUISDK/./src/assets/img/mask-smile.webp?");
|
|
4170
4181
|
|
|
4171
4182
|
/***/ }),
|
|
4172
4183
|
|